Introduction to Microcontrollers
|
What could *YOU* make with a $1 computer? A computerized light show? An autonomous astromech droid? A vintage video game console? A flying drone? Let's find out!
|
Links to External Resources
|
What is a Micro-controller?A microcontroller (abbreviated μC or MCU) is essentially an entire computer system on a single, tiny microchip! While not as fast or powerful as your desktop or laptop computer, a microcontroller excels at being very small, very inexpensive, and can operate on very little power (great for battery-powered devices).
Microcontrollers are the heart of what's called "Embedded Computing" - a term used to describe using these tiny computers inside everyday things to make them "smart" - things like microwaves, cars, cellphones, TVs, and so on.
A microcontroller has many subsystems on board it's tiny little chip. The central part is the microprocessor core - it's the brain of the computer that carries out program instructions. Other subsystems include:
You don't need to worry about all these just yet. As we start to look into different brands and variations of microcontrollers, you'll notice that the reason there are so many different microcontroller choices is that they all come packaged with different combinations of subsystems, or are made to run with different power requirements or at different speeds.
|
What's an Arduino? Isn't that a Microcontroller?
|
An excellent question! Many people have heard about the Arduino (pronounced arr-duee-no) and may have heard them called a microcontroller, but actually, Arduinos encompass much more than that.
The Arduino is a full development system, or prototyping system. It includes a complete circuit board and support hardware to help make using the microcontroller easier. Some things that the Arduino provides to help you out:
|
This is the Arduino "Uno":
This is the microcontroller used in the Arduino "Uno": |
|
|
Arduino doesn't stop with just the hardware, though. There is also the Arduino integrated development environment (IDE) that runs on your desktop computer. This is where you write the program that becomes the instruction code that runs on the microcontroller. The Arduino IDE helps to make all these tasks very simple. Arduino was designed to be used by beginners and people who are new to the world of microcontrollers - such as students, teachers, amateurs, and hobbyists. This has made it a great place to start for many people!
|
For More Arduino Information
|
|
External Links:
|
These microcontrollers are popular with hobbyists and DIYers because they are cheap, versatile, easy to use, and most importantly - available in DIP packages! They are all based on the same processor core: an 8-bit AVR. The two main categories are the lightweight Atmel tinyAVR (ATtiny), and it's big brother, the Atmel megaAVR (ATmega). For the adventurous, Atmel also has the XMEGA line, with way more X factor, but these are not available in DIP packages.
Here's a comparison on some of the more popular versions:
Here's a comparison on some of the more popular versions:
| Image | MCU | DIP Size | Used in | Flash | RAM | EEPROM | Distributors | Approx. Cost |
|---|---|---|---|---|---|---|---|---|
|
|
ATtiny13A | 8-pin | "tinyCylon", "Lux Spectralis" | 1 KB | 64 B | 64 B | Mouser | $.94 |
![]() |
ATtiny85V | 8-pin | "TV-B-Gone" | 8 KB | 512 B | 512 B | Mouser | $1.62 |
![]() |
ATtiny2313A | 28-pin | "USBtinyISP AVR Programmer" | 2 KB | 128 B | 128 B | Mouser | $.94 |
![]() |
ATmega168 | 28-pin | "Arduino Duemilanove" (old version Arduino) "Ice Tube Clock" |
16 KB | 1 KB | 512 B | Mouser | $3.11 |
![]() |
ATmega328P | 28-pin | "Arduino UNO" "MONOCHRON Clock" |
32 KB | 2 KB | 1 KB | Mouser | $2.50 |
Are all microcontrollers from Atmel?
No way! There are LOTS of microcontroller families out there, so many it can be hard to choose! Here are a few more families that are favorites in the hobbyist community that you may be likely to come across:
Parallax BASIC Stamp
Board Cost: $29-$89; Features vary
The Parallax BASIC stamp is similar to an Arduino in that is it a whole development board, with all the support electronics taken care of for you. Just plug it in and you're ready to go! The BASIC Stamp was designed specifically to make learning about microcontrollers simple and easy. You program the BASIC stamp using the BASIC programming language. The microcontroller runs a BASIC interpreter on board, so all you need to do is load your BASIC code onto the chip to have it run - no compiling needed! Spin and Java language version are also available. |
Parallax Propeller
Chip Cost: $8
Features:
The primary programming language for the Propeller is called "Spin", and there are many other options available. |
Microchip PIC
|
ARM-processor basedThe 32-bit ARM processor is becoming increasingly popular in low cost development boards. It's powerful enough to run a LINUX kernel, giving you PC-like power in a tiny form factor. ARM processors are used in many smartphone and tablet devices. While we won't go into a full discussion of ARM architecture at this point, here are some popular ARM-based development boards to watch:
|






