Arduino Leonardo

The Arduino Leonardo is a microcontroller board based on the ATmega32U4. It has 23 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analogue inputs), a 16 MHz crystal oscillator, a micro USB connection, a power jack, an ICSP header, and a reset button.

Not currently available

Our Code: SKU-003087

Supplier Link: [Pololu MPN:2192]


Description

Arduino Leonardo, top view

Arduino Leonardo, bottom view

Note: There are differences between the Leonardo and previous Arduino boards. As such, there could be incompatible Arduino shields and libraries. The Leonardo works with our motor and robot shields, and it works with our Wixel shield in a limited capacity: the wireless serial features work, but the wireless reprogramming does not.

Overview

The Arduino Leonardo is a microcontroller board based on the ATmega32U4. It has 23 digital input/output pins (of which 7 can be used as PWM outputs and 12 can be used as analogue inputs), a 16 MHz crystal, a USB connection, a power jack, an in-circuit system programming (ICSP) header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer (or appropriate wall power adaptor) with a Micro USB cable or power it with a AC-to-DC adaptor or battery to get started (USB cable and power supply are not included). This board ships with the power jack and through-hole headers soldered in, as shown in the product picture.

The Leonardo differs from all preceding Arduino boards in that the user-programmable ATmega32U4 AVR microcontroller has built-in USB functionality, eliminating the need for a secondary processor. This makes the Leonardo more versatile: in addition to supporting a virtual (CDC) serial/COM port interface, it can appear to a connected computer as a mouse and keyboard. See Arduino’s getting started page for more implications of the Leonardo’s single-MCU design.

The Arduino has a large support community and an extensive set of support libraries and hardware add-on “shields” (e.g. you can easily make your Arduino wireless with our Wixel shield), making it a great introductory platform for embedded electronics. Note that we also offer a SparkFun Inventor’s Kit, which includes an Arduino Uno along with an assortment of components (e.g. breadboard, sensors, jumper wires, and LEDs) that make it possible to create a number of fun introductory projects.

More information about the Arduino Leonardo is available on Arduino’s website. Note that the Leonardo only works with the Arduino IDE version 1.0.1 or later.

Warning: We recommend not connecting the Arduino to USB while it is powered through VIN. See this forum post for more information.

Choosing the right controller

The table below compares the Arduino Uno, Leonardo, and our A-Star 32U4 Prime controllers. The A-Star Primes are based on the same ATmega32U4 AVR microcontroller as the Leonardo and ship with Arduino-compatible bootloaders, so they can be used a direct substitutes for the Leonardo in typical applications. The Primes also offer many advantages, including superior power management that enables efficient operation from 2.7 V to 11.8 V (LV version) or 5 V to 36 V (SV version).


Arduino Uno R3

Arduino Leonardo

A-Star 32U4 Prime LV

A-Star 32U4 Prime SV
Microcontroller: ATmega328P ATmega32U4 ATmega32U4
Clock: 16 MHz resonator 16 MHz crystal 16 MHz crystal
User I/O lines: 20 23 26
PWM outputs: 6 7 7
Analogue inputs: 6 12 12
Ground access points: 4 4 43
User LEDs: 3 3 3
User pushbuttons: 3
Reset button:
Power switch:    
Buzzer option:    
microSD option:    
LCD option:    
Arduino-compatible
bootloader:
USB connector: B Micro-B Micro-B
USB/regulator
power selection:
partial partial TPS2113A
High-performance
reverse-voltage
protection:
   
Recommended
input voltage:
7 V to 12 V 7 V to 12 V 2.7 V to 11.8 V 5 V to 36 V
Regulator type (5 V): linear linear switching
step-up/step-down
switching
step-down
Available
5 V
output
current:
at 3 V in 0.75 A
at 5 V in 1.5 A 0.2 A
at 7 V in 1.0 A 1.0 A 1.5 A 1.0 A
at 9 V in 0.5 A 0.5 A 1.5 A 1.0 A
at 11 V in 0.35 A 0.35 A 1.5 A 1.0 A
at 24 V in 1.0 A
via USB
connector
0.5 A(1) 0.5 A(1) 1.5 A(1) 1.5 A(1)
Weight: 28 g 20 g 13 g to 33 g

1 With sufficiently capable USB power supply.

Side-by-side comparison of the A-Star 32U4 Prime LV microSD to the Arduino Leonardo

We also carry a variety of other programmable controllers, from the beginner-friendly BASIC Stamp to the far more capable mbed and Raspberry Pi boards, which are based on powerful ARM processors. Our full selection can be found in our Programmable Controllers category.


Specifications

Dimensions

Size: 2.8″ × 2.1″
Weight: 20 g

General specifications

Processor: ATmega32U4 @ 16 MHz
RAM size: 2560 bytes
Program memory size: 28 Kbytes
Motor channels: 0
User I/O lines: 231
Minimum operating voltage: 7 V
Maximum operating voltage: 12 V
Reverse voltage protection?: N
External programmer required?: N

Notes:

1
All 23 can be used as digital I/O and 12 can be used as analogue inputs.

Resources

File downloads

Arduino Leonardo Eagle files (251k zip)
Arduino Leonardo schematic (1MB pdf)

Recommended links

Arduino Leonardo
Detailed description of the Arduino Leonardo.
Arduino Leonardo Getting Started Guide
Guide for getting started with the Arduino Leonardo.
How to get Arduino running on Windows
A tutorial for setting up an Arduino environment on Windows.
Arduino Software
Arduino integrated development environment (IDE) software
Arduino Programming Reference
Arduino Forum
ATmega32U4 documentation
Atmel’s product page for the ATmega32U4, with links to its datasheet and other resources.
LSM303 Arduino library
This is a library for the Arduino that interfaces with our LSM303D, LSM303DLHC, and LSM303DLM 3D compass and accelerometer carriers as well as the compass and accelerometer ICs on the MinIMU-9 v3 and AltIMU-10 v3 (it also works with older versions of those boards, some of which used the LSM303DLH and LSM303DLHC). It makes it simple to configure the device and read the raw accelerometer and magnetometer data, and it has a function for computing the tilt-compensated heading for those looking to use the LSM303 as a tilt-compensated compass.
L3G Arduino library
This is a library for the Arduino that interfaces with our L3GD20H and L3GD20 3-axis gyro carriers as well as the gyros on the MinIMU-9 v3 and AltIMU-10 v3 (it also works with older versions of those boards, some of which used the L3G4200D and the L3GD20). It makes it simple to configure the device and read the raw gyro data.
MinIMU-9 + Arduino AHRS

This Arduino program (sketch) allows an Arduino connected to a MinIMU-9 v5 or AltIMU-10 v5 (or older versions of those boards) to function as an attitude and heading reference system, calculating estimated roll, pitch, and yaw angles from sensor readings that can be visualised with a 3D test program on a PC. It is based on the work of Jordi Munoz, William Premerlani, Jose Julio, and Doug Weibel.

Visualization of AHRS orientation calculated from MinIMU-9 readings

Arduino Library for the Pololu QTR Reflectance Sensors
This guide explains how to use the QTRSensors library to read Pololu QTR reflectance sensors and QTR sensor arrays with Arduinos and Arduino-compatible devices like the Pololu Orangutan robot controllers.
Beacon Locating Robot – Powered by Arduino and IR Transceiver
A beacon-chasing robot built with our IR Beacon, an RP5 Tracked Chassis, and an Arduino. By Christopher Hazlett, December 2009.
“How to use the TB6612FNG motor driver with the Arduino for noobs”
This MeanPC.com guide explains how to control the TB6612FNG Dual Motor Driver Carrier with an Arduino.