Using microcontrollers can open a whole new world to your circuits.  While keeping them simple and hard-wired rather than programmed is nice an all, there comes a point where writing a program for a circuit is a whole lot better.  Using MCUs you can automate an entire process, control motors or sensors, and when you need to make a change, you simply adjust the code and re-upload.

Although there are a lot of MCU choices on the market, I prefer the Amtel Mega and Tiny MCUs.  The main reason I prefer these is because we can use Arduino's free software to write and upload our program.  There are many other programs, but Arduino uses a C based language that I prefer to use because I think it's the easiest to understand and follow.  The Arduino software also includes tons of pre-written libraries that make using peripherals and almost anything else you might want to add insanely easy.

I find myself using the Atmega328 very often with my projects.  The Atmega328 is an 8 Bit high performance low power AVR microcontroller with 32K bytes of programmable memory, 1K bytes EEPROM, and 2K bytes SRAM.  It contains two 8 bit timers, one 16 bit timer, real time counter, Pulse Width Modulation, Analog to Digital and Digital to Analog converters, Master-Slave Serial Interface, Analog Comparator, I2C communication, Interrupts, Brown-out Detection, six different sleep modes, and 23 programmable I/O pins.  This MCU is jam packed with a lot of the good stuff, and has potential for some really powerful programs

There's almost no hobby/application that I can think of that you wouldn't be able to use it.  Whether you're making a remote control, a UAV, a light controller, an audio controller/speaker, a home watering system, a security system, motion sensitive camera's, face recognition cameras, GPS tracking, Wireless communication, Internet control/communication, or all of this combined together; there are tons of uses that you can add to your project.  I've used them for simple projects such as flashing LED's in a certain pattern, all the way to controlling a High Powered Rocket and a Scientific Onboard Payload with wireless and LCD screen responses.

You can start using MCUs with just a few simple steps:

1. Get the Parts.  You're going to need the MCU and some other small parts to get it running.  

2. Download Arduino software (arduino.cc)

3. Write your program

4. Wire everything up  

5. Load the program

So i would definitely recommend looking into using MCUs in your next project.  They are easy to use, the arduino software makes it very easy to write and program, they are easy to adjust when you want to make changes, and they can add so much to your project.

And like i said before, I prefer to use Amtel mega and tiny microprocessors, but there are tons of different MCUs on the market.  Some other options are ARM, MIPS, PIC, Prallax Propeller, etc, etc.  For a full list of types of microcontrollers look on wikipedia.  They provide a pretty good explanation of each one.

Check out my instructable about a Bare Bone System to get you started: Link Here

About This Instructable




Bio: Electrical Engineer, control systems, automation, small electronics, home automation, microcontrollers etc.
More by BooRan:Automatic Irrigation System Stand Alone Science Mission Directorate DSO Nano V2 Guide 
Add instructable to: