Introduction: Step by Step Guide to the Arduino Leonardo
The Arduino team is now shipping their latest creation - the Leonardo. It is the first Arduino to use Atmel’s ATmegaXU4 series chip with built-in USB. This change is big and it has big benefits. In addition to the built-in USB, it offers more digital and analog pins. This step by step guide gives you the details you need to know to start using it.
For a more comprehensive guide, see my article - Arduino Leonardo versus Uno – What’s New.
For a more comprehensive guide, see my article - Arduino Leonardo versus Uno – What’s New.
Step 1: More Digital Pins
There are four more digital pins. The Uno has 14 digital pins: D0-D13. The Leonardo has 18: D0-D17. The extra pins have been mapped to the ICSP header. Their mappings are:
- D14 – MISO – PB3
- D15 – SCK – PB1
- D16 – MOSI – PB2
- D17 – SS – PB0
Step 2: Extra PWM Pin
The Leonardo has 7 PWM pins instead of 6. ATmega32U4 also has a new timer, timer4 which has 10 bits and uses a PLL to count at 64MHz. Their mappings are different as well:
- D3: 8-bit timer0
- D5: 16-bit timer1&3
- D6: 10-bit timer4
- D9: 16-bit timer1&3
- D10: 16-bit timer1&3
- D11: 8-bit timer0
- D13: 10-bit timer4
Step 3: More Analog Pins
There are 12 analog input pins available on the Leonardo. The board has the same 6 analog pin header along the side for pins A0-A5. For the extra 6 pins (A6-A11), they are located among the digital pin headers. They are marked with a dot on the top side of the board with the numbering drawn on the backside. As usual, analog pins can also be used for digital I/O.
The correspondence of each analog with their digital counterparts is as follows:
The correspondence of each analog with their digital counterparts is as follows:
- A0 – D18
- A1 – D19
- A2 – D20
- A3 – D21
- A4 – D22
- A5 – D23
- A6 – D4
- A7 – D6
- A8 – D8
- A9 – D9
- A10 – D10
- A11 – D12
Step 4: SDA/SCL Pins Are Different
The pins supporting I2C/TWI previously used analog pins A4 & A5. Now these pins are located at digital pins D2 & D3. While the SDA and SCL pins are in the same location on the board, because of the underlying hardware mapping changes, it may affect the operation of certain shields and any software using these two pins.
Step 5: Serial Port Differences
There is now a second serial port. The primary port is built into the USB interface and the Tx/Rx LEDs are attached to it. The secondary port is located at pins D0 & D1. This port does not have any LEDs attached.
To use the primary serial port, use the class Serial as usual. For the secondary port, a new serial class called Serial1 has been created. You use it the same way as the Serial class.
To use the primary serial port, use the class Serial as usual. For the secondary port, a new serial class called Serial1 has been created. You use it the same way as the Serial class.
Step 6: Keyboard and Mouse Emulation
Of course the most exciting new feature is direct USB support. That means it can operate as an actual USB device. It can emulate a computer mouse, keyboard, or both.
The Arduino library has made it really easy to do by creating a two new classes - one for emulating a mouse, and the other a keyboard.
The Arduino library has made it really easy to do by creating a two new classes - one for emulating a mouse, and the other a keyboard.
Step 7: Last Steps
There are two things you must do before using your new Leonardo board.
First, you must upgrade your Arudino IDE to version 1.01. It adds the support needed for this new board, plus it has a lot of nice new features.
Second, unless you are using Linux, you will need to install USB drivers for the Leonardo.
This step-by-step guide is a just a brief overview. For more detailed information, please see the article:
It provides the extra details you need to make full use of the new Leonardo.
First, you must upgrade your Arudino IDE to version 1.01. It adds the support needed for this new board, plus it has a lot of nice new features.
Second, unless you are using Linux, you will need to install USB drivers for the Leonardo.
This step-by-step guide is a just a brief overview. For more detailed information, please see the article:
It provides the extra details you need to make full use of the new Leonardo.