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 updated

Logo

This work is licensed under a Attribution-ShareAlike 2.0 Generic License