The Arduino Leonardo is a microcontroller board based on the ATmega32u4. It has 20 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs), a 16MHz crystal oscillator, a micro USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.
The Leonardo differs from all preceding boards in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Leonardo to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port.
The Arduino Leonardo can be powered via the micro USB connection or with an external power supply. The power source is selected automatically.
Each of the 20 digital I/O pins on the Leonardo can be used as an input or output. They operate at 5V. Each pin can provide or receive a maximum of 40mA and has an internal pull-up resistor (disconnected by default) of 20-50KΩ.
In addition, some pins have specialized functions:
-
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data using the ATmega32U4 hardware serial capability.
-
TWI: 2 (SDA) and 3 (SCL). Support TWI communication using the Wire library.
-
External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value.
-
PWM: 3, 5, 6, 9, 10, 11, and 13. Provide 8-bit PWM output.
-
SPI: on the ICSP header. These pins support SPI communication.
-
LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.
-
Analog Inputs: A0 - A5, A6 - A11 (on digital pins 4, 6, 8, 9, 10, and 12). The Leonardo has 12 analog inputs, labeled A0 through A11, all of which can also be used as digital i/o. Pins A0-A5 appear in the same locations as on the Uno; inputs A6-A11 are on digital i/o pins 4, 6, 8, 9, 10, and 12 respectively. Each analog input provide 10 bits of resolution (i.e. 1024 different values). By default the analog inputs measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin.
-
AREF. Reference voltage for the analog inputs.
-
Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
Features:
-
Microcontroller: ATmega32u4
-
Operating Voltage: 5V
-
Input Voltage (recommended): 7-12V
-
Input Voltage (limits): 6-20V
-
Digital I/O Pins: 20
-
PWM Channels: 7
-
Analog Input Channels: 12
-
DC Current per I/O Pin: 40mA
-
DC Current for 3.3V Pin: 50mA
-
Flash Memory: 32 KB (ATmega32u4) of which 4 KB used by bootloader
-
SRAM: 2.5KB (ATmega32u4)
-
EEPROM: 1KB (ATmega32u4)
-
Clock Speed: 16MHz