For this kit, you will need to select a microcontroller. There are many controllers available, but the important thing, the thing that makes this kit work, is that the controller needs to have a bootloader preloaded.
Now, you are going to ask: "What's a bootloader?" Go ahead and ask... Well, a bootloader is simply a program loaded into a special section of the controller's program memory, called the bootloader memory. It's purpose is to allow you to download application programs through the serial port. When your application comes in over the serial port from the Integrated Development Environment (IDE - http://en.wikipedia.org/wiki/Integrated_development_environment
), the bootloader then stores that into the main part of the controller's program memory. Once that is done, the bootloader allows your application program to run each time the microcontroller is reset, until you want to download another application program. What makes this so vital to our PDK is that there is no need for a microcontroller programmer (at least once you have the chip with the bootloader.)
There are several different bootloaders available, however we will just focus on a few.
Parallax is the company that got me going with microcontrollers, back in the '90s, with their BASIC Stamp (http://www.parallax.com/tabid/295/Default.aspx
.) This is pictured at the top in the picture. The Stamp IDE will establish a link with the Stamp controller and download your application over the serial port. The Parallax Propeller will also work here, but it will take a lot of precious space.
In addition to Parallax, Atmel produces many different microcontrollers; many of them with bootloader sections in their program space. In the photo, you can see an Atmel AT-tiny2313 microcontroller. MCS Electronics (the publishers of BASCOM-AVR - the most powerful BASIC language for Atmel's AVR family) has a bootloader for most of the AVR microcontrollers. You can burn that bootloader into your choice of AVR and then use that chip for this kit. MCS Electronics offer a trial version of their BASCOM-AVR which includes that bootloader (http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=99&Itemid=54
- click on the demo version link at the bottom of the page.) The IDE for this would simply be the BASCOM-AVR environment itself.
Many people have heard of the Arduino controller (http://www.arduino.cc/
.) This open-source hardware board is taking the control-systems world by storm. It seems like nearly everyone and their dog are using the Arduino for something (Hack-A-Day is currently at 853 articles involving the Arduino - http://hackaday.com/category/arduino-hacks/
.) While the full Arduino includes additional circuitry which makes it unweildly for this project (unless you produce your own PCB, which is certainly doable - http://www.instructables.com/pages/search/search.jsp?cx=partner-pub-1783560022203827%3Anpr2q7v5m6t&cof=FORID%3A11&ie=ISO-8859-1&q=pcb
,) there is a stripped-down version which uses basically just the chip (see http://todbot.com/blog/2009/05/26/minimal-arduino-with-atmega8/
.) This will let you use Arduino sketches, with the Arduino IDE, on your PDK.
Microchip (the producers of the famous PIC line of microcontrollers) also has many chips with bootloaders. For those of you interested in the PIC chips (or any other types of microcontrollers), you can do an Internet search for your favorite chip and "bootloader" for more information.