3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

How to choose a MicroController

Step 2Show Stoppers

Show Stoppers
There are a number design considerations that might immediately reduce your number of choices a great deal.

Programability and Reprogramability:

At this point in time, I would say that a hobbyist should only consider microcontrollers that have internal flash or eeprom program memory and can be erased and reprogrammed a substantial number of times. There are also micros that can be used with external memory (adds complexity and expense), UV erasable micros (usually quite expensive due to the special packaging), one-time programmable chips (potentially usable after you have a working design, but losing their price advantage anyway), and mask-programmed chips (essentially useless.)


Peripherals:

If you want your microcontroller to have built in Ethernet, CAN, USB, or even multiple serial ports, many common choices are going to be eliminated. Some peripherals can be handy to have: UARTs, SPI or I2C controllers, PWM controllers, and EEPROM data memory are good examples, even though similar functionality can frequently be implemnented in software or external parts.

It's convenient if output pins can supply reasonable amounts of current for driving LEDs or transistors directly; some chips have 5mA or less drive capability.

Physical packaging:

Hobbyists are somewhat limited is the packages they are able to deal with, from a prototyping, PCB fabrication, and/or soldering. That 256 ball BGA coldfire CPU may be sweet, but it's effectively unusable by mere mortals. Microcontrollers available in 0.1in DIP packages are much easier to deal with. Probably anything with a pin spacing smaller than 0.05in should be viewed with some skepticism.

Memory:

The size of memory may be an important consideration. Some micros have as few as 256 innstructions and 16 bytes of RAM. You can do a lot in that sort of space (believe it or not), but not everything. Moreover, while you can frequently upgrade to a "bigger chip", some chip families have relatively small memory limits imposed by their architecture, so even the biggest chip you can get will have only 8k instructions (for example.) RAM (data memory) is usually scarce in microcontrollers; some algorithms require substantial RAM to be implemented in a straightforward manner, and it may be worthwhile looking for a micro with a lot of RAM (or external RAM expansion capabilities) if that's the sort of thing you had in mind. (For instance, implementing TCP/IP networking protocols in a micro whose total RAM space is less than used by a typical ethernet packet is likely to be ... interesting.)
« Previous StepDownload PDFView All StepsNext Step »
4 comments
Apr 3, 2007. 3:20 PMVIRON says:
8031 and 8032 is cheap, can be pulled as a 8051/8052 and bootstrapped from 64K each of RAM and ROM, if you have an eprom programmer. Eproms are cheap nowadays and I once built my own eprom programmers and was able to erase them on a fluorescent "blacklight" tube overnight, when I was REALLY unable to afford new equipment. Every non-USB keyboard probably has an 8048 chip, which may be EPROM compatible, but with limited external memory and different instructions, and has been around since the days of ATARI 2600. MicroProcessor mode systems just require extra wiring for address and data buses and separate i/o and memory but are otherwise doing the same things as MicroControllers. The chips I just mentioned have both modes. Many others do too. The art of emulating unsupported i/o is called bit-banging, which is easy for serial (except USB, ethernet, and other monsters), challenging for video, and annoying are those monsters which have wasteful complex protocol overheads that drive me nuts and slow everything down.
Jan 8, 2011. 1:01 PMC.D33 says:
Entertaining, VIRON. I just happen to have an extra keyboard lying around. Could you direct me on how to build an EPROM programmer- the circuit side? This question almost 4 years later.
Aug 27, 2011. 8:10 AMcyyww says:
I am Chinese
My mailboxcyyww@sina.cn
Engineering Do not consider the cost We use the STC of the MCU
Heard of it,
Cheap and feature-rich
FLASH Great 32K 64K
Aug 27, 2011. 8:15 AMcyyww says:
I am Chinese
My mailboxcyyww@sina.cn
Engineering Do not consider the cost We use the STC of the MCU
Heard of it,
Cheap and feature-rich
FLASH Great 32K 64K
Aug 27, 2011. 8:15 AMcyyww says:
I am Chinese
My mailboxcyyww@sina.cn
Engineering Do not consider the cost We use the STC of the MCU
Heard of it,
Cheap and feature-rich
FLASH Great 32K 64K
Aug 1, 2011. 12:07 PMakusumakar says:
go for p89v51rd2 make a simple development board interfacing max232, it is d best

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
157
Followers
29
Author:westfw
Middle aged geek username also works at yahoo.com, mac.com, comcast.net, wharton-10.arpa