Microcontroller

From Medien Wiki

Microcontrollers are integrated circuits which have a (usually small) processor and everything a tiny computer needs to run in one chip: some memory to store programs, some memory to store data, and inputs / outputs - either analog or digital to interface with its environment. One popular example is the Atmel AVR series of microcontrollers which is found on the even more popular Arduino boards. There it is the main component which does all the calculations and also is the place where your programs are stored on the Arduino board.

Other popular microcontrollers are the PIC and the propeller platform - also worth a look are the MSP series of Texas Instruments as they are throwing cheap launchpad boards under the folks. (for below 5€ you get an entire board like the Arduino).

One important fact if you start programming microcontrollers is the availability of examples, libraries, community, etc. For the Arduino (and Atmega controllers) there's a large community and many open source projects and libraries are available. None of the other microcontrollers has a comparable amount of free documentation and help available.

Also the platforms you want to develop on plays an important role (AVR is usable on Linux, Windows, Mac, Unix which is different for many other platforms - for example a compiler might only run on a windows system). However all of the manufacturers of other platforms offer distinct technical advances or they are less expensive which becomes important for mass production or special purposes. For prototyping applications the ease of use and availability is more important in most cases.

For designers and artists who only occasionally need a platform to quickly create an interactive installation the Arduino is the way to go. For everyone who's interested in getting deeper in programming of microcontrollers or designing a mass product which has to be cheap or uses less power or needs more cpu power or more memory, etc. other platforms may become interesting.

Other intersting platforms to look at

NXP's LPCxpresso and Mbed
Mbed: develop online, many libraries available, download the compiled binary and burn it onto your board - ready)
LPCxpresso: Arm, Linux and Windows - uses Eclipse as IDE.

Propeller: 8 processors on one chip - its power makes it attractive for audio, video or other tasks where more cpu power is desireable.

Netduino Uses Atmel Arm cores, development based on .NET in C# - board is very similar to the Arduino boards.

Maple (Atmel Arm core) - similar board to arduino.

VUSB AVR library for USB devices - no standard boards but many open designs for different usb hardware.