Arduino
The Arduino is a popular and inexpensive 8-bit development platform, with three principal products (the Arduino Uno, Arduino Leonardo, and Arduino Mega).
Featuring 5-volt operation and impressive Output Drive, this microcontroller platform is not to be underestimated.

Arduino Uno

Architecture: 8-bit Atmel AVR
Processor: ATmega328P
Languages: C (Arduino IDE)
Clock: 16 MHz
Vcore: 5.0 V
Vio: 5.0 V
Power: 150 mW
Flash: 31 KB
RAM: 2 KB
GPIO: 14 (of which 6 provide PWM output)
Peripherals: 6x Analog-Digital Converter (5.0 V, 10-bit) UART, SPI, I2C
As an evolution of the first Arduino boards (first the Arduino USB, then the NG, next the Diecimila, the Duemilanove, and finally the Uno), the Arduino Uno has been refined countless times while retaining good shield compatibility and a stable code base.

Features

    Widely used; code examples are easy to find and comprehensive
    Form factor fits hundreds of aftermarket shields which provide ready-made functionality
    Phenomenal 40 mA output drive (Slew Rate is actually faster than the system clock!)
    Arduino IDE makes development relatively easy, and library is chunky but easy to use
    Bootloader makes the impact of programming errors small and reprogramming easy over USB

Shortcomings

    Low performance; performing Object Recognition on this device is out of the question
    Very little program memory or RAM available
    Peripheral set very limited; general purpose I/O are scarce (only one hardware USART, I2C takes over Analog inputs)
    Since surpassed for high-performance usage by other, form-factor compatible platforms such as the Netduino and LeafLabs Maple

History

Getting used to programming on the confines of an Arduino steeps one's understanding with the fundamentals of embedded program design. SIGBots therefore recommends that newcomers to embedded systems programming (particularly those on robot programming or electronics subteams) take their first steps on an Arduino Uno. The comprehensive array of code samples also makes it a good choice for personal experimentation.

Arduino Leonardo

Architecture: 8-bit Atmel AVR
Processor: ATmega32U4
Languages: C (Arduino IDE)
Clock: 16 MHz
Vcore: 5.0 V
Vio: 5.0 V
Power: 100 mW
Flash: 28 KB
RAM: 2 KB
GPIO: 23
Peripherals:12x Analog-Digital Converter (5.0 V, 10-bit) UART, SPI, I2C

Arduino Mega

Architecture: 8-bit Atmel AVR
Processor: ATmega2560
Language: C (Arduino IDE)
Clock: 16 MHz
Vcore:: 5.0 V
Vio: 5.0 V
Power: 250 mW
Flash: 256 KB
RAM: 8 KB
GPIO: 54
Peripherals: 16x Analog-Digital Converter (5.0 V, 10-bit), 4x UART, SPI, I2C
The Arduino Mega is an expanded version of the Arduino meant for memory or IO-hungry projects. It costs twice as much as a regular Arduino and is nearly two times larger, but fails to make significant progress in CPU power.

Teams Contributed to this Article:

    BLRS (Purdue SIGBots)
Last modified 4mo ago