Arduino Leonardo Board Features USB Human Interface Device
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. For programming, the previous version of Arduinos required a serial port connection to your computer. As the platform evolved, using a USB conversion chip was only a slight improvement over using a serial connection. Although it removed the need for a conversion cable, it increased the cost of each board.
The next stage in the Arduino evolutionary chain was to combine the USB-to-Serial programming portion of the board with the core MCU. Hence, the Leonardo is Arduino’s first development board based on the ATmega32U4 microcontroller with an inbuilt USB. This built-in USB functionality of the microcontroller helps lower the board’s cost by eliminating the need for a secondary interface chip.
- It comes with a high-performing low-power AVR 8-bit microchip, ATmega32U4 microcontroller, with built-in USB communication.
- It features 32Kb of Flash memory of which the bootloader uses 4Kb along with 2.5Kb of SRAM and 1Kb EEPROM.
- 20 Digital I/O Pins include 7 PWM Channels and 12 Analog Input channels.
- Additional features such as a power jack, ICSP header, and a reset button.
- It uses a MicroUSB port for programming and power.
- Operates as an actual USB device, and thus, it can emulate a computer mouse, keyboard, or both.
- The operating voltage is 5V and recommended input voltage is between 7-12V.
- The clock signal in the microcontroller is generated by the crystal oscillator on the board, which has a frequency of 16MHz. Its primary role is to provide the essential timing and control to the board.
- DC Current per I/O pin is 40 mA and DC Current for 3.3V pin is 50 mA
- The dimension of the board is 68.6mm x 53.3mm, and the weight is around 20g.
The ATmega32U4 microcontroller sits at the heart of the board. This chip has about the same amount of flash, RAM, and capabilities as the Arduino UNO’s ATmega328. The Leonardo differs from other Arduino boards by its built-in USB port, enabling it to communicate directly with your computer through USB, allowing it to behave like a mouse or keyboard.
Aside from the additional USB support and more flexibility in communication with the computer, Leonardo is similar in a form factor as the Arduino UNO and offers more I/O options. Furthermore, the board can be powered via a micro USB connection or with an external power supply. The power source is selected automatically. There is also an ICSP header pin that allows the user to program the Arduino board’s firmware.
Arduino Leonardo v/s Arduino Uno
From the above image, it is quite clear that Arduino Leonardo offers more functionalities as compared to Uno. The board has 20 pins as compared to 14 pins of Arduino Uno. The SRAM memory is the workhouse of the Arduino. Despite the fact that SRAM shortages are probably the most common memory problems on the Arduino, the Leonardo has additional SRAM for faster data access. Along with this, Leonardo also provides an extra PWM pin. The major difference is Leonardo’s ability to replicate a computer’s keyboard and mouse, thanks to the ATMega32U4’s ability to function as a USB human interface device (HID).
Talking more about the software part, like all the other Arduino boards, the Arduino Leonardo is fully compatible with Arduino IDE. The Arduino Leonardo’s ATmega32U4 comes with a bootloader, allowing you to upload new code without an external hardware programmer. For more information visit the product page.
Arduino Leonardo can support various applications, including robotics, DIY kits, and projects that require human interaction, etc. Electromaker has brought to our attention that the board is ideal for basic projects, quick prototyping, and plug-and-play circuit building because of its similar form factor and Arduino shield compatibility.
The Arduino Leonardo board is available at $20.70 on the company website. Images and technical specifications have been also taken from the product page.