Board pinout
Arduino Leonardo Pinout
ATmega32u4 with native USB, so it can act as a USB keyboard or mouse (HID device). It runs at 5V logic with 24 usable GPIO pins. Every value below is verified against the pin map Banana Board uses to check real designs.
Interfaces
Watch out for
5V logic: safe with 5V sensors and modules, but level-shift when talking to 3.3V-only parts.
Pins by capability
A quick map of which pins do what. Colours match the pin table below.
Starter circuits to learn with
Beginner projects for the Arduino Leonardo. The pins below come straight from its real pin map, so they are safe to wire as shown.
Blink an LED
D0Drive an LED (through a ~220Ω resistor) from D0 and toggle it in loop(). The classic first sketch.
digitalWrite()
Fade an LED (PWM)
D3Use D3 with analogWrite() to smoothly ramp an LED from off to full brightness.
analogWrite()
Read a potentiometer
AREFWire a potentiometer's wiper to AREF and read its position with analogRead().
analogRead()
Read a button
D1Connect a push button between D1 and GND, set the pin to INPUT_PULLUP, and skip the external resistor.
digitalRead() + INPUT_PULLUP
Try it without the hardware
Describe one of these circuits in the Studio and the Arduino Leonardo runs a true in-browser simulation (avr8js): watch your loop() drive the LED or read the input before you touch a breadboard.
Full Arduino Leonardo pin map
| Pin | GPIO | Capabilities | Voltage | Notes |
|---|---|---|---|---|
| IOREF | — | Power | 5V | I/O reference voltage (5V) used by shields to detect logic level. |
| RESETRST | — | — | Active-low reset; pull LOW to reset the MCU. | |
| 3V3 | — | Power | 3.3V | 3.3V output from the onboard regulator (limited current). |
| 5V | — | Power | 5V | Regulated 5V rail (output when USB/VIN powered). |
| GND | — | GND | — | — |
| GND | — | GND | — | — |
| VIN | — | Power | — | Unregulated supply input (recommended 7-12V). |
| AREF | — | Analog | — | External analog reference voltage input for the ADC. |
| GND | — | GND | — | — |
| D00 RX | 0 | rxDigital | — | Serial1 RX (hardware UART). |
| D11 TX | 1 | txDigital | — | Serial1 TX (hardware UART). |
| D22 SDA | 2 | sdaDigital | — | Default hardware I2C SDA (Wire); shared with the dedicated SDA header pin near AREF. |
| D33 SCL | 3 | sclDigitalPWM | — | Default hardware I2C SCL (Wire); PWM capable; shared with the dedicated SCL header pin near AREF. |
| D44 A6 | 4 | DigitalADC | ADC8 | Also analog input A6. |
| D55 | 5 | DigitalPWM | — | — |
| D66 A7 | 6 | DigitalPWMADC | ADC10 | Also analog input A7. |
| D77 | 7 | Digital | — | — |
| D88 A8 | 8 | DigitalADC | ADC11 | Also analog input A8. |
| D99 A9 | 9 | DigitalPWMADC | ADC12 | Also analog input A9. |
| D1010 A10 | 10 | DigitalPWMADC | ADC13 | Also analog input A10. |
| D1111 | 11 | DigitalPWM | — | — |
| D1212 A11 | 12 | DigitalADC | ADC9 | Also analog input A11. |
| D1313 | 13 | DigitalPWM | — | Onboard LED (LED_BUILTIN). |
| MISO14 | 14 | misoDigital | — | Hardware SPI MISO on the ICSP header (Arduino D14). |
| SCK15 | 15 | sckDigital | — | Hardware SPI SCK on the ICSP header (Arduino D15). |
| MOSI16 | 16 | mosiDigital | — | Hardware SPI MOSI on the ICSP header (Arduino D16). |
| SS17 | 17 | csDigital | — | Hardware SPI SS/CS (Arduino D17); also drives the onboard RX LED. |
| A018 | 18 | DigitalADC | ADC7 | — |
| A119 | 19 | DigitalADC | ADC6 | — |
| A220 | 20 | DigitalADC | ADC5 | — |
| A321 | 21 | DigitalADC | ADC4 | — |
| A422 | 22 | DigitalADC | ADC1 | Plain analog/digital on the Leonardo (I2C is on D2/D3, not here). |
| A523 | 23 | DigitalADC | ADC0 | Plain analog/digital on the Leonardo (I2C is on D2/D3, not here). |
33 of 33 pins shown. Data verified against the board pin map Banana Board uses to check every design.
Design an Arduino Leonardo PCB from a sentence
Describe your Arduino Leonardo project and Banana Board wires it to these exact pins, validates it, then places and routes a fab-ready 2-layer board.
Frequently asked questions
Is the Arduino Leonardo 3.3V or 5V logic?
The Arduino Leonardo runs at 5V logic. Its I/O pins output and tolerate 5V, so it interfaces directly with 5V sensors and modules, but you must level-shift when talking to 3.3V-only parts.
How many GPIO pins does the Arduino Leonardo have?
The Arduino Leonardo exposes 24 usable GPIO pins, plus 4 power and 3 ground pins.
Which pins are PWM-capable on the Arduino Leonardo?
PWM (analogWrite / tone) is available on D3, D5, D6, D9, D10, D11, D13.
How many analog (ADC) inputs does the Arduino Leonardo have?
The Arduino Leonardo has 13 ADC-capable pins: AREF, D4, D6, D8, D9, D10, D12, A0, A1, A2, A3, A4, A5.
Build it, do not just look it up
Describe your circuit in one sentence and Banana Board wires it to these exact pins, validates it, and lays out a fab-ready PCB.