The arduino leonardo is the newest board from arduino. It has some very interesting features not found on previous models. The first is the completion of the transition of the USB interface which the arduino UNO started. In older generations such as the duemilanova the interface between the main processor and USB port was accomplished using dedicated FT232 chip. This is quite an expensive chip and for this reason it was replaced in the arduino uno by the Atmega32u4 chip. This is actually another avr processor which is programmed with the USB to serial firmware. This worked fine but the obvious next step is to do away with the second chip altogether and have the firmware within the main processor handle this USB to processor interface. This is what was accomplished in the arduino leonardo. Having done this there are of course a few things which also need to change. For instance the bootloader for the arduino leonardo is different that that of the arduino uno. The arduino leonardo has AVR109 wheras the arduino uno uses STK500v1. The firmware in the arduino is a virtual CDC port. This also makes that you need to upgrade the arduino IDE to the latest 1.0.1 version in order for the leonardo to work. This IDE version has been upgraded to the arduino leonardo. Obviously when the arduino leonardo is reset you also lose the USB connection which is different than the arduino uno. The firmware in the main processor can also be changed into another by means of programming with ICSP in the same way as was possibile with the arduino uno. The new firmware can be an emulator of a mouse, a keyboard a midi interface and many other things. This means that when you connect the arduino leonardo to your computer the computer will think there is a mouse or keyboard connected. This makes it possible to make simple games etc using these interfaces. You could also write a program to for instance type in the data it collects into an excel spreadsheet. I will be expanding on these ideas in the future.

arduino Leonardo NoHeader

There are also some other changes which are noteworthy. The I2C pins have now been brough out to a fixed place which means shields etc can connect to these points and make use of this. There is also a IOREF pin brought out which can be used to detect the voltage that the IO pins are run at. This means any shields could automatically adapt to the correct voltage.

Some of the nice features of the arduino uno have been retained such as the automatic reset, the voltage regulation and LED’s visualizing PIN13 but also the RX and TX pins so you can see the data transfer. The nicest thing of all is the price which makes the arduino leonardo cheaper than its predecessor.

You can immediately start to use the arduino leonardo and make the following projects.

arduino leonardo projects

pick-and-place/ Project to make a pick and place machine for extruding plastic or PCB assembly. Here you will see the way i have made the mechanical part.
gps/ Hop to interface a Venus634X to an arduino leonardo
bluetooth/ making a bluetooth connection.
arduino-24c16/ adding an eeprom to the arduino leonardo
laser-clock/ firing up a laser attaching it to a stepper motor so it can rotate and projecting this on the wall so you get a sundial look.
gsm-locator/ locate yourself based without a GPS by using triangulation from data received from your mobile phone only.
squeezebox/ triggering a squeezebox to play a song based on the coded information from an RFID tag.