Author Topic: We made a portable USB scope for teaching our electronics design course!  (Read 18348 times)

0 Members and 1 Guest are viewing this topic.

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
Hey everyone!

We're big fans of EEVBlog, and one of our co-workers suggested we share our story with you guys. So here we go!

We teach an intro to electronics course at Northwestern University just outside Chicago, IL, and in this course we take students from not knowing what a breadboard is to being able to read datasheets and design their own circuits from scratch. It’s the first course in a sequence of three in our ME department that teaches kids about embedded computing and mechatronics design.

Our philosophy is teaching and learning by design. For that, a hands-on experience is crucial. But, in an academic lab setting, half or two-thirds of the class invariably sits back and lets the other members in the group do most of the work. We’ve all seen that. Our biggest challenge was to structure our curriculum so that every single student was forced to build their own circuits. You can only learn electronics if you do electronics.

Once laptops became ubiquitous, we realized we could use them as a screen to an oscilloscope, and instead have them build stuff in class, on their own. So, we started playing around with different devices.

We owned quite a few of these for a while, but they didn’t have a power supply, and cost $200 each. http://forums.parallax.com/attachment.php?attachmentid=104960&d=1384320228

We also had a lot of these, but they were also a bit expensive, like $400. http://www.mccdaq.com/images/photos_265/USB-1208FS_265.jpg

We just couldn’t find anything that fit exactly what we needed. Cheap enough that we could ask students to buy them outright, and capable enough to build basic circuits. Also, more and more of our students had Macbooks, and these things never worked on a Mac. So we built our own. It’s called nScope, and we just recently made it available to the public via Kickstarter.

http://www.nScope.org
http://www.kickstarter.com/projects/nscope/nscope-a-lab-for-every-laptop


But since this is an electronics blog, We wanted to talk about the electronics side of it.

We started out using a Microchip controller paired with an FTDI chip, (we use PIC controllers in our entire sequence). Turns out… FTDI is great if you have just your own computer… but installing their drivers smoothly on hundreds of other random computers is hard. So we changed it to HID. If a keyboard can work even in BIOS, we figured HID was a good choice for robustness. We’ve been really happy with that so far.

The other major issue was power supply robustness. No matter how many times you warn students about shorting +5 and GND… they’ll do just that. We had to build the power supply to be robust to a dead short. We implemented several different methods over the past few years, but we’ve settled on completely separating the 5V USB line from the external power line. We use buck-boost converters to create the +/- 5V lines, and we monitor the total power usage with a high-side current monitor. With our implementation, a short is detected and handled all without ever disrupting USB communication. We also use those +/-5V lines for signal conditioning, so we had to use surprisingly expensive capacitors to get the noise levels down… a lesson we won’t forget.

Other frustrating aspects of development include, but are not limited to:
  • Way more program memory than necessary, but very limited RAM on a chip
  • I2C in general
  • USB crashes not handled by an OS in any reasonable way (seriously… there have been days where the computer was hard reset 20-30 times…)
  • soldering 2x2mm QFN chips by hand
  • 16 bit ints in firmware… 32 bit ints in software…

Anyhow, if you made it this far, thanks for reading. Check us out if you’re interested!

http://www.nScope.org
http://www.kickstarter.com/projects/nscope/nscope-a-lab-for-every-laptop
« Last Edit: May 12, 2015, 03:57:36 am by nscope »
 

Offline charlespax

  • Regular Contributor
  • *
  • Posts: 191
  • Country: us
    • Pax Instruments
From our previous messaging on Kickstater you said,
Quote
The hardware, firmware, and software will not be open source. The API will provide total access over the hardware capabilities of nScope, and will be well documented with examples.

With your handy I/O I can see this in some automated production testing applications. Can you talk a bit about what hardware capabilities can be controlled and maybe some use cases you envision beyond education?

This looks like a wonderful project. I love small, quality tools like this. It would look great right next to my Saleae Logic. Best of luck to you  :-+

 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
Yeah, I can sure elaborate.  We didn't make it open source largely because it'd be more work for the user. We're designing nScopeAPI to offer complete control of the hardware. API users will be able to arbitrarily set outputs to any frequency, any voltage, and DC offset, any wave type. API users will be able to request input data to be read at any possible rate, any possible number of samples, and at any range of voltages.

If we simply released the source and no API, users would have to figure out what values to set to which registers in the firmware, and how to call the USB libraries to send the proper data structure to command the nScope correctly.  Our API handles all the low-level nitty gritty, and allows nScope users to control things in a much more workable space. After all, we use it for our junior/senior labs for data measurement and analysis... can't be too complicated.

Even we are impressed with our API capabilities.  Here's a link to our most impressive API demo yet.  In this video we demonstrate how the pulse outputs can be updated with the API at a 200Hz rate, while the inputs are read at the same 200Hz rate to implement a feedback PID controller.  This stuff is implemented in the API, not in the firmware, so from a users perspective, it's only about 20 lines of code, all running in a python shell.



One last thing... although our software won't be open source, we're writing it using just our API.  No feature in the software will use anything that is not completely accessible to everyone via nScopeAPI. In fact, just the opposite will happen.  Our software will not take full advantage of nScope's capabilities. Not even close.  It's why we're going to launch an online repository of python and matlab code for using nScope via the API.


 

Offline Esposch T. Tapir

  • Contributor
  • Posts: 30
  • Country: au
 :palm: :palm: :palm: :palm: :palm: :palm: :palm: :palm:
Are you serious?
This is almost the exact same product to what I've been working on over the past couple of months.
Hahaha.  Well, there goes my big idea.
Bachelor of Engineering (ECSE) with Honours.
Every time I write a line of code or build a circuit I am reminded that, in the grand scheme of things, I know bugger all.
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
This is almost the exact same product to what I've been working on over the past couple of months.
Hahaha.  Well, there goes my big idea.

Well don't stop working on it! We've learned so much from doing this, and that's the best part.  Keep at it, maybe yours will end up way better than ours.  At the very least, you'll learn a huge amount about the hardware-firmware-software interface.

 

Offline Esposch T. Tapir

  • Contributor
  • Posts: 30
  • Country: au
Well don't stop working on it! We've learned so much from doing this, and that's the best part.  Keep at it, maybe yours will end up way better than ours.  At the very least, you'll learn a huge amount about the hardware-firmware-software interface.

Yeah, definitely.
Can't give up now - especially as I'm doing it as a project through my uni (semi-independently) and plan on graduating.  Besides, our two products are a little bit different.

Good luck with the Kickstarter, though.  Looks like a fantastic product and you've definitely had a fantastic idea!

Thanks for the support!
Bachelor of Engineering (ECSE) with Honours.
Every time I write a line of code or build a circuit I am reminded that, in the grand scheme of things, I know bugger all.
 

Offline abigbell

  • Contributor
  • Posts: 17
  • Country: 00
"4 Msps, 12-bit resolution, 4 channels "

how do you get that with pic24 ?
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
"4 Msps, 12-bit resolution, 4 channels "

how do you get that with pic24 ?

With this:
http://ww1.microchip.com/downloads/en/DeviceDoc/30009312c.pdf

But... although it's specced at 10Msps... you can't actually do anything that fast unless you either underclock or overclock your chip.  And handling the data is so hard with the poor DMA design... shaking my head at Microchip sometimes..
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
The only screen shot that shows the function generator shows just 500Hz and it's close to the maximum slider value. At least you should be able to push it to what the scope could read back. Also the horizontal timing is just 100us per division so a signal that takes 2 divisions per period is what? just 5KHz?

You are already funded so its a moot point but the specs are vague since they don't show bandwidth or frequencies.


 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
The only screen shot that shows the function generator shows just 500Hz and it's close to the maximum slider value. At least you should be able to push it to what the scope could read back. Also the horizontal timing is just 100us per division so a signal that takes 2 divisions per period is what? just 5KHz?

You are already funded so its a moot point but the specs are vague since they don't show bandwidth or frequencies.

All of the screenshots and things are from last year's model.  We haven't finished developing this year's.  Our new function generators have much higher bandwidth, around 500kHz (but not fully specced, as it's not fully developed). Our pulse generators now go to the full 4 MHz. As for horizontal timing, last year's model is 10 times slower than this years.  Sorry for any confusion!

 

Offline ez24

  • Super Contributor
  • ***
  • Posts: 3082
  • Country: us
  • L.D.A.
Very interesting - thanks and I will follow carefully.

Also doing something similar but at a much less scale - just started on the PS and shorting problem and notification of it so an instructor can see that there is a problem from a distance.

YouTube and Website Electronic Resources ------>  https://www.eevblog.com/forum/other-blog-specific/a/msg1341166/#msg1341166
 

Offline alank2

  • Super Contributor
  • ***
  • Posts: 2185
I *really* love breadboard addons and it looks like you've got the king of them here!

Here is my breadboard meter.  It is very basic compared to what you are doing, very basic.  It does voltage, current, low/avg/hi/relative.

http://home.earthlink.net/~alank2/bbmeter/bb1.jpg
http://home.earthlink.net/~alank2/bbmeter/bb2.jpg
http://home.earthlink.net/~alank2/bbmeter/bb3.jpg

After the kickstarter, how much will your product be to purchase?
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Product looks very nice. Seems to be on the expensive side but am not sure what's goes into it.

We didn't make it open source largely because it'd be more work for the user. We're designing nScopeAPI to offer complete control of the hardware.

Why not providing the API and releasing the source code 'as is'. If your goal is education, the hardware/software source files may be useful as well and will allow mixing and creative applications.

 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
Why not providing the API and releasing the source code 'as is'. If your goal is education, the hardware/software source files may be useful as well and will allow mixing and creative applications.

Releasing the firmware and low-level software will only serve to make support more difficult.  Multiple versions of things floating around online, people reading "as-is" then still asking for help... all headaches that aren't worth the benefit.

nScope wasn't built to have hackable firmware. None of the controller pins are broken out, and none of the pins are re-mappable. In fact, all of the inputs/outputs are first put through carefully designed signal conditioning circuits specific to nScopes purpose. The reason it's so expensive is the complex analog front-end. The two function generator outputs are SPI controlled DDS chips (to which we completely expose all functionality via the API) and then sent through variable gain amplifiers and variable level shifters (again, completely controllable via API). The four analog inputs are buffered and sent through independent variable gain amplifiers and variable level shifters (completely controllable via API). About the only thing you could do is... change how we send data to the computer (which we have carefully optimized).

Suppose we did release it. You would need to pick through our code and figure out where and how we're sending USB packets, what the data in those packets means, and how to interpret packets on the firmware and software side. And then you'd still be stuck with input and output pins that are hooked up to circuits that were specifically made for conditioning nScope's input and output. Anyone who has the ability and time to manage such an effort surely would know that starting from scratch with their own controller would be much faster to implement a custom solution.

Our goal is education, but a better platform for teaching firmware/software integration is a controller dev board.  We also made one of those, but it's not for sale as it's not really unique...

http://hades.mech.northwestern.edu/index.php/NU32:_Introduction_to_the_PIC32
« Last Edit: May 13, 2015, 04:30:26 pm by nscope »
 

Offline wblackledg

  • Regular Contributor
  • *
  • Posts: 187
  • Country: us
Start shorting Rigol stock..  :-DD

Any idea what price point you will sell these at?
 

Offline ez24

  • Super Contributor
  • ***
  • Posts: 3082
  • Country: us
  • L.D.A.
Start shorting Rigol stock..  :-DD

Any idea what price point you will sell these at?

$89 (within 13 days)  right ?

https://www.kickstarter.com/projects/nscope/nscope-a-lab-for-every-laptop
YouTube and Website Electronic Resources ------>  https://www.eevblog.com/forum/other-blog-specific/a/msg1341166/#msg1341166
 

Offline tja

  • Contributor
  • Posts: 18
Releasing the firmware and low-level software will only serve to make support more difficult.  Multiple versions of things floating around online, people reading "as-is" then still asking for help... all headaches that aren't worth the benefit.

This looks like a great product, and I have backed it, but the above quote is just nonsense I am afraid. A million thousand devices have open sourced their firmware and don't have any problems - you simply state that only the official versions have any support, and ignore support requests for anything else.

Then, when the burst of activity delivering the initial batch has died down, and your thoughts are turning to software upgrades and bug fixing, you can have a loook at what the community has produced, and consider integrating that into the base product - you may be surprised!
 
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
If it's for students it should be open source, period. The curious ones should be able to browse the design files and see how you did it. I can see keeping it proprietary if you were a separate company, but you work for the school? Shame on you, everything you do should be educational.

The support complaints are bullshit, just don't support other versions. Provide them with the official software installed, and if you want support, you keep using it. But you're not doing your job as an educator if the full CAD, firmware, and PC source files aren't available.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Yeah, I can sure elaborate.  We didn't make it open source largely because it'd be more work for the user. We're designing nScopeAPI to offer complete control of the hardware. API users will be able to arbitrarily set outputs to any frequency, any voltage, and DC offset, any wave type. API users will be able to request input data to be read at any possible rate, any possible number of samples, and at any range of voltages.

If we simply released the source and no API...

:blah: So you think that there's a reason an open-source project can't have an API? Or that's what you hope we'll believe?
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
This looks like a great product, and I have backed it, but the above quote is just nonsense I am afraid. A million thousand devices have open sourced their firmware and don't have any problems - you simply state that only the official versions have any support, and ignore support requests for anything else.


First off, thanks for backing! Second, as a backer, would you personally like the source code? What would you do with it? Would you rather the source code for the firmware, the API, or the software? What would you do with each of these components (other than just see how it works)? I honestly believe that it would take you less time to build your own USB-scope than it would take to figure out how we implemented ours.

And to be honest, we're not totally opposed to open-sourcing the thing, but there's a few things to consider. First off, it can't actually be free software, since the firmware is compiled with a proprietary compiler, as is the Windows implementation, and the Matlab implementation. Second, we're not just going to post all the code online with no guidance whatsoever. That's reckless and dumb.  It invites people to steal it and completely rip us off, and it's honestly how 90% of open-source projects die.  Open-sourcing stuff takes effort, and we're not ready to put that effort in yet.  If 1000s of people own nScope, are engaged in an online community and are frustrated with the lack of customizability the API allows (and think, for some reason that the hardware is capable of more customizability), then yes, we'll take steps to open-source it.

But if you're dissatisfied that it's not open source just because you like things to be open-source for the sake of open-sourceness... then sorry.  We're only going to make it open source if there is a really compelling reason to. For now, an open API takes care of the need for customizability in a much more elegant way.
« Last Edit: May 27, 2015, 07:54:01 pm by nscope »
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
If it's for students it should be open source, period. The curious ones should be able to browse the design files and see how you did it. I can see keeping it proprietary if you were a separate company, but you work for the school? Shame on you, everything you do should be educational.

That's a blanket statement that's completely unfair to us.  We are educators but actually own this material outside the university. We also teach a class on how to build things like nScope (microcontroller programming), but we teach from the ground up. We do not feel that providing a completed project to tear apart is an effective way to teach.

Releasing nScope's source to teach about microcontroller programming would be akin to teaching an operating systems class by giving everyone the linux kernel and saying "go learn".  People learn by building themselves, and to teach microcontroller programming, we made a different board, (a programming sandbox). If you're interested about that one, it's here. http://hades.mech.northwestern.edu/index.php/NU32:_Introduction_to_the_PIC32

At the end of our mechatronics sequence we teach all materials that allow students to build nScope, and if there is a student that is interested in how we built nScope, we absolutely tell them exactly how we do it. But to be honest, most if not all of them aren't interested in building nScope, they're interested in building their own stuff... cars, drones, simple medical devices... you name it.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
I didn't say to teach with it, I said to make it available for the more curious students who want to learn. As one of those students myself who has always wanted to see how things actually work, I'm quite tired of you people always trying to shove us down an educational assembly line and push us back on when we try to see what makes it move. Pay no attention to the man behind the curtain.... You're intentionally obscuring your educational materials, screw you. That's not education, it's business.

"We do not feel that providing a completed project to tear apart is an effective way to teach" is not a reason to hide the product, it's a reason not to build a lesson plan around it. Some of us learn outside the damn lesson plan.
« Last Edit: May 27, 2015, 09:10:21 pm by c4757p »
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
We really do not mean to intentionally obscure educational materials, and we certainly don't intend to hinder your learning. In fact, we're providing a whole host of electronics tutorials and hands-on labs on our website, so that when students and hobbyists get nScope, they can have a framework upon which to build their knowledge of electronics.

As for how nScope is implemented, well what would you like to know? It's actually pretty simple. A software stack creates a USB data packet that is formatted to request data at a certain rate, on a certain number of channels, and for a certain length. This formatted packet is sent to the PIC controller, which then interprets the packet and configures the ADC onboard (as per microchip instructions) with the requested settings to record the data. The data is stored locally in RAM and then packetized and sent back to the software stack via the USB line. The software stack unpacks the returned data and stores it in the appropriate data structure for user access. If you have any other questions, we'd be happy to answer them.

In fact, we'll go further.  If you end up backing, and get one of these in the fall, and then you've played around with the API and built some custom projects, but are still interested in learning more about exactly how we packetized the data, how we implemented the USB stack (hint, it's just Microchip sample code and an HIDAPI), then we'll show you how. It's really not anything secret, it's just years of meticulous attention to detail, and tedious design and integration of firmware and software.
 

Offline tja

  • Contributor
  • Posts: 18
... would you personally like the source code? What would you do with it? Would you rather the source code for the firmware, the API, or the software? What would you do with each of these components ...

I personally would do nothing with the code. I would simply monitor what the community is doing, and see if any developments appear that I am interested in, in which case I would consider upgrading. Much as I do with my Samsung phone, and cyanogenmod firmware.

The major risk to me as a punter buying this thing is that the company behind it disappears/loses interest once it has been released, and development stops. Releasing the code is some (minimal) insurance against this.

First off, it can't actually be free software, since the firmware is compiled with a proprietary compiler, as is the Windows implementation, and the Matlab implementation.

Then if the community really want to do anything with the code, it has to be ported to an open source toolchain. Been done hundreds of times before.

Second, we're not just going to post all the code online with no guidance whatsoever. That's reckless and dumb.  It invites people to steal it and completely rip us off, and it's honestly how 90% of open-source projects die.

I don't really have any great desire for you to open source the software, I just take issue with your justifications for not doing so, which, as eloquently described earlier in this thread are just bullshit.

It's your code - you  are free to do with it whatever you want. If you don't want to open source it you don't have to. No need to try and justify that decision.
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
The major risk to me as a punter buying this thing is that the company behind it disappears/loses interest once it has been released, and development stops. Releasing the code is some (minimal) insurance against this.

We really appreciate this feedback, and we couldn't agree more. The way we see this, it could go two ways: 1. there's a lot of interest and lots more people want to buy it.  In that case we'll continue active support and keep closed source to ensure manufacturing and distribution is done on our terms, not somebody else's. or 2. there's not really enough interest to support any distribution. In that case we'll release the source so anyone who wants can build/buy/improve. Regardless, we'll keep using them in school for the next several years, as our need for nScope increases year after year.

And thanks for taking that risk on us. We sincerely hope you'll be satisfied with the job we're doing.
 

Offline timofonic

  • Frequent Contributor
  • **
  • Posts: 904
  • Country: es
  • Eternal Wannabe Geek
The major risk to me as a punter buying this thing is that the company behind it disappears/loses interest once it has been released, and development stops. Releasing the code is some (minimal) insurance against this.

We really appreciate this feedback, and we couldn't agree more. The way we see this, it could go two ways: 1. there's a lot of interest and lots more people want to buy it.  In that case we'll continue active support and keep closed source to ensure manufacturing and distribution is done on our terms, not somebody else's. or 2. there's not really enough interest to support any distribution. In that case we'll release the source so anyone who wants can build/buy/improve. Regardless, we'll keep using them in school for the next several years, as our need for nScope increases year after year.

And thanks for taking that risk on us. We sincerely hope you'll be satisfied with the job we're doing.

Bla bla bla...

AKA it's really a try of commercial and propietary product disguised as an educational effort ;)

I just hope someone copies it, makes it cheaper and the design available for everyone. You deserve competition ;)
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
AKA it's really a try of commercial and propietary product

Well of course it is... we're selling it on Kickstarter after all. It's an educational product, like a textbook.  But here, the textbook part is free and online, and the hardware costs money. And no, we don't want some Chinese businessman stealing our design. We worked really, really hard on it. We'll make it open source if and when we feel it benefits the users.
 

Offline 8086

  • Super Contributor
  • ***
  • Posts: 1084
  • Country: gb
    • Circuitology - Electronics Assembly
"Education" is naught but a business buzzword these days.  :-//
 

Offline ez24

  • Super Contributor
  • ***
  • Posts: 3082
  • Country: us
  • L.D.A.
OP have you posted here:  http://forum.allaboutcircuits.com/

if so can you link the thread, seems a more suitable place for you ?

tks
YouTube and Website Electronic Resources ------>  https://www.eevblog.com/forum/other-blog-specific/a/msg1341166/#msg1341166
 

Offline ez24

  • Super Contributor
  • ***
  • Posts: 3082
  • Country: us
  • L.D.A.
Quote
But here, the textbook part is free and online

Is this online now somewhere?  I cannot find it.
tks
YouTube and Website Electronic Resources ------>  https://www.eevblog.com/forum/other-blog-specific/a/msg1341166/#msg1341166
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
I did post at allaboutcircuits, but the moderator removed it because they felt that it was spam. Oops.

And about the textbook online, it's not actually done yet. We got a lot of requests to post tutorials and example labs. So we're going to post videos and PDFs that explain all about resistors, capacitors, dynamic circuits, op-amps and applications, digital logic, and creative problem solving with electronics. Our hope is that these will become a starting point or reference for lots of people learning basic electronics, even if they don't have nScope and want to use their own equipment.  We promised to do this in an update (stretch goal) that we posted a while back. If you haven't seen it, it's posted at this url.

https://www.kickstarter.com/projects/nscope/nscope-a-lab-for-every-laptop/posts/1221449
 

Offline ez24

  • Super Contributor
  • ***
  • Posts: 3082
  • Country: us
  • L.D.A.
Quote
I did post at allaboutcircuits, but the moderator removed it because they felt that it was spam. Oops.

interesting - maybe you could post it again in a few days as a completed KS
YouTube and Website Electronic Resources ------>  https://www.eevblog.com/forum/other-blog-specific/a/msg1341166/#msg1341166
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
But if you're dissatisfied that it's not open source just because you like things to be open-source for the sake of open-sourceness... then sorry.  We're only going to make it open source if there is a really compelling reason to. For now, an open API takes care of the need for customizability in a much more elegant way.

If your goal is education than open sourcing is the right thing to do.

You post suggests that commercial considerations trump the education goals and this is just as valid but don't try to obscure it.
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
I'm more just curious now.  Is releasing "The Art of Electronics" for free online the right thing to do? My answer is no. Horowitz and Hill are two professors who have spent years developing that content, and carefully presenting it for us.  In my mind, that deserves at least $100 per copy. We see our device in the same way.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
We really do not mean to intentionally obscure educational materials, and we certainly don't intend to hinder your learning. In fact, we're providing a whole host of electronics tutorials and hands-on labs on our website, so that when students and hobbyists get nScope, they can have a framework upon which to build their knowledge of electronics.

Every time I say you should do A, you say you won't because you want B. Bit of a non sequitur. I assume figuring out why they're mutually exclusive is an exercise for the reader? That sort of handwavey strawman-like arguing doesn't work on as many people as you think it does. It seems to me that the real answer is "we don't actually give a damn about educating, we just hope people will give us money" - but you can't seem to admit that. I've got no problem with salespeople, I just hate them when they lie and say they actually just want to help people. Heard it a hundred times before... :=\

Quote
As for how nScope is implemented, well what would you like to know? It's actually pretty simple. A software stack creates a USB data packet that is formatted to request data at a certain rate, on a certain number of channels, and for a certain length. This formatted packet is sent to the PIC controller, which then interprets the packet and configures the ADC onboard (as per microchip instructions) with the requested settings to record the data. The data is stored locally in RAM and then packetized and sent back to the software stack via the USB line. The software stack unpacks the returned data and stores it in the appropriate data structure for user access. If you have any other questions, we'd be happy to answer them.

In fact, we'll go further.  If you end up backing, and get one of these in the fall, and then you've played around with the API and built some custom projects, but are still interested in learning more about exactly how we packetized the data, how we implemented the USB stack (hint, it's just Microchip sample code and an HIDAPI), then we'll show you how. It's really not anything secret, it's just years of meticulous attention to detail, and tedious design and integration of firmware and software.

The details! Is it unimaginable that someone who's studying to be an engineer might actually want to know things like why you chose that individual capacitor as opposed to the fifty other that look kinda like it? Why your input frontend is laid out the way it is? etc...

Trying to teach students too many details swamps them, obviously. But then you people always seem to take that to the extent of forbidden knowledge. You should be making as much information peripherally available as possible for those who seek it.

I'm more just curious now.  Is releasing "The Art of Electronics" for free online the right thing to do? My answer is no. Horowitz and Hill are two professors who have spent years developing that content, and carefully presenting it for us.  In my mind, that deserves at least $100 per copy. We see our device in the same way.

When you buy AoE you get the entire text. I suppose "open source" might not be the word I'm looking for, but if you're not going to make it fully "open", all the same information should be available with purchase of the device at very least.
« Last Edit: May 28, 2015, 08:57:22 pm by c4757p »
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Is releasing "The Art of Electronics" for free online the right thing to do?

Depending on his goals. If it is to make money than probably not. If it is to make it accessible then definitely yes.

Nobody said that you have to open source it and keeping it close for commercial reasons is valid, just be honest about it. The reasoning that you gave earlier doesn't compute.
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
Nobody said that you have to open source it and keeping it close for commercial reasons is valid, just be honest about it. The reasoning that you gave earlier doesn't compute.

Well, apologies for apparent misrepresentation. We are a grad student and lecturer, and more than anything we'd like to see more people get their hands on electronics. We'd like to see nScope available on SparkFun.

In hopes that that happens in a way that still lands us credit, we're keeping it ours for now. If we can't find someone else to handle all manufacturing and distribution, we'll release the source and schematics.

Depending on his goals. If it is to make money than probably not. If it is to make it accessible then definitely yes.
I don't think these are two exclusive goals. I do not feel that H&H simply want to make money, I really think those two professors want to teach electronics to the whole world. And I think they do a great job.
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
It's their product and surely they have reached their goal, I don't think anyone is going to make them change their minds.

But to me, it's priced too high for no real final specs, but at 4Msps it's probably less than 700KHz on the front end.
Function Gen no specs either, dual AD9837 with 16MHz clock (B Grade) or 5MHz clock (A Grade) I will assume is the latest.
misleading 28-bit frequency resolution. Sure, the frequency registers are 28 bits wide but the thing uses a 10 bit DAC and the best wave it can produce might be well under 1MHz.
http://www.farnell.com/datasheets/1700956.pdf
But it seems good for audio range at least.

Not even an option for 3.3V or 1.8V outputs?

Neat idea but can be improved on, so the people asking for open source, well, here is your chance to make a better and cheaper product with a 10MHz front end or something like that, anything higher on a breadboard I'm not sure how well it will work.

Maybe even attach a screen and knobs to the thing so you don't need a PC.

I already got a Analog Digital Discovery that is many orders of magnitude better than this thing. For students it would be right at $100 and better value with a full sdk as well (no source either btw for the firmware)

 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
miguelvp,

Your assessment is quite accurate!  We actually tried the Digilent product out, and didn't like it for two reasons... no Mac OS support, and too many confusing wires coming out. No Mac support was the biggest... something like 70% of our students use Mac.

Good point about the 28-bit frequency resolution. We just copied that from the data sheet, as it seemed the easiest way to report that spec. We allow full control over these chips directly from the API, so whatever the user wants to do, they can.

The Analog Discovery btw, is very heavily subsidized by... someone. I don't remember the exact part number, but when we took that guy apart, just the ADC was a $50 Analog devices chip, not to mention all the memory, front-end, and processor.
 

Offline Mechanical Menace

  • Super Contributor
  • ***
  • Posts: 1288
  • Country: gb
Why would I choose your product over this?
Second sexiest ugly bloke on the forum.
"Don't believe every quote you read on the internet, because I totally didn't say that."
~Albert Einstein
 

Offline fake-name

  • Regular Contributor
  • *
  • Posts: 75
That's a blanket statement that's completely unfair to us.  We are educators but actually own this material outside the university. We also teach a class on how to build things like nScope (microcontroller programming), but we teach from the ground up. We do not feel that providing a completed project to tear apart is an effective way to teach.


(emphasis mine).

Wow..... just wow.

Easily 90+% of what I know about engineering I learned by taking things apart. Looking at the insides of something functional, and poking about is far, FAR more helpful then learning theory, at least for me.

If that's your opinion about good teaching, you're going to loose a LOT of otherwise good students.
 

Offline nscopeTopic starter

  • Contributor
  • Posts: 17
Why would I choose your product over this?
Neat product! It really depends on what you're trying to do. If you just want a USB scope, that one is faster. If you need logic analyzing, then you'd pick that one.

It doesn't work for what we need because it doesn't support Mac OS, and it doesn't provide a power supply. If you're just looking to prototype circuits on a breadboard, nScope is a better tool (with integrated power supply and all).
 

Offline timofonic

  • Frequent Contributor
  • **
  • Posts: 904
  • Country: es
  • Eternal Wannabe Geek
That's a blanket statement that's completely unfair to us.  We are educators but actually own this material outside the university. We also teach a class on how to build things like nScope (microcontroller programming), but we teach from the ground up. We do not feel that providing a completed project to tear apart is an effective way to teach.


(emphasis mine).

Wow..... just wow.

Easily 90+% of what I know about engineering I learned by taking things apart. Looking at the insides of something functional, and poking about is far, FAR more helpful then learning theory, at least for me.

If that's your opinion about good teaching, you're going to loose a LOT of otherwise good students.

Welcome to the standard education system! That's how most teachers think, that's one of the reasons people like me learn 70-90% the time by Active Learning fail at studies. They bore you with tons of boring practices and homework without proper understanding of fundamentals, not stimulating the creativity and personal interests of the student.

I'm a failed student because of that and having an unmanaged ADHD until recently isn't helping me too, but there's no better option. I just need to recover from this SHIT and build my own learning alternative while struggling to finish my studies, that is a very long path and I need to get incomes to do it (aka a job, something quite difficult in my city for someone with a proper job experience and I lack that).

I hope your project goes downhill and you stop becoming a teacher, you deserve to fail in a very dramatic way. You and the enormous percentage of bad teachers worldwide deserve to stop castrating minds and getting incomes for useless effort.

It seems unfortunately common tertiary teachers are indept at advanced pedagogy. I know a few good ones with good intentions, but they were totally ignorant about ADHD and how to help me at it. Teaching properly to each student requires lots more effort and resources, that's bad for profits! It easier to sell the latest magic cure (snake oil) to student fail by selling a "cheap" device that helps you at practices, but isn't so cheap and you finally learn nothing with it.
« Last Edit: May 29, 2015, 10:33:32 am by Circuiteromalaguito »
 

Offline Mechanical Menace

  • Super Contributor
  • ***
  • Posts: 1288
  • Country: gb
It doesn't work for what we need because it doesn't support Mac OS, and it doesn't provide a power supply. If you're just looking to prototype circuits on a breadboard, nScope is a better tool (with integrated power supply and all).

It's software is open source, it does support OSX, they just don't supply binaries, and the schematics are source available. I sort of get where you're coming from with the power but a fixed 5 volt dpower supply is very limiting, and given as the LPC Link 2 is itself a fully fledged dev board you can source power from that ;)
Second sexiest ugly bloke on the forum.
"Don't believe every quote you read on the internet, because I totally didn't say that."
~Albert Einstein
 

Offline eas

  • Frequent Contributor
  • **
  • Posts: 601
  • Country: us
    • Tech Obsessed
That's a blanket statement that's completely unfair to us.  We are educators but actually own this material outside the university. We also teach a class on how to build things like nScope (microcontroller programming), but we teach from the ground up. We do not feel that providing a completed project to tear apart is an effective way to teach.


(emphasis mine).

Wow..... just wow.

Easily 90+% of what I know about engineering I learned by taking things apart. Looking at the insides of something functional, and poking about is far, FAR more helpful then learning theory, at least for me.

If that's your opinion about good teaching, you're going to loose a LOT of otherwise good students.

Welcome to the standard education system! That's how most teachers think, that's one of the reasons people like me learn 70-90% the time by Active Learning fail at studies. They bore you with tons of boring practices and homework without proper understanding of fundamentals, not stimulating the creativity and personal interests of the student.
I'm a special snowflake too!  But guess what, so is everyone! You feel you should have been better taught in the way that you best learn?  Fair enough. I'd think though that if you do indeed learn from experience, then your experience would have taught you that different people best learn in different ways. Well, guess what, this one may not be right for you. Since you seem to have figured that out, why not move on.

Or, you could keep digging...

I'm a failed student because of that and having an unmanaged ADHD until recently isn't helping me too, but there's no better option. I just need to recover from this SHIT and build my own learning alternative while struggling to finish my studies, that is a very long path and I need to get incomes to do it (aka a job, something quite difficult in my city for someone with a proper job experience and I lack that).
I wish you luck. I was diagnosed and somewhat managed as a kid, but things went down hill for me. I managed to pull out and get a decent start in college, but was already slipping by the end of my first year. I was incredibly lucky that my transfer application was accepted, because the college I ended up at was just what I needed. I've had my ups and downs since then, but I'd say more ups than downs.

Here is the thing though, a good education changes you in ways you can't understand, because the instrument you are using to understand, your mind, is the thing that is being changed. It's been more than two decades since I graduated and I'm still having epiphanies about what happened in those three years. The educational environment I transferred to was quite conservative in many ways, every freshman had to read The Illiad, and learn about the ancient Greeks and Romans and the rest of the course catalog wasn't exactly fashionable. Everyone, including science majors, had to take a breadth of humanities courses. On the other hand, students were active participants. Some classes had lectures, but every class also relied on collaboration and discussion between students and professors. Every science class had a required lab section that took as much time as the classroom instruction, and every student had to do a year-long, original research project in their chosen major in order to graduate. I learned as much, or more, from my peers, than I did from lectures, or text books. It was one of the hardest and most rewarding things I've ever done.

Not all of my professors were great (for me, at least), but I had enough of them to realize that the work of a great educator is often subtle, and easy to miss. I mean, when someone just gets up and talks for 45 minutes like it is coming off the top of their head, or they come into conference, ask a question or two, take a question or two from students, and then sit back, only saying a few sentences for the rest of the hour -- you don't really think of the years they put into learning the subject, the weeks into developing a syllabus, the hours put into each lecture, how they shaped your mindset heading into the conferences, how they nudged discussion, how they've changed and improved their approach year after year.

So, while I consider it plausible that most of your teachers in K-12 and college have been poor fits for you. I think it is equally likely that you had a few great ones you didn't even notice, and a few more great ones that rubbed you wrong none-the-less.

Whatever the case, you've learned something important, which is that you need to take more responsibility for your own education. That will continue to bring challenges, and rewards, but really, what else are you going to do, what other choice do you have?

I'll suggest though, that as you do that, you save your energy. If you don't think something or someone is going to be right for you, and you aren't willing or able to keep an open mind about it, just move on, rather than spending any more energy on this sort of thing:
I hope your project goes downhill and you stop becoming a teacher, you deserve to fail in a very dramatic way. You and the enormous percentage of bad teachers worldwide deserve to stop castrating minds and getting incomes for useless effort.

It seems unfortunately common tertiary teachers are indept at advanced pedagogy. I know a few good ones with good intentions, but they were totally ignorant about ADHD and how to help me at it. Teaching properly to each student requires lots more effort and resources, that's bad for profits! It easier to sell the latest magic cure (snake oil) to student fail by selling a "cheap" device that helps you at practices, but isn't so cheap and you finally learn nothing with it.
Honestly?  How self-centered, petty, and hateful can you get?  Do you really have nothing better to do with your time, energy and reputation than spew such hatred at someone you've never met, who has never done anything to you and owes you nothing?


And more broadly, I don't get a lot of these comments. I don't know nscope, I don't know if he's a good guy, a good teacher, or a toy poodle. I do know that a lot of people in a similar position to my own nevertheless seem pretty shameless in telling him what to do with his time and energy. I know, I know, this is the internet, everyone has an opinion, and love to share it (yup, me too), and nscope invited comments. Still, I don't get the entitlement. Try meeting the guy half-way? He's clearly put a lot of time into this. He clearly has put some thought into open sourcing things, and I think its clear that he's open to reconsidering.

Here is my take:
On the one hand, its true worthwhile OpenSource generally takes effort, and its true that effort is a potential distraction given the current priorities driving the project. It's true that OpenSourcing the project without putting in sufficient efort could undermine the primary aims of the project by creating confusion among your intended audience. It's also true that OpenSourcing the project early could limit your options in the future.

I'd counter by saying, that while those statements are true, its worth considering probabilities. How likely is it that OpenSourcing will limit your options in the future? How likely is it that OpenSourcing early and without sustained effort will confuse your intended audience? As for effort and distraction, how much effort and distraction is likely if you just push stuff to github?

One stated fear is that OpenSourcing could limit future options if someone rips off the project and profits from your effort. I'd suggest that the chances of someone trying that are relatively low, because for someone to rip you off, there has to be something worth ripping off, and they need to know about it. I'll assume that you do have something worth ripping off, but probably not significantly more than any of dozens of other OpenSource projects that don't have the audience they (may) deserve. Moreover, that still leaves the second issue, which is that they need to know about it, and the better you are at raising the profile of your project, the harder it will be for anyone else to rip you off, and if they do, the easier it is to get secondary benefit from their efforts.

Next is the concern of confusion among the intended audience that could come from OpenSource. Again, I think this is only an issue if your project actually gets enough attention in the first place. If you get that attention because of a well designed and executed strategy, then I think chances are, people won't be confused. If you get that attention by accident, well, that's still better than the alternative, which is no attention.

Finally, there is the question of what it will take to do a good job with an open source release. I think that you have a lot of choice here, and I would suggest that you start by just doing the bare minimum: Push to github, create a very minimal wiki, create a mailing list or forum for people to congregate.  From there, you can do just about nothing until something happens. Once something happens, you can decide how much effort to put in. Keep in mind, that at least at first, "something" may just be a bug report, or fix, or answering a few questions. If you put this foundation in place and nothing happens, no harm done then, you can still "do it right" later, though chances are, you'll end up using the foundation anyway.

So, that's what I think about the potential downsides. The upside is also worth considering.

I suspect that your core audience isn't people for whom open source will be an important deciding factor. However, I think that for some of that audience, open source may still be desirable.

I think though that OpenSource will help you broaden you initial audience to include people, like some in this thread, who are curious and willing to spend some money, but feel uneasy about spending that money on a closed-source product from an unproven company, that may not be around in a year or two. OpenSource will win some of them over, even if they never do anything with the source. It will help win them over, even if they don't buy the product, which is more important than you might think, because...

I think the most important thing to consider though is the relationship between the first group, your core audience, and the second group. I think that people in the second group are going to be important influencers of people in the first group. For example, when a newbie comes to this forum and says, "I want to learn more electronics, what do I need, what kind of scope should I get?", etc, the people in the second group are the people suggesting options and/or providing feedback on options the newbie has already identified.

This is on top of other upsides, like bug-reports, code contributions, etc.

Best of luck!
 

Offline fubar.gr

  • Supporter
  • ****
  • Posts: 366
  • Country: gr
    • Fubar.gr
That's a blanket statement that's completely unfair to us.  We are educators but actually own this material outside the university. We also teach a class on how to build things like nScope (microcontroller programming), but we teach from the ground up. We do not feel that providing a completed project to tear apart is an effective way to teach.


(emphasis mine).

Wow..... just wow.

Easily 90+% of what I know about engineering I learned by taking things apart. Looking at the insides of something functional, and poking about is far, FAR more helpful then learning theory, at least for me.

If that's your opinion about good teaching, you're going to loose a LOT of otherwise good students.

I disagree.

You can't learn electronics by tearing them down. Mechanical stuff, maybe, but electronics are too complex to simply figure out how they work by just looking at them.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf