UKHAS Wiki

UK High Altitude Society

User Tools

Site Tools


guides:selecting_microcontrollers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
guides:selecting_microcontrollers [2013/08/11 00:58] – created mbrejzaguides: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 avaliable. Many development boards avaliable to suit. The advantage it gives to biginners 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.+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. 
  
-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++
  
-consannoying to debugnot as many features as others, arduino can 'get in the way'+prosbest first step for beginnersdoesnt 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....+''        .asciiz   "some text here"''
  
  
 ==== MSP430 ==== ==== MSP430 ====
 +A £3 dev board/programmer is available to get you started.
  
 ==== ARM ==== ==== 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 ==== ==== 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/debug ^ Other ^ Packages ^ Cost (farnell) ^
 +| ATMega328 | 2kB | 32kB | 8bit 20MHz | 23 | 2 independent, 1 maskable on each port | 1 | 1 | 1 | 10bit | 1x16;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.1376182694.txt.gz · Last modified: 2013/08/11 00:58 by mbrejza

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki