Out Of Stock
Notify me when its in stockArduino® Leonardo is a microcontroller board based on the ATmega32u4. It has 20 digital input/output pins (7 of which can be used as PWM outputs and 12 as analog inputs), a 16 MHz crystal, micro USB socket, power jack, ICSP connector, and reset button. The board includes everything required for the microcontroller to operate. It can be easily connected to a computer via a USB cable or powered with an adapter or battery.
If you are new to Arduino®, you can check out our Lessons for Arduino® series on our blog site.
The biggest feature that distinguishes Leonardo from many other Arduino® models is that the ATmega32u4 has built-in USB communication capability. This means there is no need for a second USB-to-serial converter processor such as the 16u2. Thanks to this, in addition to the virtual COM port (CDC), Leonardo can be connected to the computer and used like a mouse or keyboard.

Arduino® Leonardo can be powered via USB or an external power supply. The external power supply can be an AC-DC adapter or a battery. The adapter can be connected through the 2.1 mm center-positive power jack on the board. The battery can be connected through the GND and Vin pins on the board. USB does not have to be connected continuously for the board to operate. The board can be operated only with an adapter or battery. In this way, the board can work independently from the computer. An external power supply between 6-20V can be used. However, these values are limit values. The recommended external supply for the board is between 7-12V. This is because the regulator on the board may not operate stably at values below 7V and may overheat at values above 12V. The operating voltage of the microcontroller on the Leonardo board is 5V. The 7-12V voltage supplied through the Vin pin or power jack is reduced to 5V by the voltage regulator on the board and distributed to the board.
The power pins are as follows:
The ATmega32u4 has 32 KB of flash memory (4 KB of which is used by the bootloader). It has 2.5 KB SRAM and 1 KB EEPROM.
All 20 digital pins on the Leonardo can be used as input or output. The logic level of all these pins is 5V. Each pin operates with a maximum input and output current of 40mA. In addition, some pins have different features. The special pins are listed below.
You can review the pin mapping page between Arduino® Leonardo and ATmega32u4.
Arduino® Leonardo has several different options for communicating with a computer, another Arduino® board, or a microcontroller. The ATmega32u4 offers UART TTL (5V) serial communication through pins 0 (RX) and 1 (TX). The 32u4 connects to the computer via USB, opens a virtual COM port, and enables serial (CDC) communication. The serial monitor included in the Arduino® computer program allows text-based information to be sent and received between Arduino and the computer. When communication between Leonardo and the computer occurs over USB, the RX and TX LEDs on the board will light up.
Leonardo has one hardware serial port. However, this number can be increased through software with the SoftwareSerial library.
The ATmega32u4 also provides I2C and SPI ports. The Arduino® computer program includes the Wire library for I2C usage, while the SPI library is used to enable SPI communication.
Leonardo can be recognized by the computer as a mouse or keyboard and can be used with the Keyboard and Mouse classes.
The Arduino® Leonardo board is programmed with the Arduino® computer program (Arduino® IDE). In the program, you can select Arduino Leonardo under the Tools > Board tab and start programming. For detailed information, you can review the reference and basic functions pages. The ATmega32u4 on the Arduino® Leonardo comes with special software called a bootloader installed. Thanks to this, you do not need to use an extra programmer while programming the board. Communication is provided with the original AVR109 protocol.
Bypassing the bootloader software, the board can be programmed directly through the microcontroller’s ICSP header with an ISP programmer (Reference).
The resettable fuse on the Arduino® Leonardo protects the computer’s USB port from short circuits or overcurrent consumption. When the board draws more than 500mA from the computer’s USB port, it automatically cuts off the power it receives from USB for protection. When the overcurrent condition or short circuit is removed, the fuse returns to normal and the connection is re-established.