The Leonardo differs from all preceding boards in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Leonardo to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port.
Microcontroller ATmega32u4
Operating Voltage 5V
Input Voltage (Recommended) 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 40mA
DC Current for 3.3V Pin 50mA
Flash Memory 32KB (ATmega32u4) of which 4KB used by bootloader
It contains everything needed to support the micro-controller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.
The Arduino Leonardo is a micro-controller board based on the ATmega32u4
Arduino Leonardo is a microcontroller board developed by Arduino.cc. It is based on the ATmega32U4 and comes with 20 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs) that are enough to connect with external devices and turn your innovation into reality.
The module supports the crystal oscillator with the frequency up to 16 MHz that is enough to generate clock pulses with decent pace required for the synchronization of all the internal operations.
The Vin is the input voltage that ranges between +7 to +12 V. This voltage comes from the external power source. There are two ground pins on the board. The AREF is an Analogue reference voltage, mainly used for analog pins. The IOREF is useful for powering and developing a compatibility between this board and Arduino Shields. As the shield is connected with this pin, it (shield) wears the I/O voltage provided by the Board. The Shield using IOREF pin will be compatible with both 3V3 and 5V.
ICPS stands for In-Circuit Serial Programming – A feature used for programming Arduino with another Arduino. ICSP header is added that helps in connecting the board with a computer for uploading a sketch in case USB port is not available.
Difference between Arduino Leonardo and Arduino Uno
Arduino Uno incorporates ATmega328 while Arduino Leonardo comes with ATmega32U4
Uno has 20 digital I/O pins, out of them 6 are analog input pins and Leo has 20 digital I/O pins, out of which 12 are analog input pins
There are 7 PWM output pins available on the Leonardo and 6 are added on the Uno board
Uno comes with SPI protocol on the digital I/O pins while Leonardo contains SPI communication on the ICSP header pins.