The Arduino Leonardo is another iconic board in the Arduino family, notable for several distinctive features:

- Microcontroller: It uses the ATmega32u4, which is an 8-bit AVR microcontroller with built-in USB communication, eliminating the need for a separate USB-to-serial converter chip found in many other Arduino boards.
- Memory:
- Flash Memory: 32 KB (ATmega32u4) of which 4 KB used by the bootloader.
- SRAM: 2.5 KB
- EEPROM: 1 KB
- Operating Voltage: 5V
- Input Voltage (recommended): 7-12V
- Digital I/O Pins: 20 (of which 7 provide PWM output)
- Analog Input Pins: 12
- DC Current per I/O Pin: 40 mA
- DC Current for 3.3V Pin: 50 mA
- Clock Speed: 16 MHz
Key Features of the Arduino Leonardo:
- USB Communication: The Leonardo’s microcontroller has built-in USB communication capabilities. This means:
- HID Support: It can act as a keyboard, mouse, or other HID device without any extra hardware.
- USB to Serial: The same USB port is used for both programming and serial communication with the computer.
- Pin Mapping: Unlike other Arduino boards, the Leonardo does not have a separate USB-to-serial chip. This means that pins like D0 and D1 can be used for other purposes since they are not occupied by serial communication.
- Compatibility: While it shares many similarities with the Arduino Uno, some code and libraries might need minor adjustments due to differences in pin mapping and USB communication.
- Design: It has a different layout than the Uno, with an onboard voltage regulator, a reset button, and headers for connecting to breadboards or shields.
- Power: It can be powered via the USB connection or with an external power supply, automatically selecting the highest voltage source.
Unique Capabilities:
- Emulation: Because of its USB capabilities, the Leonardo can emulate devices like keyboards or mice, making it ideal for projects involving human interface devices (HID) or custom USB functionality.
- Reduced Complexity: The integration of USB communication into the main microcontroller simplifies the board design and reduces costs.
- Lower Latency: Communication with the computer via USB is more direct, potentially offering lower latency compared to boards with separate USB-to-serial chips.
The Arduino Leonardo was one of the first Arduino boards to take advantage of the ATmega32u4’s USB capabilities, providing a unique combination of ease of use, cost-effectiveness, and expanded functionality, particularly in applications requiring HID emulation or more direct USB communication. It’s well-suited for projects involving USB peripherals, low-latency communication, or where the simplicity of its design is beneficial.
The Arduino Leonardo is a microcontroller board based on the ATmega32u4 (datasheet). It has 20 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs), a 16 MHz 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. It also has other implications for the behavior of the board; these are detailed on the Getting started with the Arduino Leonardo.
Related Boards
If you are interested in boards with similar functionality, at Arduino you can find:
Getting started
Find inspiration for your projects with Leonardo board from our tutorial platform Project Hub.
The Getting started with the Arduino Leonardopage contains all the information you need to configure your board, use the Arduino Software (IDE), and start tinkering with coding and electronics.
From the Tutorials section you can find examples from libraries and built-in sketches as well other useful information to expand your knowledge of the Arduino hardware and software.
Need Help?
Check the Arduino Forum for questions about the Arduino Language, or how to make your own Projects with Arduino. Need any help with your board please get in touch with the official Arduino User Support as explained in our Contact Us page.
Warranty
You can find here your board warranty information.
Tech specs
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 | 40 mA |
DC Current for 3.3V Pin | 50 mA |
Flash Memory | 32 KB (ATmega32u4) of which 4 KB used by bootloader |
SRAM | 2.5 KB (ATmega32u4) |
EEPROM | 1 KB (ATmega32u4) |
Clock Speed | 16 MHz |
Lengh | 68.6 mm |
Width | 53.3 mm |
Weight | 20 g |