Skip to main content

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.

MCU
AVR
Logic
5V
GPIO
24
PWM
7
Analog
13
Ground pins
3

Interfaces

PWM pinsD3, D5, D6, D9, D10, D11, D13
Analog inputs13 pins

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.

Power
IOREF3V35VVIN
Ground
GNDGNDGND
PWM
D3D5D6D9D10D11D13
Analog / ADC
AREFD4D6D8D9D10D12A0A1A2A3A4A5

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

D0

Drive an LED (through a ~220Ω resistor) from D0 and toggle it in loop(). The classic first sketch.

digitalWrite()

Fade an LED (PWM)

D3

Use D3 with analogWrite() to smoothly ramp an LED from off to full brightness.

analogWrite()

Read a potentiometer

AREF

Wire a potentiometer's wiper to AREF and read its position with analogRead().

analogRead()

Read a button

D1

Connect 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.

Build & simulate in the Studio

Full Arduino Leonardo pin map

PinGPIOCapabilitiesVoltageNotes
IOREFPower5VI/O reference voltage (5V) used by shields to detect logic level.
RESETRSTActive-low reset; pull LOW to reset the MCU.
3V3Power3.3V3.3V output from the onboard regulator (limited current).
5VPower5VRegulated 5V rail (output when USB/VIN powered).
GNDGND
GNDGND
VINPowerUnregulated supply input (recommended 7-12V).
AREFAnalogExternal analog reference voltage input for the ADC.
GNDGND
D00 RX0rxDigitalSerial1 RX (hardware UART).
D11 TX1txDigitalSerial1 TX (hardware UART).
D22 SDA2sdaDigitalDefault hardware I2C SDA (Wire); shared with the dedicated SDA header pin near AREF.
D33 SCL3sclDigitalPWMDefault hardware I2C SCL (Wire); PWM capable; shared with the dedicated SCL header pin near AREF.
D44 A64DigitalADCADC8Also analog input A6.
D555DigitalPWM
D66 A76DigitalPWMADCADC10Also analog input A7.
D777Digital
D88 A88DigitalADCADC11Also analog input A8.
D99 A99DigitalPWMADCADC12Also analog input A9.
D1010 A1010DigitalPWMADCADC13Also analog input A10.
D111111DigitalPWM
D1212 A1112DigitalADCADC9Also analog input A11.
D131313DigitalPWMOnboard LED (LED_BUILTIN).
MISO1414misoDigitalHardware SPI MISO on the ICSP header (Arduino D14).
SCK1515sckDigitalHardware SPI SCK on the ICSP header (Arduino D15).
MOSI1616mosiDigitalHardware SPI MOSI on the ICSP header (Arduino D16).
SS1717csDigitalHardware SPI SS/CS (Arduino D17); also drives the onboard RX LED.
A01818DigitalADCADC7
A11919DigitalADCADC6
A22020DigitalADCADC5
A32121DigitalADCADC4
A42222DigitalADCADC1Plain analog/digital on the Leonardo (I2C is on D2/D3, not here).
A52323DigitalADCADC0Plain 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.

AI PCB designer

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.

Start vibe PCB designing

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.

Start building free