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=1384320228We 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.jpgWe 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.orghttp://www.kickstarter.com/projects/nscope/nscope-a-lab-for-every-laptopBut 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.orghttp://www.kickstarter.com/projects/nscope/nscope-a-lab-for-every-laptop