
| 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 |
||||||