Released years ago, the Arduino Leonardo is an ATmega32U4 microcontroller board that was somehow disregarded by most people. Iterations and older boards like the Arduino Uno caught more attention instead.

Despite being under the radar to most people, the Arduino Leonardo still packs significant performance advantages over the Uno which begs the question why isn’t it as popular? The answer to this will be revealed in a detailed comparison later in this blog.

Apart from its comparison, this blog will take a look at:

  • Understanding the Arduino Leonardo: Overview, Features, and Parametrics
  • Comparing it with the Arduino Uno
  • Developing on the Arduino Leonardo
    • Software Development
    • Hardware Development

An overview of the Arduino Leonardo

Release date: July 23, 2012

Microcontroller: ATmega32u4 with built-in USB communication, eliminating the need for a secondary processor

Full Parametrics:

Specifications
Microcontroller ATmega32u4
Operating Voltage 5V
Recommended Input Voltage 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 50mA
Flash Memory 32 KB, 4 KB used by bootloader
SRAM 2.5 KB
EEPROM 1 KB
Clock Speed 16 MHz
Dimensions (L x W) 68.6mm x 53.3mm
Weight 20g

Other features include: Power jack, ISCP header, and a reset button

What makes it unique?

First to include built-in USB

The inbuilt USB 2.0 communication is what makes it different from other Arduino boards. With this, the Leonardo is able to directly communicate with your PC via just USB, allowing for it to behave like a mouse or a keyboard. Through the support of the Arduino Keyboard Library, it opens up the possibility for far more interesting applications.


Arduino Leonardo vs Arduino Uno: The comparison

Let’s take a look at the differences in specs:

Arduino Leonardo Arduino Uno
Microcontroller ATmega32u4 ATmega328
Digital I/O Pins 20 14
Analog Input Pins 12 6
PWM Channels 7 6
Flash Memory 32 KB of which 4 KB used by bootloader 32 KB of which 0.5 KB used by bootloader
SRAM 2.5 KB 2 KB

Analog Pins

  • Arduino Leonardo has more analog pins, where A0-A5 are dedicated for analog, and A6-A11 are on digital pins

Input and Output Pins

  • Arduino Leonardo is capable of using 20 pins as compared to Uno 14 as it can use the analog pins to be I/O

Extra PWN Pin

Extra SRAM for faster access to data

Arduino Leonardo vs Arduino Uno Here’s why the UNO is more popular:

Earlier release and benchmark for development boards

Released 2 years before the Arduino Leonardo, the Uno became the industry standard for development boards with its unique pin header arrangement that makes it compatible with most shields on the market.

Its ease of usage and above specifications made it stood out and quickly rose to the top as others made iterations of it.

Stuck? It’s easier to find tutorials online

With its popularity, comes a bigger community with bigger support. Uno tutorials are easily available on the web, where most of them aren’t compatible with Leonardo.

Arduino Leonardo lack of compatibility with Uno Shields

Arduino Uno was known for its compatibility with many shields, where shields are developed to fit nicely on the board. However, it isn’t the case for the Arduino Leonardo.

If you own many old Arduino shields, there may be problems working it with the Arduino Leonardo. Not all UNO compatible shields work w the Leo, which is commonly voiced out in the Arduino Community.

Why Leonardo is still a good pickup you should consider:

In theory, those above may be the underlying reason why UNO is a much more popular pickup.

However, we’re here today to talk about the Arduino Leonardo and here’s why you should still pick up the Leonardo instead:

  • Better performance
  • Much more support on the USB
  • No external USB interface chip
    • Much more flexible in implementing protocols other than Serial UART

Did I mention the price?

For all these advantages, you’re getting it at a cheaper price than what the Uno cost!


Developing on the Arduino Leonardo: 

Software Development:

Software developing on the Arduino Leonardo can be done by programming it through the Arduino IDE. Under the Tools > Board menu, select Arduino Leonardo.

The ATmega32u4 microcontroller allows you to upload new code to it without an external hardware programmer as it comes with a bootloader.

For more information; you can refer to references and tutorials

Hardware Development:

Developing made easier: Hardware Development Kit for Arduino Leonardo

To help ease your hardware developing experience/get started designing an Arduino project on Leonardo, this hardware development kit is for you.

What is this kit all about?

Shortening your design process by including guidelines that provide drawings of common circuits like power, oscillator, reset, etc.

Not needing to purchase many small components as it provides commonly used components like Atmel 32u4, 16M crystal, resistor, switch, and many more!

Other features include:

  • Available for individual purchase
  • Includes DIP ATmega32u4 with Arduino Uno Bootloader
  • PC Pinout configuration diagram

Full Part List:

  • Commonly-used circuits instructions
  • IC Pin configuration diagram ×2
  • $10 Fusion coupon ×1
  • Protoboards ×2
  • ATMEGA32U4-MUR ×2
  • Crystal 16MHz ×3
  • USB connector ×3
  • JST 2.0 connector ×2
  • DIP DC Power Jack ×2
  • Ethernet RJ45 connector ×2
  • Colourful LED ×22
  • PMIC Vin 30V Vout 3.3V ×3
  • PMIC Vin 25V Vout 5V ×3
  • DIP Resistor 1K ×20
  • DIP Resistor 10K ×10
  • DIP CAP Ceramic 22pF ×6
  • DIP CAP Ceramic 100nF ×10
  • DIP CAP Aluminum 47uF-16V ×6
  • Male header(3p/20p/40p) ×11
  • Female header ×10
  • IC Socket ×3
  • Button ×5
  • Jumper Wire ×25
  • Rivet ×10

Summary

Overall, be it a beginner or experienced developer, the Arduino Leonardo is a good place to start. Getting started on the board isn’t a difficult task since it’s relatively similar to other Arduino boards through Arduino IDE.

There are plenty of project ideas you can explore; be it using the Leonardo as a mouse, pairing up with sensors for measurement, etc. To help you smoothen the selection/development process, try this hardware development kit out

Please follow and like us:
error