Arduino Leonardo is another addition in the Arduino board family. Leonardo mostly resembles the Arduino Uno but the key difference between Leonardo and Uno is that Leonardo comes with ATmega32u4 controller that has built-in USB support while Uno comes with ATmega328 that requires a separate chip for USB communication known as 16u2.
What are the specifications of the Arduino Leonardo board?
The Arduino Leonardo is the first one of its kind that comes with the one microcontroller and has a built-in USB functionality unlike Arduino Uno and Mega where 16u2 chip is used for serial communication with PC. The controller used in this board is ATmega32U4 which has a clock speed of 16 MHz and provides a flash memory of 32 kilobytes to the board. Like other Arduino boards the operating voltage of the Arduino Leonardo is 5 volts. The controller for the Arduino Leonardo has a static ram of 2.5 kilobytes and EEPROM of 1 kilobyte. The image below shows the Arduino Leonardo board:
Arduino Leonardo pinout
The Arduino Leonardo has 32 pins in total in which 14 pins are for digital inputs and outputs whereas 6 pins are for the analog input and outputs. To supply power to the peripherals connected with Arduino Leonardo there are a total nine pins including the pins for providing the reference signal for analog and digital devices. For communication there are SCL, and SDA pins given, however we can use pins A5 and A4 for the SCL and SDA as well.
For uploading the code to Arduino Leonardo also has 6 header pins . We have classified the pins of Arduino Leonardo into different categories and based on those categories we have given the table below that shows the pinouts for Arduino Leonardo.
Pin category | Representation | Description |
---|---|---|
Power pins | 5V, RESET, 3.3V, GND (3), Vin, AREF, IOREF | Pins used to deliver power to the device connected with Arduino |
Digital pins | 0 to 13 | Pins used for digital input and outputs of Arduino |
PWM pins | 13,11,10, 9, 6, 5, 3 | Pins used to generate the pulsating signal |
Analog pins | A0 to A5 (A5 for SCL and A4 for SDA) | Pins used for analog inputs and outputs of Arduino |
Miscellaneous pins | Additional pins for SCL and SDA (One not connected pin [NC]) | SCL is the clock pin, and the SDA is the data pin for I2C and TWI communication devices |
6 header pins | ICSP | Pins used to program the controller |
To further describe the Arduino Leonardo, we have explained the pins of the board by classifying them into different parts that will help the user in working on the Arduino Leonardo boards.
Digital pins of the Arduino Leonardo
To connect the digital devices with the Leonardo the Arduino has provided 14 pins in which the 0 and 1 pins are for transmitting and receiving the data and are also called the communication pins. From the word digital you can suppose the data will be in 0 and 1 form. Similarly to generate the input and output in the form of pluses you can use the pin 13,11,10, 9, 6, 5, 3 of the Leonardo as they are dedicated pins of PWM and the duty cycle of the pulse is from 0 to 255.
For the help of the user, we have given the image in which we have highlighted the respective pins
Analog pins of Arduino Leonardo
There are 6 analog pins provided in the Arduino Leonardo that can be used to connect the analog devices and have the resolution of 0 to 1024. This means that the values will be in between 0 and 1024 and in terms of voltage the 5 volts will be 1024.
There are two dedicated pins next to the AREF pin that can be used for the data line and clock of the I2C devices. However, we can also use pins A4 and A5 as the SDA and SCL pins for the devices that used I2C and TWI (Two Wire Interface) communication protocols.
The SDA pin is the data line for the connected device while SCL is the clock pin of the connected device. The figure attached below shows the analog pins of the Arduino by highlighting it in red.
Power pins of Arduino Leonardo
To supply power to the devices connected to the Arduino Leonardo there are 10 pins provided. There are three pins of ground, one pin for 5 volts, one pin for 3.3 volts and two pins for giving the reference voltage for analog and digital devices.
There is also a reset pin given in the board to RESET the Leonardo using an external button. However, there is also a dedicated RESET button provided on the Leonardo board
To connect the Arduino board with the supply voltage there is one built in USB port and a jack for power supply is also provided. The USB port can be used for power as well as to upload the code to the Arduino. Whereas the jack provided for the supply is mostly used when the Arduino has to function in standalone mode. The image below shows the power supply pins and the RESET button of the Arduino Leonardo.
ICSP header pins of the Arduino Leonardo
The Arduino Leonardo is equipped with 6 header pins that are dedicated for in circuit system programming (ICSP). These are mainly used to upload the code when the USB port is not available for uploading the sketch to the Leonardo:
Conclusion
Arduino Leonardo is the one of the Arduino boards that has one microcontroller board and built-in USB functionality which makes it different from other boards provided by the Arduino platform. However, to use this board, one must be aware of the board specifications and also the pinout of the respective Arduino board so that the board can be used effectively. For ease of the students, we have described the purpose of each pin of the Arduino Lenardo in a very comprehensive way.