Musings on Open Source Hardware
I've written a bit about open source hardware before, mostly in reference to the Beagleboard. I'm pretty sold on the concept, myself. But, while open source has become a household concept in the software world, it's still fairly new to hardware. In the case of the Beagleboard, it's really cool because it can give a designer a big head start on using the Ti OMAP processor. Anything from the whole schematic down to just the BGA escape routing can be applied to any design.
But it's not just that. Say I have a little microcontroller board that I've put together. I use it for robots and other sorts of tinkering. It's PIC based and pretty simple. Right now, it just communicates with the outside world via RS232, but I want to add USB to it. I could start with Digi-Key and search for all of the various USB chips and spend hours digging through data sheets to see which one looks best/easiest to implement for my application. Or...
Arduino. Beagleboard is open source hardware based on the ARM Cortex-A8 OMAP3530 processor from Ti. Arduino is open source hardware based on an 8-bit Atmel microcontroller. They both have USB interfaces and I know that both boards work well and have been pretty thoroughly debugged.
Here's two examples that a lot of other folks have already spent time on. I want to spent my design time on the unique parts of my board - the things I've done to make it easy for the types of projects that I want to do with it. USB is USB. I don't want to spend my time doing something that a million other people have already done. I can take a look at the two approaches here and pick one and be done with it. I don't have to dig through web sites to find data sheets and then try to interpret the manufacturers reference design and hope it was fully thought out and tested. I hate that. Some chips come with great reference designs. Some don't come with any and some come with half-baked schematics that only work in the very specific test environment of the chip company's lab.
I know these two work. I can pick one, plop it into my design, make sure I give proper attribution and then just run with it. Very nice and a big time saver.
Eeny, meeny, miny, moe
Catch a usb-controller by the Vcc.