guides:selecting_microcontrollers
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
guides:selecting_microcontrollers [2013/08/11 00:58] – created mbrejza | guides:selecting_microcontrollers [2014/06/19 15:22] (current) – [PIC] leobodnar | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | (not finished, I got distracted by TV then went to bed) | + | ===== Overview of the Different Options ===== |
==== Arduino ==== | ==== Arduino ==== | ||
- | Generally accepted as the best choice for those with no previous experience of microcontrollers. Plenty of help and examples | + | Generally accepted as the best choice for those with no previous experience of microcontrollers. Plenty of help and examples |
+ | |||
+ | 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 | ||
- | It is based on the AVR ATMega328, see below. The arduino platform provides a bootloader for the AVR so that a seperate programmer is not needed, rather FTDI serial dongles are used to program. An AVR without the bootloader can still be used with the arduino environment. | ||
Program in c/c++ | Program in c/c++ | ||
- | cons: annoying to debug, not as many features as others, arduino can 'get in the way' | + | 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 ==== | ==== AVR ==== | ||
pro: comes in a nice set of packages, software unlimited and for linux, nice step from arduino | 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, more expensive than others | + | cons: annoying to debug, not as many features as others |
Program in c/c++ | Program in c/c++ | ||
==== PIC ==== | ==== PIC ==== | ||
- | similar to AVR, blaa.... | + | '' |
==== MSP430 ==== | ==== MSP430 ==== | ||
+ | A £3 dev board/ | ||
==== ARM ==== | ==== ARM ==== | ||
+ | ARM licence the core to companies which produce the final microcontroller, | ||
+ | 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, | ||
+ | |||
+ | Cons: The most complex option available, most are surface mount only | ||
==== PICAXE ==== | ==== 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 | 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 | ||
Line 31: | Line 43: | ||
==== Parallax Propeller ==== | ==== Parallax Propeller ==== | ||
eww. Just use a raspberry pi | 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 | 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/ | ||
+ | | ATMega328 | 2kB | 32kB | 8bit 20MHz | 23 | 2 independent, | ||
+ | |CC430F5135/ | ||
+ | |STM32F100C4/ |
guides/selecting_microcontrollers.1376182694.txt.gz · Last modified: 2013/08/11 00:58 by mbrejza