Comparison of the various Microcontrollers available as HandEEboards

 

Introduction.

The following four tables compare the various aspects of the MicroControllers which are (will be) available as HandEEboards. Currently there are three designs (4.01, 4.04 and 4.06) available as prototypes with the others hopefully following along soon.

The first table compares a set of features that I have chosen to call the fundamentals; the package and number of pins; the clocking method(s) and speed, and the architectural basics.

The second table compares the memory types and sizes, including all the potential variations of the processors that can be installed on the boards.

The third table outlines the built-in peripheral modules, such as ADCs and timer/counters.

And the fourth table compares how the chips are programmed.

Comparison of Fundamentals.

Processor, HandEEPackage,
+pins
Supply VI/O+I+O= totalClock modesMax Clock freq.Architecture,
# of instructions
Bus(es)
HC908QC/QB, HandEE4.01 SOIC16 3.0...5.5 V 13+1+0=14 Internal, external, external XTAL, external RC. 32 MHz (8 MHz instruction clock) Von Neumann, CISC, 90 8 bit
ATtinyx4, HandEE4.06 SOIC14 1.8...5.5 V (x4V versions), 2.7...5.5 V (normal versions) 12+0+0=12 Internal (8 MHz or 128 kHz), external, external XTAL. 20 MHz (10 MHz for V chip versions) Von Neumann, 133 8 bit
PIC10F2xx, HandEE4.04 SOT-23-6 or DIP8 2.0...5.5 V 3+1+0=4 Internal 4MHz only (1 MHz instruction clock). 4 MHz Harvard, RISC, 33 12i/8d
PIC16Fxxx, HandEE4.03 SOIC18 2.0 or 3.0...5.5 V 16+0+0=16 Internal, external, external XTAL, external RC. 20 MHz () Harvard, RISC, 35 14i/8d
MSP430F201x, HandEE4.07 TSSOP14 1.8...3.6 V 10+0+0=10 Internal, internal LP, external, external XTAL. 16 MHz (at 3 V only) Von Neumann, 27 16 bit
Propeller, HandEE4.11 LQFP44 2.7...3.6 V 32+0+0=32 Internal, external, external XTAL, external + PLL. 80 MHz direct, up to 128 MHz with PLL Custom,
83 (-4 future--need to check on this detail)
A 32 bit commutated bus which connects to 8, 32-bit processors (called cogs) in a cyclic manner.

Memory specifics. [1]

Processor/ HandEEFlashRAMEEPROMother/notes
HC908QC/QB, HandEE4.01 'QB4, 'QC4: 4 KiB
'QB8, 'QC8: 8 KiB.
'QB4, 'QC4: 128 B
'QB8, 'QC8: 256 B.
None.
ATtinyx4, HandEE4.06 ATtiny24: 2 KiB
ATtiny44: 4 KiB
ATtiny84: 8 KiB.
ATtiny24: 128 B
ATtiny44: 256 B
ATtiny84: 512 B.
ATtiny24: 128 B
ATtiny44: 256 B
ATtiny84: 512 B.
Can write own Flash pages...how useful is this?
PIC10F2xx, HandEE4.04 '10F200/204/220: 256 KiW[2],
'10F202/206/222: 512 KiW.
'10F200/204/220: 16 B,
'10F202/206/222: 24 B.
None.
PIC16Fxxx, HandEE4.03 '16F827A/818: 1 KiW [2],
'16F628A/819: 2 KiW,
'16F648A: 4 KiW.
'16F818: 128B,
'16F827A/628A/818: 224 B,
'16F648A/819: 256 B.
'16F827A/818: 128 B,
'16F628A/819: 256 B.
MSP430F201x, HandEE4.07 2.25 KiB. 128 B. None.
Propeller, HandEE4.11 None, uses an external 32 KiB I2C Flash chip if present (tests for it at boot). Central resource: 32 KiB. [3]
Each of the 8 cogs: 2 KiB.
None. Some of each cog's RAM is not general purpose but are I/O registers.
Notes for memory specifics table:
[1] Using IEC 60027-2 names for binary multiples.
[2] This is (possibly?) my own extension where W stands for “word”, and has a context dependant meaning (12 bits for the PIC10F family, 14 for the PIC16F series).
[3] The central resource also contains 32 KiB of ROM which contains a character table, some math look-up tables, the boot loader, and a high-level language interpreter.

Built-in peripherals.

Processor/ HandEESerial portsADCAnalog ComparatorTimers and counters
HC908QC/QB, HandEE4.01 RS-232 timed + separate SPI. 10 bit, 10 possible channels. None. 'QB: 1 16 bit with 4 compare registers
'QC: 1 as in the 'QB2 and a second with just 2 compare registers.
ATtinyx4, HandEE4.06 So-called Universal Serial Interface. 10 bit, various single-ended or differential channels. One. 1 8 bit, 1 16 bit, each has 2 PWM channels.
PIC10F2xx, HandEE4.04 None in hardware. 10F220, and 'F222 8bit, 2 channels. One in 10F204 and 'F206. 1 8 bit, no interrupts, any comparison has to be done in software.
PIC16Fxxx, HandEE4.03 '16F818/819: SPI or I2C
'16F627A/28A/48A: USART.
'16F818/819 10 bit, 5 channel
'16F627A/82A/48A: none.
'16F818/819: none
'16F627A/82A/48A: 2
2 8-bit and 1 16-bit.
MSP430F201x, HandEE4.07 USI “Supporting SPI and I2C”. MSP430F2012: 10 b, 200 ksps converter
MSP430F2013: 16 b, ΣΔ converter.
None (MSP430F2011 does have one). 1 16 bit with two capture/compare registers.
Propeller, HandEE4.11 None in hardware. None. None. Each cog has two counters. Each is 32 bit and each counter has its own PLL which can run up to 128 MHz.

Programming specifics.

Processor/ HandEEProgramming methodProgrammerProgramming software
HC908QC/QB, HandEE4.01 RS-232 timed data, using one pin for both input and output. HandEE4.02 in conjunction with a serial port. P&E programmer or Linux___ package (being tested).
ATtinyx4, HandEE4.06 SPI. AVRISPmkII (USB). AVR Studio supports several programmers.
PIC10F2xx, HandEE4.04 Microchip-specific serial timing. PICkit2 (USB). MPLab supports many programmers.
PIC16Fxxx, HandEE4.03 Microchip-specific serial timing. PICkit2 (USB). MPLab, as above.
MSP430F201x, HandEE4.07 JTAG. MSP430F2013 development system programmer portion (USB). Software that comes with the development system (TBD).
Propeller, HandEE4.11 RS-232 timed data or from an EEPROM. Any serial port (3.3 V TTL levels). Parallax software: ...