Interactive pinout

Pinout diagram — credit: . Shown for reference; refer to it alongside the interactive explorer below to confirm physical pin positions.

Click a pin on the left to see its full profile.

Quick scenarios

Highlight every pin on the current board that fits a common need.

Pin composer

Pick pins from the current board, name each one, set it as input or output, and get a minimal sketch — just the variable declarations and pinMode() calls. Nothing else.

Only pins available on the board selected above are listed.

No pins added yet — pick one above to get started.

Arduino code
// Add pins above to generate code.

Pin type glossary

What each pin type actually means, with a quick visual for how it's wired.

Digital I/O

A pin configured in software (via pinMode()) as either a digital input or output — HIGH/LOW only, no in-between values.

PWM

Only certain pins can fake an analog output by rapidly switching HIGH/LOW (analogWrite()) — used for LED dimming and motor speed control. Marked with a ~ on most boards' silkscreens.

Analog input (ADC)

Reads a varying voltage (potentiometers, analog sensors) as a number via analogRead() — these pins are typically labeled A0, A1, etc., separate from the digital pin numbering.

I2C

A 2-wire bus (SDA for data, SCL for clock) that lets one board talk to many devices on the same two pins, each with its own address — common for OLEDs and sensor breakouts.

SPI

A fast 4-wire bus (MOSI, MISO, SCK, SS) for one device at a time per SS line — used for SD cards, TFT displays, and radio modules. Every classic AVR board has exactly one SPI bus, on fixed pins.

External interrupts

A small set of pins can trigger code immediately on a signal change (attachInterrupt()) without waiting for the main loop to poll them — useful for buttons, encoders, or timing-sensitive sensors.

About this tool

Why this exists

Every Arduino board has a different number of pins, a different SPI/I2C default, and a different set of PWM-capable pins — details that are easy to mix up between an Uno, a Pro Micro, and a Mega. This tool puts the exact capabilities of each pin one click away, instead of a datasheet search.

What it does

Pick a board, click any pin, and see whether it's safe for general-purpose output, whether it supports PWM or analog input, and its default I2C/SPI role if any. Quick scenarios highlight every matching pin at once, and the Pin Composer turns a handful of chosen pins straight into a bare pinMode() sketch skeleton you can paste into your project.

A note on accuracy

Pin capabilities are standard across genuine boards using these MCUs, but clones and variants sometimes differ slightly in header layout — always cross-check against your specific board's silkscreen before wiring anything permanent.

PS — image credits: Arduino Uno, Nano, and Mega 2560 diagrams via Last Minute Engineers; Pro Micro and Pro Mini diagrams via The Engineering Projects. All diagrams are hotlinked from their original sources and remain their creators' work — used here for reference only.