If your interested in building robots, LED art or jewelry, midi controllers, (robotic drum sets) or anything else you might think of, you will need to learn how to use micro-controllers. There are many types and manufacturers to choose from.
Here are links to a few manufacturers:
Among these and other manufacturers there are a number of paths of entry with varied learning curves. A popular and fairly new product is the Arduino. This is an open source range of microcontroller boards and a free software development interface written in JAVA which is base on GNU C++. The hardware is based on ATMEL microcontrollers. The software works on Windows, Apple and Linux operating systems and is real easy to use.
I use mostly Microchip PIC controllers. I like the variety of devices available from 6 pin to 100 pin devices. There are many ways to program PIC controllers. I started using the free MPlab IDE to program chips using assembly language and a serial programmer. I then purchased PIC Basic Pro compiler from MicroEngineering Labs. I really like this product and have been surprised by the speed of the code that is produced. My Midi controlled drum kit is currently running on code written in PicBasic Pro. MELabs makes great programmers and prototyping boards as well.
Microchip sells compilers based on GCC (which is free). I’m not sure how this works but I believe you are paying for header files and such. Nice thing is, you can download a student version of the C compiler which, after 30 days produces less optimized code but works fine for most applications.
I am currently learning to use these C tools for the PIC 32 series of 32 bit controllers. These chips run at up to 80 megahertz. These are powerful devices! Wish me luck, I’ll report here on my progress.
All these choices have related pros and cons so you will have to make a choice and jump in with both feet.
Do NOT be afraid!
Craig
#1 written by admin July 6th, 2009 at 17:33
It took me a bit of time to allow for all the special cases such as running status and system exclusive messages.