# 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.

## Quick Facts

- **Brand:** Arduino
- **Board Type:** dev-board
- **Price:** ~$23
- **Product Readiness:** developer
- **CPU:** ATmega32u4 @ 16 MHz
- **CPU Architecture:** AVR
- **CPU Cores:** 1
- **RAM:** 2.5 KB
- **Flash:** 32 KB
- **Power:** 5V via Micro USB or 7-12V DC barrel jack
- **Operating Voltage:** 5V
- **SD Card:** No

## Open Source

- **Firmware:** Yes
- **Schematics:** Yes
- **PCB Layout:** Yes

## Compatible Firmware

arduino, platformio

## Use Cases

- usb-hid
- prototyping
- education
- robotics
- automation

## Components

- **ATmega32u4** (mcu): 8-bit AVR microcontroller with integrated USB controller at 16 MHz, 32KB flash, 2.5KB SRAM, 1KB EEPROM — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2FAtmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf&ref=openhardware.directory&product=arduino-leonardo&source=md-export)

## Protocols

- **UART**: TX: D1, RX: D0
- **SPI**: MOSI: D16, MISO: D14, SCK: D15, SS: D10
- **I2C**: SDA: D2, SCL: D3
- **USB**
- **ICSP**

## GPIO Map

| Pin | Name | Type | Functions |
|-----|------|------|-----------|
| D0 | UART RX, External Interrupt 2 | UART | digital-input, digital-output, interrupt |
| D1 | UART TX, External Interrupt 3 | UART | digital-input, digital-output, interrupt |
| D2 | I2C SDA, External Interrupt 1 | I2C | digital-input, digital-output, interrupt |
| D3 | I2C SCL, PWM, External Interrupt 0 | I2C | digital-input, digital-output, pwm, interrupt |
| D4 | Digital I/O, Analog Input (A6) | — | digital-input, digital-output, analog-input |
| D5 | Digital I/O, PWM | — | digital-input, digital-output, pwm |
| D6 | Digital I/O, Analog Input (A7), PWM | — | digital-input, digital-output, analog-input, pwm |
| D7 | Digital I/O, External Interrupt 6 | — | digital-input, digital-output, interrupt |
| D8 | Digital I/O, Analog Input (A8) | — | digital-input, digital-output, analog-input |
| D9 | Digital I/O, Analog Input (A9), PWM | — | digital-input, digital-output, analog-input, pwm |
| D10 | SPI SS, Analog Input (A10), PWM | SPI | digital-input, digital-output, analog-input, pwm |
| D11 | Digital I/O, PWM | — | digital-input, digital-output, pwm |
| D12 | Digital I/O, Analog Input (A11) | — | digital-input, digital-output, analog-input |
| D13 | Onboard LED, PWM | — | digital-input, digital-output, pwm |
| D14 | SPI MISO | SPI | digital-input, digital-output |
| D15 | SPI SCK | SPI | digital-input, digital-output |
| D16 | SPI MOSI | SPI | digital-input, digital-output |
| A0 | Analog Input / Digital I/O | — | analog-input, digital-input, digital-output |
| A1 | Analog Input / Digital I/O | — | analog-input, digital-input, digital-output |
| A2 | Analog Input / Digital I/O | — | analog-input, digital-input, digital-output |
| A3 | Analog Input / Digital I/O | — | analog-input, digital-input, digital-output |
| A4 | Analog Input / Digital I/O | — | analog-input, digital-input, digital-output |
| A5 | Analog Input / Digital I/O | — | analog-input, digital-input, digital-output |

## Available Software

- **[Arduino IDE]()** (open-source)
- **[PlatformIO]()** (open-source)

## Description

## 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.

## Where to Buy

- [Arduino Store (US)](https://openhardware.directory/r?to=https%3A%2F%2Fstore-usa.arduino.cc%2Fproducts%2Farduino-leonardo-with-headers&ref=openhardware.directory&product=arduino-leonardo&source=md-export) — $23.00
- [Arduino Store (EU)](https://openhardware.directory/r?to=https%3A%2F%2Fstore.arduino.cc%2Fproducts%2Farduino-leonardo-with-headers&ref=openhardware.directory&product=arduino-leonardo&source=md-export) — €25.40
- [DigiKey](https://openhardware.directory/r?to=https%3A%2F%2Fwww.digikey.com%2Fen%2Fproducts%2Fdetail%2Farduino%2FA000057%2F3476356&ref=openhardware.directory&product=arduino-leonardo&source=md-export) — $24.50
- [Mouser](https://openhardware.directory/r?to=https%3A%2F%2Fwww.mouser.com%2FProductDetail%2FArduino%2FA000057&ref=openhardware.directory&product=arduino-leonardo&source=md-export) — $24.50
- [Amazon US](https://openhardware.directory/r?to=https%3A%2F%2Fwww.amazon.com%2Fdp%2FB008A36R2Y&ref=openhardware.directory&product=arduino-leonardo&source=md-export) — $24.50

## Resources

- [product](https://openhardware.directory/r?to=https%3A%2F%2Fwww.adafruit.com%2Fproduct%2F849&ref=openhardware.directory&product=arduino-leonardo&source=md-export)
- [wiki](https://openhardware.directory/r?to=https%3A%2F%2Fdocs.arduino.cc%2Fhardware%2Fleonardo&ref=openhardware.directory&product=arduino-leonardo&source=md-export)
- [datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2FAtmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf&ref=openhardware.directory&product=arduino-leonardo&source=md-export)

## Tags

`arduino`, `atmega32u4`, `native-usb`, `usb-hid`, `keyboard-emulation`, `development-board`

## Images

![Arduino Leonardo](https://nbg1.your-objectstorage.com/openhardware-directory/entities/arduino-leonardo/6da45ba2e1dc.jpg)
![Arduino Leonardo](https://nbg1.your-objectstorage.com/openhardware-directory/entities/arduino-leonardo/c61f1edc99b0.jpg)

---
[View full device page](https://openhardware.directory/devices/arduino-leonardo)