Arduino Uno Pinout & Specs: The Complete Reference

Arduino Uno Pinout & Specs: The Complete Reference

Quick answer: The Arduino Uno has 14 digital pins (D0-D13), 6 of them PWM (3, 5, 6, 9, 10, 11), and 6 analog inputs (A0-A5). Unlike the ESP32 it has no input-only or strapping pins — but D0/D1 are the serial port, A4/A5 vanish when I2C runs, and the board is capped at about 200mA across all pins.

Written and fact-checked by Compoden's engineering team, India. The pin map and current limits below are read from our catalogue's own verified pin data for this board, not from a generic Uno diagram. Published 18 August 2026 · Last updated 18 August 2026.

The Arduino Uno's pinout is the friendliest in hobby electronics, and that is exactly why its real traps go unnoticed. There are no input-only pins to trip over and no strapping pins that break your boot — our board record says so explicitly. What catches people instead is quieter: two pins that are also the USB serial link, two analog pins that vanish the moment you call Wire.begin(), one pin permanently tied to an LED, and a total current budget that is smaller than most beginners assume.

Arduino Uno R3 — full pin map from our verified board record, August 2026
Pin Capabilities Caution
D0 (RX) Digital, UART0 RX USB serial — avoid; wiring here breaks uploads and Serial Monitor
D1 (TX) Digital, UART0 TX USB serial — avoid; same reason
D2 Digital, external interrupt One of only TWO interrupt pins
D3 Digital, PWM, external interrupt The other interrupt pin — and PWM-capable
D4, D7, D8 Digital only No PWM, no special function — the safest plain pins
D5, D6 Digital, PWM Generally safe
D9 Digital, PWM Generally safe
D10 Digital, PWM, SPI SS Reserve if using SPI
D11 Digital, PWM, SPI MOSI Reserve if using SPI
D12 Digital, SPI MISO Reserve if using SPI
D13 Digital, SPI SCK, onboard LED The onboard LED is wired here — a poor choice for an input
A0-A3 Analog in (10-bit), digital Usable as ordinary digital pins too
A4 Analog in, digital, I2C SDA Unavailable as GPIO while I2C is active
A5 Analog in, digital, I2C SCL Unavailable as GPIO while I2C is active

Verdict in one line: for a first project reach for D4-D9 first — they carry no bus duty, no LED and no serial responsibility, and four of them do PWM.

What are the Arduino Uno's core specs?

An ATmega328P running at 16 MHz, with 32 KB of flash and 2 KB of RAM, on 5V logic. It takes 7-12V through the barrel jack or 5V over USB, has a 10-bit ADC on its six analog inputs, one hardware UART, one I2C bus and one SPI bus. Two numbers here decide more projects than the clock speed does: 2 KB of RAM is genuinely small — our record lists "limited RAM (2KB) causes crashes with large sketches" as a known issue on the official board — and 5V logic means every 3.3V sensor you connect needs a level shifter or a divider.

Which Arduino Uno pins support PWM?

Exactly six: D3, D5, D6, D9, D10 and D11, marked with a tilde on the board silkscreen. Every other pin is digital on or off only, and no library can change that — unlike the ESP32, whose PWM peripheral can be routed in software to almost any pin, the Uno's PWM comes from three fixed hardware timers wired to those six pins. That matters when you are planning: an RGB LED needs three of the six, a servo library call quietly claims timer resources, and a project driving two motors plus an RGB LED has already spent five of the six before you add anything else.

Why does the Uno only have two interrupt pins?

Because the ATmega328P provides exactly two external interrupt lines, and they land on D2 and D3. If your project needs to catch a fast event — a rotary encoder click, a flow-meter pulse, a wake-on-button — it has to be on one of those two pins, and a project needing three such inputs needs a different approach (pin-change interrupts, or polling). This is a hardware allocation, not a library limitation. Note the overlap worth planning around: D3 is both an interrupt pin and one of the six PWM pins, so a build that needs two interrupts and lots of PWM is competing for the same pin.

Where are the I2C and SPI pins on an Arduino Uno?

I2C is on A4 (SDA) and A5 (SCL); SPI is on D13 (SCK), D12 (MISO), D11 (MOSI) and D10 (SS). The I2C assignment is the one that surprises people, because A4 and A5 look like ordinary analog inputs and are usable as such — right up until you call Wire.begin(). Our record states it plainly: "Wire uses hardware TWI on A4/A5 — those pins are unavailable as GPIO while I2C is active." So an Uno project with an I2C display or sensor has four analog inputs, not six. Plan the analog pins around the bus, not the other way round.

How much current can Arduino Uno pins actually supply?

About 20mA per pin as a working figure, 40mA as the absolute maximum, and roughly 200mA total across all pins together — and that last number is the one that catches people. Divide it: at the recommended 20mA per pin, the board runs out of total budget after about 10 pins. Wire fourteen LEDs directly to fourteen digital pins at 20mA each and you have asked for 280mA from a board rated for around 200mA, and the symptom will be dim LEDs, a hot regulator or a resetting board rather than a clear error. The separate 3.3V pin is limited to 50mA, which is not enough to run most 3.3V modules that expect their own supply. Anything with a motor, a relay coil or a strip of LEDs needs its own power supply and a transistor or driver — never the pin itself.

Arduino Uno total pin current budget against 14 pins at 20mA The Arduino Uno's total current across all pins is about 200 milliamps. Driving all 14 digital pins at the recommended 20 milliamps each would need 280 milliamps — about 40 percent over budget. The budget runs out at roughly 10 pins. Total current across all pins — budget vs demand, drawn to scale Budget~200 mA total 14 pins280 mA 10 pins200 mA Bar widths proportional: 400px = 280mA, so 200mA = 286px. At the recommended 20mA per pin the Uno's ~200mA total budget is spent after about 10 pins. Per-pin figures: ~20mA recommended, 40mA absolute maximum. The 3.3V pin is separately capped at 50mA.
The Uno's per-pin limit is well known; its whole-board limit is not. At 20mA a pin, the board's roughly 200mA total budget is gone after about ten pins — so a fourteen-LED build wired straight to the pins is already about 40% over. Figures are the current limits recorded in our own board data.

Does the Uno have any pins you must avoid, like the ESP32's strapping pins?

No — and this is the Uno's genuine advantage for a first build. Our board record states it directly: "no input-only or strapping pins". Every one of the Uno's 20 usable pins can be an input or an output, nothing is read at power-up to decide a boot mode, and no pin will stop the board from starting because a resistor held it the wrong way. Compare that with an ESP32, where five pins carry boot-mode duties and four cannot output at all. The Uno's cautions are all about what a pin is already being used for — serial, a bus, the onboard LED — not about breaking the board. That is a much more forgiving kind of mistake.

Which Uno should you buy: the Rs.230 clone or the Rs.1,850 original?

They are the same microcontroller, and the difference is the USB chip and the support behind it. The Rs.230 board uses a CH340G USB-serial chip, which needs a driver installed on some operating systems — our record names that as a known issue, along with the USB cable not being included. The Rs.1,850 official board uses an ATmega16U2 for USB, which needs no extra driver, and its recorded failure modes are different (a bricked 16U2 from a bad firmware update, rather than a driver hunt). Same ATmega328P, same 16 MHz, same 32 KB flash, same 2 KB RAM, same pin map. For learning and for most projects the clone is the sensible buy; the official board earns its price when you need guaranteed driver-free setup, official support, or you are buying for a lab where thirty driver installations is the real cost.

Which board should you actually buy?

For learning and general projects, the Arduino Uno R3 CH340G board (Rs.230) — the board this pin map is read from. If you want driver-free setup and official support, the original Arduino Uno R3 (Rs.1,850). If this is your first board and you have no parts at all yet, the UNO R3 Starter Kit (Rs.425) bundles an Uno board together with an 830-point breadboard, LEDs, 220Ω/1kΩ/10kΩ resistors, jumper wires and a 9V battery snap — Rs.195 more than the bare clone board, for everything you need on day one. All available cash on delivery across India.

What should you read next?

Ready to wire something? Our first Arduino project: button-controlled LED uses these pins for real. Comparing the Uno against a 3.3V board? See ESP32 vs Arduino Uno, and the ESP32 pinout guide for the contrast this post keeps drawing.

Not sure which pins your project should use? Open Soldr, describe your build in one sentence, and it will generate a wiring plan on the right pins for your exact parts.

Frequently asked questions

Arduino Uno mein kitne pins hote hain?

Arduino Uno mein 14 digital pins (D0 se D13) aur 6 analog pins (A0 se A5) hote hain - total 20 usable pins. In 14 digital pins mein se sirf 6 PWM kar sakte hain (3, 5, 6, 9, 10, 11). Interrupt sirf 2 pins par milta hai (D2 aur D3). I2C A4/A5 par hai aur SPI D10-D13 par. ESP32 ke ulat, Uno mein koi input-only ya strapping pin nahi hai - yani koi pin board ko boot hone se nahi rokta.

Which Arduino Uno pins are PWM?

Six of them: D3, D5, D6, D9, D10 and D11, marked with a tilde (~) on the board silkscreen. No other pin can do PWM, and unlike the ESP32 this cannot be reassigned in software — the Uno's PWM comes from fixed hardware timers wired to those six pins. Note that D3 is also one of the two interrupt pins and D10/D11 are SPI pins, so the six are in demand.

Can I use A4 and A5 as normal analog inputs?

Yes, until you use I2C. A4 and A5 are ordinary 10-bit analog inputs and can also serve as digital pins — but they are the hardware I2C lines (SDA and SCL), and our board record states they are unavailable as GPIO while I2C is active. So an Uno project with any I2C sensor or display effectively has four analog inputs, not six. Plan the analog pins around the bus.

How much current can an Arduino Uno pin supply?

About 20mA per pin as the working figure and 40mA as the absolute maximum, with roughly 200mA total across all pins together. That total is the limit people miss: at 20mA a pin, the budget is spent after about ten pins, so fourteen LEDs wired directly to fourteen digital pins asks for 280mA and will show up as dim LEDs, a hot regulator or a resetting board. The separate 3.3V pin is capped at 50mA. Anything with a motor, relay coil or LED strip needs its own supply and a driver.

What is the price of an Arduino Uno in India?

At Compoden, the Arduino Uno R3 CH340G board is Rs.230 and the original Arduino Uno R3 is Rs.1,850 — same ATmega328P and the same pin map, differing in the USB chip (CH340G, which needs a driver on some systems, versus the ATmega16U2, which does not). A UNO R3 Starter Kit, which bundles an Uno board with an 830-point breadboard, LEDs, resistors, jumper wires and a 9V battery snap, is Rs.425. All available with cash on delivery across India. Prices checked August 2026.

Back to blog

Open this project in the Soldr app → What is Soldr.ai → parts, wiring and code for what this guide builds