Arduino Leonardo
Arduino Leonardo — ATmega32u4 — Native USB HID — 20 Digital I/O Pins The Arduino Leonardo is the board of choice when your project needs to appear to any computer...
Read MoreSKU:ARD-001
- Regular price
- Rs. 2,198.92
- Sale price
- Rs. 2,198.92
- Regular price
-
Express Shipping
Shipping Info
Fast delivery options for your convenience
Pick-Up in Store
Free
Select this option to pick up your order directly from our store. Fast and convenient!
Arduino Leonardo — ATmega32u4 — Native USB HID — 20 Digital I/O Pins
The Arduino Leonardo is the board of choice when your project needs to appear to any computer as a USB keyboard, mouse, or MIDI device — its ATmega32u4 microcontroller handles USB natively with no secondary chip required, unlocking HID capabilities that most other Arduino boards simply cannot match. With 20 digital I/O pins, 7 PWM channels, 12 analog inputs, and hardware support for UART, I2C, and SPI, it covers everything from classroom experiments to production-ready USB accessories.
Key Highlights
- Native USB HID — No Secondary Chip — The ATmega32u4 manages USB directly, so the board can emulate a keyboard, mouse, or joystick out of the box using the built-in Keyboard.h and Mouse.h libraries — no extra hardware or drivers needed on the host computer.
- 20 Digital I/O Pins with PWM & Analog — Seven pins support PWM for smooth motor control and LED dimming; twelve double as analog inputs for sensors — far more analog channels than the standard Uno, all on a single board.
- ATmega32u4 Running at 16 MHz — A proven 8-bit AVR core operating at 16 MHz balances execution speed, low power draw, and broad Arduino IDE compatibility across thousands of community libraries.
- Multi-Protocol Communication — Hardware UART (pins 0 & 1), I2C/TWI (pins 2 & 3), and SPI (ICSP header) are all available simultaneously, so you can chain sensors, displays, and modules without software-only workarounds.
- Five External Interrupts — React instantly to button presses, encoder pulses, and real-time signals on any of the five dedicated interrupt pins, keeping sketches responsive without busy-loop polling.
- 32 KB Flash with Caterina USB Bootloader — 28 KB of sketch space is ready after the 4 KB bootloader, and uploading over Micro USB requires no external programmer — just plug in and click Upload.
- Headers Pre-Soldered — Breadboard Ready — This variant ships with male headers already installed, so you can plug directly into a standard breadboard and start prototyping the moment it arrives.
- Compact 68.6 × 53.3 mm Footprint — At just 20 g and sharing the familiar Arduino Uno form factor, the Leonardo fits into enclosures, wearables, and portable builds without reworking your mechanical design.
Technical Specifications
| Specification | Details |
| Microcontroller | ATmega32u4 |
| Clock Speed | 16 MHz (crystal oscillator) |
| 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 |
| External Interrupts | 5 |
| DC Current per I/O Pin | 40 mA (max) |
| DC Current for 3.3V Pin | 50 mA (max) |
| Flash Memory | 32 KB (4 KB reserved for bootloader) |
| SRAM | 2.5 KB |
| EEPROM | 1 KB |
| USB Interface | Micro USB — native Full Speed USB 2.0 (HID + CDC) |
| Communication | UART (pins 0/1), I2C/TWI (pins 2/3), SPI (ICSP header), USB CDC, USB HID |
| Dimensions | 68.6 × 53.3 mm |
| Weight | 20 g |
Common Applications & Use Cases
- Custom USB Keyboard & Macro Pad — Program the Leonardo to send keystrokes, hotkeys, or macros to any computer using Keyboard.h — no host-side drivers required, making it ideal for accessibility tools, stream decks, and shortcut controllers.
- USB Mouse Emulator — Control cursor position, clicks, and scroll wheel from sensors, joysticks, or gesture detectors via Mouse.h — perfect for eye-tracking rigs, custom trackballs, and assistive input devices.
- MIDI Controller — With the MIDIUSB library the Leonardo becomes a class-compliant USB MIDI device, enabling custom DAW controllers, pad grids, knob boxes, and electronic instruments that work in any DAW without setup.
- Game Controller & Joystick — Combine HID capability with the 12 analog inputs to build custom gamepads, flight sticks, or button boxes that register natively in any PC game or simulator.
- Robotics & Servo Control — Drive servos and DC motors via the 7 PWM outputs while reading sensors over I2C or analog inputs, enabling closed-loop feedback for robotic arms, tracked vehicles, and gripper mechanisms.
- Sensor Data Logging — Collect readings from up to 12 analog and numerous digital sensors, then stream the data over the USB virtual serial port to a logging application — no USB-to-serial adapter required.
- Interactive Art & Installations — React to visitor touch, proximity, or sound in real time and output to LEDs, motors, or displays; the HID mode also enables seamless computer-driven interactive exhibits triggered by physical input.
- Education & Classroom Projects — Deep Arduino IDE compatibility, extensive documentation, and broad community library support make the Leonardo an excellent platform for teaching embedded systems, electronics, and programming.
- Wearable & Portable Electronics — At just 20 g and powered by USB or a small battery pack via the barrel jack, the Leonardo fits easily into costumes, props, and portable gadgets where weight and size matter.
- USB Automation & Test Jigs — Automate repetitive UI tasks, QA test sequences, or hardware test routines by sending precise keyboard and mouse events to a host machine on a timed or sensor-triggered basis.
What's in the Box
- 1 × Arduino Leonardo with Headers
Note: accessories such as power supplies, cables, cases, and SD cards are sold separately and not included unless stated above.
Frequently Asked Questions
What operating systems and software is the Arduino Leonardo compatible with?
The Arduino Leonardo is compatible with Windows, macOS, and Linux — the ATmega32u4 presents as a standard USB CDC and HID device, so no custom drivers are needed on modern operating systems. Development is done through the free Arduino IDE 1.0.1 or later, including the current IDE 2.x, and is also supported by PlatformIO with the atmelavr platform. USB HID libraries including Keyboard.h, Mouse.h, and MIDIUSB are all available in the standard library manager. On older Windows versions, a one-time driver installation from the Arduino IDE package may be required before the board is recognised.
What are the power requirements for the Arduino Leonardo?
The Leonardo accepts power via its Micro USB connector at 5V or through the 2.1mm barrel jack at 7–12V (recommended), with an absolute range of 6–20V. The onboard linear regulator steps barrel-jack input down to the 5V logic rail automatically. Each I/O pin can safely source or sink up to 40 mA, and the 3.3V output pin is rated at 50 mA maximum for lower-voltage peripherals. For standalone deployment away from a computer, any regulated 9V wall adapter with a centre-positive 2.1mm barrel connector will power the board reliably.
What firmware and bootloader does the Arduino Leonardo use?
The Leonardo ships with the Caterina USB bootloader, which occupies 4 KB of the 32 KB flash and enables code uploads directly over Micro USB — no external programmer needed. The bootloader listens for 8 seconds after reset before launching your sketch, giving a reliable window to initiate an upload from the IDE. Firmware and core updates are delivered through the Arduino IDE Board Manager under "Arduino AVR Boards." PlatformIO users can target the board using the leonardo board identifier within the atmelavr platform for an identical bootloader-compatible workflow.
Does the Arduino Leonardo have onboard storage, and can I add an SD card?
The Leonardo has no onboard SD card slot, but includes 32 KB flash (28 KB available for sketches), 2.5 KB SRAM for runtime variables, and 1 KB EEPROM for persistent key-value storage via the EEPROM library. External SD storage is possible by wiring a standard SD module to the SPI interface on the ICSP header with a chip-select line on any free digital pin; the SD.h library handles all file operations transparently. For larger persistent storage, external I2C EEPROM chips or SPI flash modules can be added without interfering with other connected peripherals.
What accessories do I need to get started with the Arduino Leonardo?
At minimum you need a Micro USB cable (for power and programming) and a computer running the free Arduino IDE. This with-headers variant is breadboard-compatible straight away, so a breadboard and jumper wires are all that's needed for most beginner circuits. For standalone deployment, a 7–12V centre-positive barrel jack power supply lets you run the board without a connected computer. Uno-form-factor shields are generally compatible with the Leonardo, though note that I2C sits on pins 2/3 rather than A4/A5 — check shield documentation before stacking older hardware.
How does the Arduino Leonardo compare to the Arduino Uno?
The core difference is USB: the Leonardo's ATmega32u4 manages USB natively, while the Uno uses a separate ATmega16U2 bridge chip, limiting it to simple serial-over-USB only. This gives the Leonardo full USB HID capability (keyboard, mouse, MIDI, gamepad) that the Uno cannot achieve. The Leonardo also adds 6 extra analog inputs (12 vs 6), more external interrupts (5 vs 2), and places I2C on dedicated pins 2/3 rather than sharing A4/A5. The trade-off is a slightly more involved upload flow — because the virtual COM port is software-managed, a locked-up sketch requires a manual double-reset to re-enter the bootloader.
How many GPIO pins and communication interfaces does the Leonardo provide?
The Leonardo exposes 20 digital I/O pins (pins 0–13 and A0–A5, all usable as digital), with 7 PWM outputs and 12 analog inputs. Hardware communication includes one UART on pins 0 (RX) and 1 (TX), one I2C (TWI) bus on pins 2 (SDA) and 3 (SCL), and SPI on the 6-pin ICSP header. Five pins support external hardware interrupts for real-time event response, and the native Micro USB port adds USB CDC serial plus USB HID as additional channels. All I/O logic operates at 5V, with a 3.3V rail (50 mA) available for lower-voltage modules.
Is the Arduino Leonardo suitable for beginners, or is it aimed at advanced users?
The Leonardo is well-suited for beginners and intermediate makers alike — it uses the same Arduino IDE, same C++ sketches, and the same library ecosystem as any other Arduino board. For basic GPIO projects (LEDs, sensors, motors) it behaves identically to the Uno. Its native USB capability becomes valuable when you reach for Keyboard.h, Mouse.h, or MIDIUSB — libraries that unlock HID projects requiring specialised hardware on other platforms. Complete beginners wanting the simplest possible starting point may prefer the Uno, but anyone building computer-interactive projects or needing more analog inputs will quickly appreciate what the Leonardo adds.
What is the most common mistake when uploading code to the Arduino Leonardo?
The most frequent issue is the virtual COM port disappearing after a crash or bad upload — because USB is software-managed, a hung sketch can prevent the IDE from detecting the board. The fix is a double-press of the reset button, which forces the board into bootloader mode for 8 seconds; select the new port in the IDE and click Upload within that window. A second common mistake is using Serial when Serial1 is intended — on the Leonardo, Serial refers to the USB CDC virtual port, while Serial1 is the hardware UART on physical pins 0 and 1. Confusing the two causes silent debug output and significant troubleshooting time.
Where can I find documentation, example code, and community support for the Arduino Leonardo?
Official documentation including the pinout diagram, getting-started guide, and schematic is available at docs.arduino.cc/hardware/leonardo. The Arduino Reference at arduino.cc/reference covers the Keyboard.h, Mouse.h, and MIDIUSB library APIs specific to the Leonardo's HID features with examples. Community help can be found on the Arduino Forum (forum.arduino.cc), which hosts a dedicated boards section with thousands of Leonardo-specific threads. Core firmware and bootloader source is maintained on GitHub at github.com/arduino/ArduinoCore-avr, and board manager updates are delivered directly through the Arduino IDE.
