UKHAS Wiki

UK High Altitude Society

User Tools

Site Tools


guides:selecting_microcontrollers

Overview of the Different Options

Arduino

Generally accepted as the best choice for those with no previous experience of microcontrollers. Plenty of help and examples available. Many development boards available to suit.

The most commonly version is based on the AVR ATMega328 (see below). The arduino platform consists of a bootloader on the IC so that no special programmer is needed, and easy to use software and a simplified programming interface to control the hardware on the arduino. The advantage it gives to beginners is that it does not require the user to fully understand the underlying hardware, rather provides easy access to controlling pins, using the serial interface, timers and so on.

Program in c/c++

pros: best first step for beginners, doesnt need deep understanding of the hardware, plenty of support available

cons: annoying to debug, not as many features as others, arduino can 'get in the way', range of different ICs is limited

AVR

pro: comes in a nice set of packages, software unlimited and for linux, nice step from arduino cons: annoying to debug, not as many features as others

Program in c/c++

PIC

.asciiz “some text here”

MSP430

A £3 dev board/programmer is available to get you started.

ARM

ARM licence the core to companies which produce the final microcontroller, and so as a result there is a much wider range available than other options.

The two most suitable options for a basic tracker are the M0 and M3 cores. These are the lowest performing and lowest power options in the ARM range (but still out perform other options).

The learning curve is higher for ARM microcontrollers compared to other parts, and so not as suitable for complete beginners. Most come in surface mount packages

Pros: Very wide range available, with the options of very extensive peripherals, and for very low cost. Cheap development boards are also available to aid prototyping before committing to a PCB

Cons: The most complex option available, most are surface mount only

PICAXE

While it might seem like a very simple and easy platform, once you try to do anything reasonably complex youll be crying in the corner

Parallax Propeller

eww. Just use a raspberry pi

Note: I am aware that you can program the above in ASM rather than c, but if you intend to do this, you're not really the target audience of this guide

Part Comparison Table

Part RAM Flash Core GPIO (max) GPIO Interrupts UART SPI I2C ADC Timers Supply range (V) Program/debug Other Packages Cost (farnell)
ATMega328 2kB 32kB 8bit 20MHz 23 2 independent, 1 maskable on each port 1 1 1 10bit 1×16;2x8bit 1.8-5.5 UART bootloader; SPI ISP Cannot debug via ISP DIP, QFP, QFN £2.00
CC430F5135/7 2/4kB 16/32kB 16bit 20MHz 30 1 maskable on each port 1 1 1 12bit 2x16bit; RTC (32bit) 1.8-3.6 2-wire interface Integrated radio; DMA; flexible clocking QFN £3.99/£4.14
STM32F100C4/8 4/8kB 16/64kB 32bit 24MHz 37 16 mapable 2/3 1/2 1/2 12bit 10x16bit; 1x24bit; RTC 2.0-3.6 2-wire interface;JTAG DMA; DAC QFP, BGA £1.42/£3.30
guides/selecting_microcontrollers.txt · Last modified: 2014/06/19 15:22 by leobodnar