Poll: Which Microcontroller is Your favorite?
I'm currently looking at various microcontrollers for new products at work, and I'd love to hear what everyone is using and what the pros and cons of the various uC families are.
The ones that are looking best at the moment, for my purposes, are the Atmel AVR XMEGA A3 chips - if you've used them and have an opinion please make yourself heard!
I'm interested in all aspects: hardware, software, compilers, debuggers, etc. I've spent the last nine months or so writing firmware, but I'm very much a newbie in the embedded world.
5 comments
[ 4.0 ms ] story [ 22.6 ms ] threadI've not used PICs, but they are said to have a bigger variety of parts that have different built-in functions. So you might find a better suited part in that family.
68HCxx and 8051 is very old-school, you can probably buy the "best tested" compilers and IDEs for those. This can be an advantage if you are working in/for a very antiquated industry. On the other hand, you can get astounding high speed-parts (I think it's silabs that makes 8051 MCUs >100 MHz)...
You forgot to mention the plethora of ARM-core MCUs which are made by several companies. Even if they come in many varieties, they are identical regarding tool-chain and programmer (they share the same JTAG logic). So this might be a good long-term investment. Also debugging via JTAG is very good. But being a 32bit architecture those MCUs are more often "high-end" parts (especially compared e.g. to 8-bit AVR tiny parts...). If you want a lot of computing power, that's possibly a good way to go.
As for the 8051 family, that's what I've been working with in the last two projects - and I'd like to find a better alternative. Both in terms of hardware (the number of page selectors needed to cram all those registers into 128/255 bytes of address space is just wrong) and software (I've used IAR and Keil, and neither feels like it's evolved too much since 2002).
The bigger chips have dropped far enough in price that 8-bit uCs have almost lost their only advantage besides code compatibility with old firmware. I did recently use a $2 8-bit PIC when cost was the prime concern.
I recently used the TI/Luminary LM3S8962 (ARM Cortex-M3 cpu). Loved it. No goofy pin multiplexing, GCC, easy to use serial bootloader, lots of horsepower, great peripheral mix. Interrupt system much more logical than ARM7TDMI.
NXP LPC2106, not a bad chip, but better alternatives exist today. Too many power rails (core and I/O), limited interrupt system. Good tools, serial loader, plenty of memory on chip.
Renasas/Hitachi H8 series. Actually a 16 bit chip. Dirt cheap in some variants (but way too many variants to pick from!). CISC with good code density, decent low power (forgiving power supply requirements, too), good GCC port. Serial bootloader is a bit crufty, a few peripheral bugs, translated documentation.
Freescale MC68332: great chip, but it's technically a microprocessor (no onboard flash, at least in versions available to those of us that don't work for Government Motors...). It also includes the magnificent TPU (time processing unit), a work of art that's a subject all by itself. Long in the tooth but still soldiering on in many industrial applications.