Arduino duemilanove | 877 System (rev. 2.x) | |||||
MCU | Atmel Atmega 168 | Atmel Atmega 328 | Microchip PIC16F877A | Microchip PIC16F887 | Microchip PIC18F4680 | |
Architecture | 8bit RISC 131 instr. | 8bit RISC 131 instr. | 8bit RISC 35 instr. | 8bit RISC 35 instr. | 8bit RISC 75+8 instr. | |
Clock | 20MHz max | 20MHz max | 20MHz max | 20MHz max | 40MHz max | |
Instr. memory | 16Kb | 32Kb | 8Ki | 8Ki | 64Kb | |
EEPROM | 512b | 1Kb | 256b | 256b | 1Kb | |
RAM | 1Kb | 2Kb | 368b | 368b | 3.25Kb | |
Timers (8/16 bit) | 2/1 | 2/1 | 2/1 | 2/1 | 1/3 | |
I/O pins | 23 | 23 | 33 | 35 | 36 | |
ADC channels | 6 x 10bit | 6 x 10bit | 8 x 10bit | 14 x 10bit | 11 x 10bit | |
PWM channels | 6 | 6 | 2 | 4+1 | 4+1 | |
System board | ||||||
Data bus | n/a | 8 bit | ||||
Address bus | n/a | 4 bit (16 lines) | ||||
Digital I/O | 141 | 132 | ||||
PWM | 64 | 24 | ||||
ADC | 63 | 8 (5 on SPI/I2C version)4 | ||||
Comm ports | USB (FT232RL) | USB (FT232BL) / RS232 (MAX232) | ||||
Interrupt pins | 24 | 14 | ||||
SPI | Present4 | Present on SPI/I2C version4 5 | ||||
I2C | Present5 | Present on SPI/I2C version4 | ||||
ICSP | Present | Present | ||||
1= includes Interrupt, PWM and SPI 2= includes Interrupt, PWM, ADC, SPI and I2C 3= shared with I2C 4= shared with Digital I/O 5= shared with ADC |