There’s a great deal to reflect upon from this past semester, but I think I’ll start by looking forward.
For the last two years, I have been delving deeper into the world of embedded systems. By this, I mean computational devices that exist in the world around us. Your microwave is an example. Mobile phones. The LEGO Mindstorms. Cars. Toys. Gadgets.
All of these things have little computers in them, and they all interact with the world in one or more ways. Sometimes they have buttons, sometimes displays, sometimes a multitude of sensors, or perhaps various kinds of radios for doing wireless communications: WiFi, or Bluetooth, or GSM (which is what many mobile phones use). I’ve learned how to program these devices, and have been thinking hard about how to make programming them easier and more robust.
But what I don’t have is good mastery over how you design and build these little devices. I can program them, but I can’t create them. It is all fine and good that I can write programs on my laptop that do interesting things with all kinds of data, whether that data lives on my hard drive and from the Internet-at-large. But when it comes to embedded systems, I feel like there is a great deal of power to be had from being able to combine the components—the processors, the radios, and the sensors—to create devices of my own design.
This semester, a group of five Olin students have agreed to help me tackle this learning challenge. Together, we’re going to explore the basics of digital design, and build a small device that is capable of doing something interesting. Ideally, I’d like it if the device was human powered—perhaps by a clockwork spring or similar. But to start, we’ll see what we can do in terms of reading documentation, drawing schematics, and assembling our own, tiny computational device that can interact with the world around it.
Go man go!
Awesome. Are you going to look into the Open Source Hardware world?http://en.wikipedia.org/wiki/Open_source_hardware
I really like Bug Labs: http://www.techcrunch.com/2007/11/19/video-bug-labs-begins-to-crawl/
And it’s corny but MAKE magazine had a nifty list of things you might like for this: http://blog.makezine.com/archive/2007/12/open_source_hardware_gift.html
Welcome to the deep dark world of embedded system design where a single phrase in one tiny paragraph (out of a 600 page datasheet) can render all your design useless
It’s all good fun though.
Having spent the last 9 months or so _constantly_ reading MCU datasheets (particularly PIC24HJ256GP202, MSP430F1611 and the AtMega8), I can honestly say Microchip has the best documentation out of those three. When it comes to the development tools, again Microchip is considerably better than the others, because:
–the MPLAB IDE is a simple, yet quite powerful IDE combining all the debugging/simulation/compilation/programming tasks. It is free.
–one programming device, the ICD2, can program (nearly) all of the PIC microcrontrollers (both 8,16 and 32 bit ones so no need to buy separate programmers for separate families). It costs around £70 but it is well worth the investment (you can actually get cheaper clones off ebay for cheaper but they don’t support the newer low voltage chips, which you probably will use if you go for the Microchip route).
–16 and 32 bit families are supported by Microchip’s GCC based compilers, which is free for educational/personal use (the code optimization drops after 60(?) days but who cares when you have 256kb of flash)
Combining the IDE, compiler, programmer and debugging/simulation facilities coming directly from Microchip, for just the price of the ICD2 (~£70) is a bargain
Also it makes life easier as you don’t have to deal with combining all the different parts of your toolchain (e.g: mspgcc/eclipse/Olimex programming utility :/ )
The only downside: MPLAB toolkit and the compilers don’t have official Linux/OS X support, but there are lots of people using them under virtual machines/WINE etc.
I’ve talked too much but that’s just my two cents. Because of my project, I have gathered quite a bit of bookmarks, containing all sorts of mcu projects etc. Give me a shout if you’re interested!
Have fun
Omer.