Arduino Leonardo - image 1
1 / 2
Arduino·Dev Board

Arduino Leonardo

Arduino board with ATmega32u4 featuring native USB — no separate USB chip needed — allowing it to emulate keyboards, mice, and joysticks while maintaining full Arduino IDE compatibility.

Starting from

$23.00

Compatible Firmware

Specifications

ArchitectureAVR
CPU Cores1
Clock Speed16MHz
Flash32 KB
GPIO Level5V
StorageNo

Components

8-bit AVR microcontroller with integrated USB controller at 16 MHz, 32KB flash, 2.5KB SRAM, 1KB EEPROM

Bus Interfaces

UART
RX: D0TX: D1
SPI
SS: D10SCK: D15MISO: D14MOSI: D16
I2C
SCL: D3SDA: D2
USB
ICSP

GPIO Map

D0
RX / INT2
digital-inputdigital-outputinterrupt
UART
D1
TX / INT3
digital-inputdigital-outputinterrupt
UART
D2
SDA / INT1
digital-inputdigital-outputinterrupt
I2C
D3
SCL / INT0 / PWM
digital-inputdigital-outputpwminterrupt
I2C
D4
GPIO / A6
digital-inputdigital-outputanalog-input
D5
GPIO / PWM
digital-inputdigital-outputpwm
D6
GPIO / A7 / PWM
digital-inputdigital-outputanalog-inputpwm
D7
GPIO / INT6
digital-inputdigital-outputinterrupt
D8
GPIO / A8
digital-inputdigital-outputanalog-input
D9
GPIO / A9 / PWM
digital-inputdigital-outputanalog-inputpwm
D10
SS / A10 / PWM
digital-inputdigital-outputanalog-inputpwm
SPI
D11
GPIO / PWM
digital-inputdigital-outputpwm
D12
GPIO / A11
digital-inputdigital-outputanalog-input
D13
LED / PWM
digital-inputdigital-outputpwm
D14
MISO
digital-inputdigital-output
SPI
D15
SCK
digital-inputdigital-output
SPI
D16
MOSI
digital-inputdigital-output
SPI
A0
Analog 0 / D18
analog-inputdigital-inputdigital-output
A1
Analog 1 / D19
analog-inputdigital-inputdigital-output
A2
Analog 2 / D20
analog-inputdigital-inputdigital-output
A3
Analog 3 / D21
analog-inputdigital-inputdigital-output
A4
Analog 4 / D22
analog-inputdigital-inputdigital-output
A5
Analog 5 / D23
analog-inputdigital-inputdigital-output

Overview

The Arduino Leonardo is based on the ATmega32u4 microcontroller, which integrates a USB controller directly on the chip. This eliminates the secondary USB-to-serial chip found on the UNO, allowing the Leonardo to natively appear to connected computers as a mouse, keyboard, joystick, or virtual serial/COM port — all simultaneously if desired.

The board runs at 16 MHz and provides 20 digital I/O pins (7 PWM-capable), 12 analog inputs, and hardware Serial, SPI, and I2C interfaces. The micro USB connection handles both power and programming, with an ICSP header available for direct AVR programming. An onboard reset button and 16 MHz crystal oscillator complete the hardware design.

Because the ATmega32u4 handles USB directly, the Leonardo enumerates differently from the UNO — it briefly disconnects during a reset while the bootloader initializes. This behavior is important to understand when building projects that rely on persistent USB connections. The board is fully compatible with the Arduino IDE using the Leonardo board target.

The Leonardo's native USB HID capability makes it particularly well suited for projects involving human interface emulation, data input devices, and any application requiring the board to interact with a host computer as a USB peripheral.

Use Cases

5

Resources

Where to Buy

Explore more of the directory — popular use cases, firmware, and specs to browse next.