There are debates over the internet whether one should buy an Arduino Uno or an Arduino Leonardo. As I’ve already mentioned, if you are a beginner and then Uno should be your first Arduino board, but if you’re planning for a second Arduino then definitely buy a Leonardo, since it has features better than Uno.
Most of the Arduino Uno tutorials available over the internet aren’t compatible with Leonardo. For example to use A0 as a digital output in Uno, we write: pinMode(14, OUTPUT); , but in Leonardo this will not work. Instead we need to write like this: pinMode(A0, OUTPUT);
One the most exciting feature of the Arduino Leonardo over Arduino Uno is that the ATmega32u4 of Leonardo 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. The latest version of the Arduino Uno i.e. Uno Rev. 3 has an Atmega 16U2 programmed as a USB to serial converter instead of the FTDI USB to serial driver chip. Another point worth mentioning is that the ATmega32u4 of the Leonardo is SMD packaged, while the Atmega 328 of the Uno is DIP, meaning one can actually take out the IC from Uno and use it for breadboard projects.
The basic difference between Arduino Uno and Arduino Leonardo is given below:-
|Cirteria||Arduino Uno||Arduino Leonardo|
|2. Digital I/O Pins||14||20|
|3. Analog Input Pins||6||12|
|4. PWM Channels||6||7|
|5. Flash Memory||32 KB of which 0.5 KB used by bootloader||32 KB of which 4 KB used by bootloader|
|6. SRAM||2 KB||2.5 KB|