Some differences between UNO and Leonardo
1. Does not have a separate uC for USB.
2. Since ATmega32U4 does ot come in DIP packages, it will be a SMD based board.
3. Keyboard and mouse emulation (this means that on OSX you will get keyboard detection popup window)
4. More Digital Pins
5. Separate I2C pins
6. A Second hardware serial port
7. The IOREF pin can inform a shield whether the Arduino is using a 3v3 or 5V micro
1. The USB port uses 2 com ports. one to upload and one to use for the serial monitor. Both ports are not active at the same time. This has implications for Windows when the COM ports activity is detected. This means that every time you reset the board, the Leonardo’s USB serial connection will be broken and re-established. The Leonardo will disappear from the list of serial ports, and the list will re-enumerate. Any program that has an open serial connection to the Leonardo will lose its connection. source : Tronixstuff
The Arduino Leonardo is a microcontroller board based on the ATmega32u4. 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.
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 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
SRAM 2.5 KB (ATmega32u4)
EEPROM 1 KB (ATmega32u4)
Clock Speed 16 MHz