But times have changed. Digikey lists over 16000 different line items under a 'microcontroller' search. Which one should a hobbyist with no particular prior experience choose?
Here are some hints. These are particularly aimed at someone trying to pick a microcontroller to use for the first time at least partially as a learning experience, rather than someone who wants to accomplish a particular task.
Update 2009-01-28: This Instructable was recently mentioned in some popular blogs, and is getting a bunch of new readers. Be sure to read the 'comments' made by other readers and the responses to them; there's a lot of value in those comments...
Remove these ads by
Signing UpStep 1: What IS a "Microcontroller" ?
- A Central Processing Unit or CPU. The part that actually performs logic and math
- Memory. Where the computer stores data and instructions
- Input and Output or I/O. How the computer moves data between its other components and the real world.
A microcontroller uses the same techniques to shrink the entire computer to a single chip (or very small module.) CPU, Memory, and I/O all in a little package as small as a grain of rice. Just connect up power and it starts doing its thing; computing and talking to the world. Usually the I/O on a microcontroller is aimed at "low level" hardware like talking to individual switches and LEDs instead of keyboards, internets, and displays (like your desktop computer.) A microcontroller is just the thing you want, if you want to talk to individual switches and LEDs...























































Visit Our Store »
Go Pro Today »




I've tried to diagnose the problem, but their help desk is no help and by this time (2012) they haven't updated most of their line. It is sad, because a lot of the chips actually have fairly nice features (high drive IO pins, to name one that is hard to find, and a good amount of timers, something I've only seen on SiLabs 8051s) but are impossible to use off of the development boards.
If anyone has solved these problems... I've got some ZNEO motor control µCs laying around I still want to use. Help!
You could also add http://maxim-ic.com to the free sample list, they have some nice things like DS80C390 and DS80C400 :)
http://my.opera.com/CrazyTerabyte/blog/2011/09/08/comparison-between-microchip-pic-and-atmel-avr-microcontrollers
I hope it's useful for other people as well.
TL;DR: In my opinion, AVR is better than PIC.
i've been using PIC AVR Zilog and now Rabbit
Regards,
Dave T.
ATmega8535 | ATmega16 | ATmega32 | AVR USB ISP Seller
FYI - this link is broken: "Trip report to an Early TI seminar"
Double Plus Good.
You will be missed T_T
Step 10.
Device list at AVR Freaks
You could look at the modules that claim to run JAVA or JAVA-like programs, for example: http://www.systronix.com/store/tini.html
Or linux/android Single-board computers (Beagleboard ?)
Or even a conventional laptop or DC-powered PC-class machine, perhaps with things like Arduinos to use for real-world interfacing...
Anyway: that link isn't bad, it's just (now) an empty page (with a referral to a relevant page at Atmel.) There are hints that it might come back, so I want to leave the link here alone...
You could look at the modules that claim to run JAVA or JAVA-like programs, for example: http://www.systronix.com/store/tini.html
Or linux/android Single-board computers (Beagleboard ?)
Or even a conventional laptop or DC-powered PC-class machine, perhaps with things like Arduinos to use for real-world interfacing...
Before the Arduino, these things were black boxes, and while I had an interest in electronics I had nearly zero working knowledge. Now I feel relatively confident that I could read some reference material on an Atmel chip and work out how to utilize it in a project without the Arduino platform. Other brands would likely take a little more work getting used to the differences, but it now definitely feels within my reach, whereas before I didn't even think such a thing was possible.
That's the power of boards like the Arduino and other hobby boards - they abstract away the nitty gritty, but it's only one layer of abstraction, so that learning the nitty gritty isn't a huge leap if that's what you want to do. I'm pretty sure that's what I'm going to do, but like I said I've only been into it for about a week so far. Even without learning the absolute bare metal workings of the chips, though, the Arduino and others can do anything their respective chips can do, you're simply locked in to certain chips lines.
The hobby boards allow you to play with microcontrollers without making you start from scratch, which is a significant barrier to entry. It makes microcontrollers significantly less accessible. Plus, while the brand-name boards may be $30+, you can easily find kits for less than $15, and if you move certain functionality off board (like the USB or Serial connection) you can drop it down to below $10 - about what you'd spend to use the same micro-controller without the platform. And once you know how the board works, incorporating it directly into a project board is no problem at all and does not cost much, if any, more than it would to use the microcontroller directly. At that point you're only paying for parts.
You've helped my decision alot, as I was using AVRs from Atmel, and was experimenting with Arduino, but was thinking of switching to (or expanding to) Pic, as it is far-wider spread, and more comprehensively documented, and you guide re-affirmed this for me.
As I type this, I've ordered a Pic starter kit, including some Pic chips of various sizes, a programmer, and a book detailing some simple, beginner-level circuits. Thank you very much for this extremely well-written instructable!
Bravo!
Excellent Job.