Today, I'm going to give you an overview of the Difference between Arduino Uno and Arduino Leonardo.
ARDUINO UNO
Arduino Uno is a microcontroller board based on an 8-bit ATmega328P microcontroller. It includes other components to support the microcontroller, such as a crystal oscillator, serial communication, a voltage regulator, and so on. The Arduino Uno contains 14 digital I/O pins (six of which can be used as PWM outputs), six analog I/O pins, a USB connection, a power barrel jack, an ICSP header, and a reset button.
Arduino Uno Pinout
Pin Category |
Pin Name |
Details |
Power |
Vin, 3.3V, 5V, GND |
Vin: Input voltage to Arduino when using an external power source. 5V: Regulated power supply used to power microcontroller and other components on the board. 3.3V: 3.3V supply generated by the onboard voltage regulator. The maximum current draw is 50mA. GND: ground pins. |
Reset |
Reset |
Resets the microcontroller. |
Analog Pins |
A0 – A5 |
Used to provide analog input |
Input/ Output Pins |
Digital Pins 0 - 13 |
Can be used as input or output pins. |
Serial |
0(Rx), 1(Tx) |
Used to receive and transmit TTL serial data. |
External Interrupts |
2, 3 |
To trigger an interrupt. |
PWM |
3, 5, 6, 9,10,11 |
Provides 8-bit PWM output. |
SPI |
10 (SS), 11 (MOSI), 12 (MISO) and 13 (SCK) |
Used for SPI communication. |
Inbuilt LED |
13(Digital pin) |
To turn on the inbuilt LED. |
TWI |
A4 (SDA), A5 (SCA) |
Used for TWI communication. |
AREF |
AREF |
To provide reference voltage for input voltage. |
Description About Arduino's Pin
-
The 14 digital input/output pins can function as both input and output pins. Each pin works at 5V and may provide or receive up to 20mA of current. It also contains an inbuilt pull-up resistor of 20-50 KOhms that is disconnected by default. Some of these 14 pins have special roles, which are detailed below:
-
Serial Pins 0 (Rx) and 1 (Tx): Rx and Tx pins are used to receive and transmit TTL serial data. They are connected with the corresponding ATmega328P USB to TTL serial chip.
-
External Interrupt Pins 2 and 3: These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value.
-
PWM Pins 3, 5, 6, 9, 10, and 11: These pins provide an 8-bit PWM output.
-
SPI Pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK): These pins are used for SPI communication.
-
In-built LED Pin 13: This pin is connected with a built-in LED, when pin 13 is HIGH – the LED is on and when pin 13 is LOW, it's off.
-
Along with 14 digital pins, there are six analog input pins, each of which has a resolution of 10 bits, allowing for a total of 1024 distinct values. They measure between 0 and 5 volts, although this limit may be raised by utilizing the AREF pin with the analog Reference() function.
-
Analog pin 4 (SDA) and pin 5 (SCA) are also used for TWI communication using the Wire library.
-
AREF: Used to provide a reference voltage for analog inputs with analogReference() function.
-
Reset Pin: Making this pin LOW, resets the microcontroller.
Specifications
Board |
Name |
Arduino UNO |
---|---|---|
Microcontroller |
ATmega328P |
|
USB connector |
USB-B |
|
Pins |
Built-in LED Pin |
13 |
Digital I/O Pins |
14 |
|
Analog input pins |
6 |
|
PWM pins |
6 |
|
Communication |
UART |
Yes |
I2C |
Yes |
|
SPI |
Yes |
|
Power |
I/O Voltage |
5V |
Input voltage (nominal) |
7-12V |
|
DC Current per I/O Pin |
20 mA |
|
Power Supply Connector |
Barrel Plug |
|
Clock speed |
Main Processor |
ATmega328P 16 MHz |
USB-Serial Processor |
ATmega16U2 16 MHz |
|
Memory |
ATmega328P |
2KB SRAM, 32KB FLASH, 1KB EEPROM |
Dimensions |
Weight |
25 g |
Width |
53.4 mm |
|
Length |
68.6 mm |
ARDUINO LEONARDO
ATmega32u4 processor. It contains 20 digital I/O pins (seven PWM outputs and twelve analog inputs), a 16 MHz crystal oscillator, a micro USB connector, a power jack, an ICSP header, and a reset button. It comes with everything you need to support the microcontroller; simply connect it to a computer through USB or power it using an AC-to-DC converter or battery to get started.
The Leonardo varies from the previous boards in that the ATmega32u4 includes a built-in USB connection, removing the need for a secondary processor.
Arduino Leonardo Pinout
-
Power
The Arduino Leonardo can be powered via a micro USB connection or with an external power supply.
External (non-USB) power can come either from an AC-to-DC adapter or battery. The adapter can be connected by plugging the male jack into the board's female power jack. Leads from a battery can be inserted in the GND and Vin pin headers of the Arduino.
The power pins are as follows:
VIN, The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
5V, The regulated power supply is used to power the microcontroller and other components on the board.
3V3, A 3.3 volt supply is generated by the onboard regulator. The maximum current draw is 50 mA.
GND, Ground pins.
IOREF, The voltage at which the i/o pins of the board are operating (i.e. VCC for the board). This is 5V on the Leonardo.
-
Input and Output
Each of the 20 digital i/o pins on the Arduino Leonardo can be used as an input or output. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms.
-
Serial: 0 (RX) and 1 (TX): Used to receive (RX) and transmit (TX), TTL serial data using the ATmega32U4 hardware serial capability. Note that on the Leonardo, the Serial class refers to USB (CDC) communication; for TTL serial on pins 0 and 1, use the Serial1 class.
-
TWI: 2 (SDA) and 3 (SCL), Support TWI communication using the Wire library.
-
External Interrupts 2 and 3: These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value.
-
PWM: 3, 5, 6, 9, 10, 11, and 13. Provide 8-bit PWM output.
-
SPI: On the ICSP header. These pins support SPI communication using the SPI library. Note that the SPI pins are not connected to any of the digital I/O pins as they are on the Uno, They are only available on the ICSP connector. This means that if you have a shield that uses SPI, but does NOT have a 6-pin ICSP connector that connects to Leonardo’s 6-pin ICSP header, the shield will not work.
-
LED: There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it’s off.
-
Analog Inputs: A0-A5, A6 – A11 (on digital pins 4, 6, 8, 9, 10, and 12). The Leonardo has 12 analog inputs, labeled A0 through A11, all of which can also be used as digital i/o. Pins A0-A5 appear in the same locations as on the Uno; inputs A6-A11 are on digital i/o pins 4, 6, 8, 9, 10, and 12 respectively. Each analog input provides 10 bits of resolution (i.e. 1024 different values). By default, the analog inputs measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin.
-
AREF. Reference voltage for the analog inputs. Used with analogReference().
-
Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
Specifications
Board |
Name |
Arduino Leonardo |
---|---|---|
Microcontroller |
ATmega32u4 |
|
USB connector |
Micro USB (USB-B) |
|
Pins |
Built-in LED Pin |
13 |
Digital I/O Pins |
20 |
|
Analog input pins |
12 |
|
PWM pins |
7 |
|
Communication |
UART |
Yes |
I2C |
Yes |
|
SPI |
Yes |
|
Power |
I/O Voltage |
5V |
Input voltage (nominal) |
7-12V |
|
DC Current per I/O Pin |
10 mA |
|
Power Supply Connector |
Barrel Plug |
|
Clock speed |
Processor |
ATmega32U4 16 MHz |
Memory |
ATmega32U4 |
2.5KB SRAM, 32KB FLASH, 1KB EEPROM |
Dimensions |
Weight |
20 g |
Width |
53.3 mm |
|
Length |
68.6 mm |
Difference Between Arduino UNO and Arduino Leonardo
Arduino UNO and Leonardo both work in the same way but there are a few reasons why Arduino has made it separately:
A crucial difference is that a UNO has a replaceable microcontroller (Atmega328p) which gives an additional advantage to the user. So the user doesn’t have to buy the whole board again. In contrast, Arduino Leonardo has a microcontroller (Atmega32u4) mounted on its surface which has built-in support for USB.
FTDI chip – There is no FTDI chip in UNO which is used to translate a USB signal into a serial communication. Microcontroller Atmega32U4 has serial ports and native USB.
USB B-class connector – Leonardo has also been replaced with the micro USB connection while Arduino uses a USB b-class connector.
Features |
Arduino UNO |
Arduino Leonardo |
Microcontrollers |
Atmega328 |
Atmega32u4 |
Digital I/O pins |
14 |
20 |
PWM pins |
6 |
7 |
Analog input channels |
6 |
12 |
Flash Memory |
32Kb (0.5 Kb used by bootloader) |
32Kb (4 kb used by bootloader) |
EEPROM |
1024bytes |
1Kb |
SRAM |
2 Kb |
2.5 Kb |
Weight |
20gm |
20 gm |
DC current for 3.3V Pin |
50mA |
50 mA |
DC current (Input/output pin) |
20mA |
40 mA |
Apart from the differences mentioned in the above table, two other major differences,
The SPI pins on Leonardo are not exposed via digital pins but via ICSP headers. And the slave select pin is not exposed at all. Therefore, the Leonardo board cannot be used as an SPI slave. It can be used as a master, and one of the GPIOs can be connected to the slave select pin of the slave.
Leonardo's ATmega32u4 has in-built USB communication, thereby eliminating the need for a USB to UART converter. One interesting possibility it opens up is allowing us to use the Leonardo as a Keyboard or a Mouse, other than a COM Port.
Price
The Arduino Leonardo board is a bit cheaper than Arduino Uno.
After understanding the Difference between Arduino Uno and Arduino Leonardo, if you wish to buy it then you may click on their names below.
Arduino UNO
Arduino Leonardo
The products present on the website are priced Inclusive of All Taxes, Same Day Dispatch, and Priority Support Available.