The?Arduino Leonardo?is a microcontroller board based on the ATmega32u4 (datasheet). It has 20 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs), a 16 MHz crystal oscillator, a micro USB connection, a power jack, an ICSP header, and a reset button.
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. It also has other implications for the behavior of the board; these are detailed on the?Getting started with the Arduino Leonardo.
The Leonardo differs from all preceding Arduino boards in that the user-programmable ATmega32U4 AVR microcontroller has built-in USB functionality, eliminating the need for a secondary processor. This makes the Leonardo more versatile: in addition to supporting a virtual (CDC) serial/COM port interface, it can appear to a connected computer as a mouse and keyboard. See Arduino?s?getting started page?for more implications of the Leonardo?s single-MCU design.