Difference between Arduino Uno and Leonardo

The Arduino UNO and Arduino Leonardo are both popular open-source microcontroller boards, but they have some key differences.


The Arduino UNO uses the ATmega328P microcontroller, while the Arduino Leonardo uses the ATmega32u4 microcontroller. The ATmega32u4 has more features than the ATmega328P, including built-in USB support, more analog inputs, and more PWM outputs.


The Arduino UNO uses an external USB-to-serial converter chip, while the Arduino Leonardo has built-in USB support. This means that the Arduino Leonardo can be used as a USB device, such as a mouse or keyboard.


The Arduino UNO has 14 digital pins and 6 analog pins, while the Arduino Leonardo has 20 digital pins and 12 analog pins. The Arduino Leonardo can also use its analog pins as digital pins, giving it a total of 26 digital pins.

Other features:

The Arduino Leonardo also has a few other features that the Arduino UNO does not, such as:

  • A reset button that can be used to restart the microcontroller

  • A dedicated ICSP header for programming the microcontroller

  • A higher clock speed (16 MHz vs. 16 MHz)

Which one is better?

The Arduino UNO is a more popular choice for beginners, as it is more widely available and there are more tutorials and resources available for it. However, the Arduino Leonardo is a better choice for projects that require built-in USB support or more features.

Here is a table summarizing the key differences between the Arduino UNO and Arduino Leonardo: