The Arduino Microcontroller

The Arduino Microcontroller

Considered a great tool for physical computing, the Arduino microcontroller has generally received good reviews. It’s been described as a tool to make computers that can “sense and control more of the physical world than desktop computers.”

The Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software, intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. Arduino is based on a simple microcontroller board, and a development environment for writing software.

Arduino projects can be stand-alone or they can communicate with software running on a computer (e.g. Flash, Processing, MaxMSP). In addition, the open-source IDE (Integrated Drive Electronics) can be downloaded for free (currently for Mac OS X, Windows, and Linux).

Arduino can sense the environment by receiving input from a variety of sensors. In turn, it can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller is programmed using the Arduino programming language, which is based on Wiring, and the Arduino development environment, which is based on Processing.

Hardware design information is available for those who would like to assemble an Arduino by hand or purchased already preassembled. The software can be downloaded for free. The hardware reference designs (CAD files) are available under an open-source license, which means you are free to adapt them to your specific needs. Additionally, variations of the Italian-made Arduino—with varying levels of compatibility—have already been released by third parties.

The Arduino Uno is the latest in a series of USB Arduino boards and is the reference model for the Arduino platform. It comes fully assembled and is based on the ATmega328. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs available via female headers (the female sockets accept standard square pin headers), a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller. All one needs is to get it started is to simply connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery.

The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter. The ATmega is pre-programmed with the Arduino bootloader that allows you to upload code to the ATmega328 via USB using the open-source Arduino development environment. The Uno uses an ATmega8U2 chip for USB connectivity, which allows faster transfer rates compared to using a USB-to-serial converter chip. It also doesn’t require any driver to be installed for Linux or Mac, although an .inf file is needed for Windows. This ATmega board also features a power jack (7V to 12V DC), a 2x6-pin AVR In-System Programming (ISP) header, and a reset button. It contains everything needed to support the ATmega microcontroller.

Arduino microcontroller is the Arduino Mega 2560. This microcontroller board is based on the ATmega2560. It has 54 digital input/output pins (of which 14 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller. Like the Arduino Uno, one simply needs to connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.

Here are the Arduino Mega 2560’s specific features:

  • Microcontroller ATmega2560
  • Operating Voltage 5V 
  • Input Voltage (recommended) 7-12V
  • Input Voltage (limits) 6-20V
  • Digital I/O Pins 54 (of which 14 provide PWM output)
  • Analog Input Pins 16
  • DC Current per I/O Pin 40 mA
  • DC Current for 3.3V Pin 50 mA
  • Flash Memory 256 KB of which 8 KB used by bootloader
  • SRAM 8 KB 
  • EEPROM 4 KB * Clock Speed 16 MHz

Depending on model, Arduino microcontrollers can cost anywhere from $30 to $80.

Learn the Arduino Microcontroller!