Check how much current your loads draw against a board's published per-pin, all-pins, 3.3 V and 5 V limits — and what to add when you are over.
What you want to connect
Several devices on one pin? Enter them as a single load and add their currents together — that way the per-pin check never has to guess how you split them.
mA
From the part's datasheet, or measure it.
One GPIO pin each.
mA
How many of these hang off that pin.
mA
One GPIO pin each.
mA
One GPIO pin each.
mA
One GPIO pin each.
mA
One GPIO pin each.
Advanced — 500 mA supply · 20 % margin
mA
Seeded from the board you picked. Type your own if you know it.
mA
Leave a figure at 0 if your board's documents do not publish one — the calculator will say so rather than invent it.
mA
mA
Raspberry Pi Pico / Pico W (RP2040) — four budgets checked
Inside every limit — the tightest is one pin at 10 of 12 mA
Your 20 % safety margin puts the caution line at 9.6 mA; the limit itself is 12 mA.
All GPIO pins together · spec
30 mA of 50 mA
20 mA left
30 mA of the 50 mA all-pins budget
40 50
Worst single pin · spec
10 mA of 12 mA
2 mA left
The 3.3 V pin · recommended
20 mA of 300 mA
280 mA left
Your 5 V supply · your supply
0 mA of 500 mA
Budget set by your supply, not by the board.
3 GPIO pins in use
One pin is carrying 0 mA, above this pad's top drive setting of 0 mA. It will pass that current, but the output voltage stops meeting spec.
: this board publishes no limit, so that budget is left out of the comparison.
Your loads
Load
Each (mA)
How many
Connected to
Total (mA)
Check
Load 1
10
3
GPIO pin
30
tight
Load 2
20
1
3.3 V pin
20
ok
GPIO / board current budget — Raspberry Pi Pico / Pico W (RP2040)
Verdict: Inside every limit — the tightest is one pin at 10 of 12 mA
Per GPIO pin | 12 mA | Spec limit — above it the output voltage stops meeting spec | 10 mA | 2 mA left
All GPIO pins together | 50 mA | Spec limit — above it the output voltage stops meeting spec | 30 mA | 20 mA left
The 3.3 V pin | 300 mA | Recommended maximum — the manufacturer's advice, not a rating | 20 mA | 280 mA left
Your 5 V supply | 500 mA | Your supply, not the board | 0 mA | 500 mA left
Safety margin: 20 %
This board's budgets
Budget
Limit
What kind of limit
You are using
Left
Per GPIO pin
12
Spec limit — above it the output voltage stops meeting spec
10
2
All GPIO pins together
50
Spec limit — above it the output voltage stops meeting spec
30
20
The 3.3 V pin
300
Recommended maximum — the manufacturer's advice, not a rating
20
280
Your 5 V supply
500
Your supply, not the board
0
500
Figures read from Raspberry Pi Pico / Pico W (RP2040)'s own documents. A dash means the manufacturer publishes none — that budget is printed but not compared.
The calculation, line by line
GPIO pins: 3 × 10 = 30 mA across 3 pins
3.3 V pin: 1 × 20 = 20 mA
5 V pin: nothing = 0 mA
Tightest: one pin at 10 of 12 mA — 2 mA left
A pin should switch this load, not carry it
One pin is at 10 mA against the 12 mA this board allows. Drive a transistor or a MOSFET from the pin, or use a driver IC, and let the load's current come from the supply instead of through the pad.
The chip cannot supply this, whatever you do per pin
All GPIO pins together come to 30 mA against 50 mA. Power the load from the supply and let the board only control it — a PCA9685 for plain LEDs, WS2812B or APA102 for addressable ones — with the grounds tied together.
Give it its own supply
Your 5 V supply is over by 0 mA. Feed the load from its own regulated supply and tie the grounds together.
What each board can supply
Board
Per pin
Kind
Max drive setting
All pins together
3.3 V pin
Note
Raspberry Pi 5 / 500
16
safe
12
50
not published
The 16 mA and 50 mA figures are Raspberry Pi's general pad guidance; no BCM2712 or RP1 document publishes a per-pin or total current. RP1's drive settings top out at 12 mA.
Raspberry Pi 4 Model B / 400
16
safe
8
50
not published
BCM2711 pads default to 4 mA drive and top out at 8 mA — half the older models.
Raspberry Pi 3 (B / B+ / A+)
16
safe
16
50
not published
BCM2835-family pads default to 8 mA drive and top out at 16 mA.
Raspberry Pi Zero 2 W
16
safe
16
50
not published
The RP3A0 uses BCM2835-family pads: 8 mA default drive, 16 mA maximum.
Raspberry Pi Zero / Zero W
16
safe
16
50
not published
BCM2835 pads: 8 mA default drive, 16 mA maximum.
Raspberry Pi Pico / Pico W (RP2040)
12
spec
12
50
300
RP2040's 50 mA covers the GPIO and QSPI pins together, and applies separately to sourcing and sinking. A pin wakes up at 4 mA drive, not 12.
Raspberry Pi Pico 2 / Pico 2 W (RP2350)
12
spec
12
100
300
RP2350 splits the budget: 100 mA across the GPIO pins and 20 mA across QSPI, each way. A pin still wakes up at 4 mA drive.
Arduino Uno R3 / Nano (ATmega328P)
40
absolute max
20
200
50
40 mA and 200 mA are absolute maximum ratings, not operating figures. The port groups bite first: 150 mA summed per source group (there are two) and 100 mA per sink group (there are three).
ESP32 dev board (ESP32-WROOM-32)
40
spec
40
1,200
not published
The 1 200 mA is an absolute-maximum stress rating, not a budget — a dev board's regulator and USB port are the real ceiling. Per-pin current also falls from about 40 mA to about 29 mA as more pins in the same domain source at once.
Every figure read from the manufacturer's own document, checked 2026-09-17. A cell that reads “not published” is one the manufacturer does not state.
What this check does not cover
Current flowing into a pin. That is a clamp-diode question in the datasheet, not arithmetic.
Inrush, stall and transient current. A motor or a big capacitor draws far more in the instant it starts.
PWM duty cycle. The pad sees the peak, so dimming an LED does not lower what this page checks.
Simultaneous switching, thermal and package limits. Raspberry Pi says these depend on your board, decoupling and load, and are outside its control.
What each part draws. You type the milliamps: no component list is published here, because even the WS2812B's famous 60 mA is not in its own datasheet.
Resistor values, LED forward voltage and Ohm's law.
Battery runtime, power-supply efficiency and cable voltage drop.
HAT power negotiation and USB enumeration.
Board figures checked 2026-09-17
Every per-pin, all-pins and rail figure is read from the manufacturer document named under Sources. Nothing on this page is a community estimate.
GPIO current budget calculator. Per pin, all pins, the 3.3 V pin and your 5 V supply.
A GPIO current budget calculator checks your loads against the four limits a board publishes: per pin, all pins together, the 3.3 V pin and the 5 V supply. It names the one that binds first, says what kind of ceiling that number is, and prints a dash rather than a guess wherever the manufacturer publishes nothing.
What is a GPIO current budget?
A GPIO current budget is the set of ceilings a board's own documents put on the current its pins can deliver: one for a single pin, one for all the GPIO pins added together, one for the 3.3 V pin on the header, and one for whatever supply feeds the 5 V side. A wiring plan has to clear all four, and the board gives out at whichever one is lowest.
Those four numbers are not the same kind of number, and the difference decides how close to them you can run. Raspberry Pi's 16 mA per pin is a safe current: the pads are designed for it, and below it you will not damage the part. The same document adds the sentence most summaries drop, that other than that "there is no guaranteed maximum safe current". Above the Pico's 12 mA, a spec limit, the pin keeps passing current while the output voltage stops meeting spec. Microchip prints the Arduino Uno's 40 mA per pin and 200 mA through VCC or GND under a warning that stresses beyond the listed ratings may cause permanent damage, which makes them absolute maximum ratings — figures to design away from rather than budgets to spend. And the Pico's 300 mA on its 3.3 V pin is a recommended maximum, Raspberry Pi's advice rather than a measurement.
Chips pool the all-pins budget differently, which is where a rule of thumb carried from one board to another goes wrong. RP2040, the chip in the original Pico, caps the sum of everything sourced by its GPIO and QSPI pins at 50 mA, with a separate 50 mA cap on everything sunk into them. RP2350, in the Pico 2, splits the same idea in two: 100 mA across the GPIO pins plus 20 mA across QSPI, again each way. Two boards from the same family, with the same 12 mA per pin and the same 26 exposed GPIO, answer "how many LEDs" differently. That is why this page carries a per-board table instead of one set of numbers.
Some budgets are not published at all, and saying so is more useful than filling the gap. No Raspberry Pi document states a current limit for the 3.3 V header pins on a Pi. What the pad documentation does say is that the 3.3 V supply was designed for about 3 mA per GPIO pin, which describes the pads' own draw rather than the header pin's allowance. The figures in circulation come from elsewhere: pinout.xyz lists 500 mA for models since the B+ while stating in the same paragraph that "due to lack of documentation and testing on the actual limits, 500mA is given as a rule of thumb", and the 50 mA still quoted describes the early boards. This calculator prints a dash for that cell, leaves it out of the verdict, and says so on the card.
One more distinction saves boards: a drive strength is not a current limit. The 2/4/8/12 mA settings on an RP2040 pad, and the 2 to 16 mA ladder on a Raspberry Pi, set how hard the pin pulls, which is the current under which the output still meets its voltage spec. Load a pad set to 4 mA with 16 mA and it will pass 16 mA; the voltage sags, and on a Raspberry Pi the part survives because 16 mA is still inside the safe current. The RP2350 datasheet says the same thing about its own table in one line: these figures "are not hard limits, nor do they mean that they will always source (or sink) the selected amount of milliamps". A Pico pin, incidentally, boots at the 4 mA setting rather than 12.
What each board publishes, and what kind of number it is
Board
Per GPIO pin
All GPIO pins
3.3 V pin
Top drive setting
Raspberry Pi 5 / 500
16 mA — safe
50 mA — safe
Not published
12 mA
Raspberry Pi 4 Model B / 400
16 mA — safe
50 mA — safe
Not published
8 mA
Raspberry Pi 3 (B / B+ / A+)
16 mA — safe
50 mA — safe
Not published
16 mA
Raspberry Pi Zero 2 W
16 mA — safe
50 mA — safe
Not published
16 mA
Raspberry Pi Zero / Zero W
16 mA — safe
50 mA — safe
Not published
16 mA
Pico / Pico W (RP2040)
12 mA — spec
50 mA — spec, GPIO + QSPI pooled
300 mA — recommended
12 mA
Pico 2 / Pico 2 W (RP2350)
12 mA — spec
100 mA — spec, plus 20 mA for QSPI
300 mA — recommended
12 mA
Arduino Uno R3 / Nano (ATmega328P)
40 mA — absolute max
200 mA — absolute max
50 mA — recommended
20 mA
ESP32 dev board (ESP32-WROOM-32)
40 mA — spec
1,200 mA — absolute max
Not published
40 mA
How to use the GPIO current budget calculator
The calculator opens on a Raspberry Pi Pico with three 10 mA loads on GPIO pins, one 20 mA load on the 3.3 V pin, and a 20% safety margin. That state is inside every limit and still amber, because 10 mA against a 12 mA spec limit is already past the margin line at 9.6 mA. Knowing the difference between a margin and a limit is the whole point of the default.
1. Pick your board from the nine rows. The four budgets, the drive ladder, the pin count and the seeded 5 V supply all follow it. "Another board — I'll type the limits" takes a per-pin, all-pins and 3.3 V figure you read off a datasheet the list does not cover.
2. Fill in the first row under "What you want to connect": the current each one takes, how many of them there are, and whether it hangs off a GPIO pin, the 3.3 V pin or the 5 V pin. Up to six loads fit.
3. Type the current the part draws in your circuit, measured or read from its own datasheet. There is no component library here on purpose. What an LED draws depends on the resistor you chose, its color and the voltage you are running it at, and some famous component figures are not published anywhere — WS2812B's familiar 60 mA per LED is not in the WS2812B datasheet.
4. Open Advanced when you need it. It holds your 5 V supply's rating, the safety margin at 0, 10, 20 or 30%, and, for a custom board, the three limits you type yourself.
5. Read the verdict card first. It runs the full width and its color is the color of whichever check binds, so it will never show you a green verdict over an amber check. It either names the tightest budget with its numbers, or says how many milliamps over you are and on which one.
6. Read the check cards underneath: all GPIO pins together with a gauge, the worst single pin, the 3.3 V pin, and your 5 V supply when something is connected to it. Each heading carries the kind of limit it is testing, so you can see whether the ceiling you are approaching is a safe current or an absolute maximum.
7. Check the detail lines: how many pins are in use, the drive-strength note when a pin carries more than its pad's top setting and still stays inside the per-pin limit, and the list of budgets left out of the comparison because the manufacturer publishes no figure.
8. Copy the board's budgets. "This board's budgets" has a copy button, and what it produces — four labeled rows, the verdict, the margin, and a dash wherever nothing is published — is the object to paste under a forum question.
Worked examples on real boards
Eight RGB LEDs wired straight to a Pico's pins
Eight common-cathode RGB LEDs are 24 separate channels, and at 20 mA each that asks 480 mA of the GPIO pins across 24 pins. The Pico's all-pins budget is 50 mA, so the verdict is over by 430 mA on all GPIO pins together. The per-pin check fails as well, at 20 mA against a 12 mA spec limit, but the total is what decides the answer: no amount of shuffling loads between pins fixes a chip-level sum, and the remedy card says so.
This is the question that produced the calculator. A Raspberry Pi forum post from 5 September 2026 opens "To my understanding, there is only 50 mA of current total that the pi pico can output, meaning that I can't just wire these to the gpio pins and ground." The replies confirm that the 50 mA applies to sinking as well as sourcing, and send the poster to a PCA9685 driver or to WS2812B and APA102 addressable LEDs, which carry their own supply and need one or two pins instead of 24.
The same eight LEDs on a Pico 2
Swap RP2040 for RP2350 and the pooled total doubles to 100 mA, with 20 mA more set aside for the QSPI pins. The 480 mA is still 380 mA over, and the per-pin figure has not moved: 20 mA against the same 12 mA spec limit.
Upgrading the board buys 50 mA where the LEDs want nearly ten times that. This pair of examples is the clearest argument for a per-board dataset — the same sentence describing the same wiring gets two different numbers on two boards most people would call "a Pico".
Four LEDs at 15 mA each on a Raspberry Pi 5
15 mA on a single pin sits inside the Pi's 16 mA safe current with 1 mA to spare, which the calculator bands as tight rather than green. Four of them is 60 mA across the GPIO pins against a 50 mA all-pins safe figure, so the verdict is over by 10 mA and the binding check is the total.
A second line appears underneath: 15 mA is above the Pi 5's top drive setting of 12 mA, so the pin will pass the current while its output voltage stops meeting spec. What looks like a modest four-LED panel crosses two different ceilings at once.
One 15 mA load on a Pico pin — the drive-strength window
A single 15 mA load on one GPIO pin of a Pico comes out over by 3 mA. The total is comfortable at 15 mA of 50 mA and the 3.3 V pin is untouched; the only failure is the pin itself, 15 mA against a 12 mA spec limit.
Because one pin is over while the chip has room, the remedy is a transistor or MOSFET rather than a driver IC. The same 15 mA wired to a Raspberry Pi comes out inside every limit, though tight, because the Pi's per-pin figure is a 16 mA safe current where the Pico's is a 12 mA spec limit. One rule of thumb cannot carry that gap across two boards.
A 70 mA relay module on one Pi 5 GPIO pin
70 mA from one pin is 54 mA over the Pi's 16 mA safe current, and on its own it is also 20 mA over the 50 mA all-pins figure. The binding check is the pin, and the calculator points at a driver rather than a transistor because the chip total is over too — the load is too big for the chip, not just for one of its pins.
The arrangement that works feeds the module from the 5 V pin and lets the GPIO switch it through a transistor or MOSFET, so the pin controls the load instead of carrying it. Many relay boards already contain that transistor and an opto-isolator; when yours does, type the current its input draws rather than the coil's.
A 30 mA sensor on the 3.3 V pin of a Pi 5 — the budget with no published figure
Nothing is on the GPIO pins and the only load sits on the 3.3 V header pin. The verdict reports that no limit is published for this board, prints the sum of 30 mA on the 3.3 V pin, and leaves the comparison undone. A dash is the honest output, because Raspberry Pi has not stated what that pin is good for.
The same 30 mA on a Pico would be measured against the 300 mA its datasheet recommends, and on an Arduino Uno against the 50 mA Arduino publishes for its 3.3 V pin. Only two of those three boards have a number to compare the sensor against, and the card says which case you are in rather than silently passing you.
60 mA on the Arduino Uno's 3.3 V pin
Arduino's own tech specs give the Uno's 3.3 V pin 50 mA, a figure that comes from the board's regulator rather than from the ATmega328P. A 60 mA load is 10 mA over, the binding check is the 3.3 V pin, and the remedy is its own regulated supply, because the shortfall sits in the supply rather than in a pin.
The chip's budgets are untouched: 0 mA against the 40 mA per-pin absolute maximum and 0 mA against the 200 mA total. A 3.3 V sensor never touches the ATmega at all, which is why a check built only from the chip's per-pin and total figures would wave this build through.
Six LEDs at 20 mA on an ESP32 dev board
20 mA per pin against the ESP32's 40 mA figure, and 120 mA against a cumulative 1,200 mA, so every check passes and the tightest one is the per-pin at half its limit.
Read the kind labels before relaxing. The 1,200 mA is an absolute-maximum stress rating, and Espressif's own note says the per-pin figure slides from about 40 mA towards 29 mA as more pins in the same power domain source at once. The ceiling you meet in practice on a dev board is its 3.3 V regulator and the USB port behind it, and because that rating belongs to whoever assembled the board rather than to Espressif, this check cannot include it.
A 1 A motor on the 5 V pin of a Pi 4 with a 3 A supply
The 5 V budget is your supply minus what the board takes for itself. A Pi 4 with a 3,000 mA supply and the row's 800 mA of bare-board draw — the higher of the Pi 4 Model B's 600 mA and the Pi 400's 800 mA — leaves 2,200 mA on the 5 V pin, so a 1,000 mA motor passes with 1,200 mA left and the 5 V supply is the binding check. The GPIO budgets are not involved at all.
This is the one budget you can raise by buying a bigger power brick; the other three are set in silicon. Inrush and stall current are a separate question this check does not model — a motor's start-up draw can be several times the steady figure you typed, and it is the supply, not the calculator, that has to survive it.
Seven ways a GPIO budget gets misread
Reading the Pico's 50 mA as a per-pin figure. It is the sum of everything sourced by the RP2040's GPIO and QSPI pins together, with a second, separate 50 mA for everything sunk into them. When a Raspberry Pi forum thread about drive strengths went round in circles, a Raspberry Pi engineer posting as jamesh settled it in one line: "IOVDD current <=50mA".
Treating drive strength as the ceiling. The 2/4/8/12 mA settings choose how hard the pad pulls rather than how much it will pass. A Pico pin boots at the 4 mA setting, and that setting is no more a ceiling than the 12 mA one is.
Quoting 50 mA or 500 mA for a Raspberry Pi's 3.3 V pin. Neither figure appears in a Raspberry Pi document. pinout.xyz lists 500 mA for models since the B+ and says in the same paragraph that it is "a rule of thumb" given the lack of documentation and testing, while the 50 mA describes the early boards' regulator.
Spending an absolute maximum rating. The Uno's 40 mA per pin sits under Microchip's heading warning that stresses beyond the listed ratings may cause permanent damage. Arduino's tech specs give 20 mA as the DC current per I/O pin, and that is the figure the ATmega's characteristics are tested at.
Forgetting the Uno's port groups. Before the 200 mA total bites, two source groups capped at 150 mA each and three sink groups capped at 100 mA each do. This calculator cannot apply them, because it never asks which physical pin a load sits on or whether it sources or sinks — so an Uno reading tight at 180 mA across clustered pins may already be past a group limit.
Assuming PWM divides the current. Dimming an LED to 50% duty halves the average, and the pad still sees the full peak for as long as the pin is high. Every budget on this page is a peak figure, so type the peak.
Trusting a component's famous current number. WS2812B's widely quoted 60 mA per LED is not in the WS2812B datasheet, which publishes no per-LED supply current at all. That absence is why this page has no component library and asks for the milliamps of the part you bought, or of a meter reading.
Getting a wiring plan through all four budgets
Check what kind of number you are leaning on. A safe current has designed-in room above it and an absolute maximum has none, so 14 mA against a Pi's 16 mA safe current is a design choice while 38 mA against an Uno's 40 mA absolute maximum is a gamble.
Let the margin do the arithmetic. It sits under Advanced at 0, 10, 20 or 30% and defaults to 20%, and it bands a check as tight once you cross it. On the default Pico state, three 10 mA LEDs turn amber at the 9.6 mA line rather than waiting for the 12 mA limit.
Paste the budgets table into your forum post. The copy button on "This board's budgets" produces four labeled rows plus the verdict and the margin, which is exactly what a reply needs when somebody asks what your board can supply.
Match the remedy to the check that failed. One pin over with the chip total fine calls for a transistor or MOSFET, so the pin switches the load instead of carrying it. The chip total over calls for a driver IC — PCA9685 for plain LEDs, WS2812B or APA102 for addressable strings — because rearranging pins cannot fix a chip-level sum. A rail over calls for its own regulated supply.
On a Pi 4, mind the gap between drive and safe current. The 4-series drive ladder tops out at 8 mA while the 16 mA safe current is unchanged, so anything between the two runs a pin that passes the current with its output voltage outside spec. The calculator prints that line when it applies.
A Pico 2 raises the total and leaves the pin alone. RP2350 takes the pooled GPIO figure from 50 mA to 100 mA and gives QSPI its own 20 mA, while the per-pin 12 mA stays exactly where it was. If the per-pin check is what failed, the new board changes nothing.
Size the 5 V pin from your supply. That budget is what you told the calculator your supply delivers, minus the board's published bare-board draw: 800 mA on the Pi 5 and Pi 4 rows, 150 mA on the Zero / Zero W row. Raise the supply and the budget moves with it, which is not true of the three silicon budgets.
What this check does not cover
Every per-pin, all-pins and rail figure here is read from the manufacturer document named under Sources, and the dataset was re-derived cell by cell on 17 September 2026. Where a row covers more than one model, it carries the higher published bare-board draw of the models it names, which keeps the 5 V headroom from being overstated. Nothing in the table is a community estimate, and nothing is interpolated.
Several things sit outside the arithmetic on purpose, and a build can clear all four budgets and still fail on one of them.
Current flowing into a pin. That is a different question, answered by the input specification and the clamp diodes rather than by a budget.
Inrush, stall and transient current. A motor's start-up draw and a capacitor's charging spike run several times the steady figure you type, and neither is modelled.
PWM duty cycle. The pad sees the peak for as long as the pin is high, so a dimmed LED contributes its full current here. That is the conservative reading and the right one for a pad limit.
Simultaneous switching, thermal and package limits. Espressif's note that the ESP32's per-pin current slides from about 40 mA towards 29 mA as more pins in the same domain source at once is one example; the package's overall dissipation is another.
The Arduino Uno's port groups. Two source groups at 150 mA each and three sink groups at 100 mA each bite before the 200 mA total does, and applying them would need a per-pin assignment and a source-or-sink choice this page never asks for.
The Pi 5's figures are Raspberry Pi's general pad guidance. No BCM2712 or RP1 document publishes a per-pin or total current — RP1's peripherals manual has no electrical-characteristics section at all. The 16 mA and 50 mA come from Raspberry Pi's model-wide pad and power-supply pages, which list the Pi 5 among the boards they cover without qualifying the figures by model. RP1's drive settings do top out at 12 mA, and that part is documented.
The ESP32's all-pins check rarely binds. 1,200 mA is the only cumulative figure Espressif publishes and it is a stress rating, so a build pulling 400 mA across the pins reads as inside every limit here while the dev board's own 3.3 V regulator may already be the thing giving way. That regulator's rating belongs to the board maker rather than to Espressif, which is why no figure for it exists in this dataset.
Ohm's law is somewhere else. Resistor values, LED forward voltage, battery runtime, supply efficiency, cable drop, HAT power negotiation and USB enumeration are separate calculations, and none of them runs here.
GPIO current limits — frequently asked questions
How much current can a GPIO pin supply?
It depends on the chip. A Raspberry Pi pad is designed for 16 mA as a safe current, a Pico or Pico 2 pin is specified to 12 mA, an ESP32 pin to 40 mA, and an Arduino Uno pin carries a 40 mA absolute maximum rating with a 20 mA operating figure.
Is the Raspberry Pi Pico's 50 mA limit per pin or for all pins together?
All pins together. RP2040's datasheet caps the sum of everything its GPIO and QSPI pins source at 50 mA, and separately caps everything they sink at 50 mA. The per-pin figure is 12 mA.
Does the Pico 2 have a higher GPIO current limit than the Pico?
Yes for the total, and no for the individual pin. RP2350 publishes 100 mA across the GPIO pins plus 20 mA across the QSPI pins, each way, where RP2040 pooled GPIO and QSPI into a single 50 mA figure in each direction. Per pin, both chips are specified at 12 mA with a top drive setting of 12 mA, and both boot at the 4 mA setting. Doubling the pooled total is worth having for a panel of indicator LEDs, and it changes nothing about what one pin will do.
How many LEDs can a Raspberry Pi Pico drive?
Divide the 50 mA total by what each LED draws, then check the per-pin figure separately. At 2 mA per LED, which is bright enough for an indicator, twenty LEDs on twenty pins add up to 40 mA and pass — the arrangement a model railway builder settled on after asking this exact question on the Raspberry Pi forum. At 20 mA each the total allows two, but 20 mA on one pin is already past the 12 mA spec limit, so the honest answer is a transistor per LED or a driver IC. Eight RGB LEDs, which are 24 channels, ask for 480 mA and are almost ten times over; that is a driver IC or an addressable strip, not a wiring change.
What happens if I exceed the GPIO current limit?
It depends which limit and what kind it is. Past a spec limit the pin keeps conducting while the output voltage leaves its specified range, which breaks logic levels before it breaks hardware. Past an absolute maximum rating you are in the region the manufacturer says may cause permanent damage. Raspberry Pi's pad documentation is blunt about the middle ground: 16 mA is a safe value under which you will not damage the device, and "other than that, there is no guaranteed maximum safe current". A Pico owner who asked the forum about pushing 65 mA through ten GPIOs was warned about thermal and electromigration effects, the kind of damage that surfaces as a board that worked for months and then did not, and ended up adding a MOSFET instead.
How much current can the Raspberry Pi 3.3 V pin supply?
Raspberry Pi publishes no figure for it. The pad documentation says the 3.3 V supply was designed for about 3 mA per GPIO pin, which describes the pads' own consumption rather than the header pin's allowance, and no other Raspberry Pi document states a limit for the pin itself. The numbers in circulation come from elsewhere: 50 mA describes the early boards' regulator, and pinout.xyz's 500 mA is offered by its own author as a rule of thumb given the lack of documentation and testing. This calculator prints a dash there and leaves the 3.3 V pin out of the verdict on a Pi. On a Pico the answer does exist — under 300 mA, recommended by the Pico datasheet — and on an Arduino Uno it is 50 mA from the board's own regulator.
Is drive strength the same as a current limit?
No. A drive strength is the current under which the pad still meets its output-voltage specification. Load a pin past its setting and it will pass the current with a sagging voltage. The RP2350 datasheet says its own numbers "are not hard limits".
Can I connect a relay module directly to a GPIO pin?
Check what the module's input draws before wiring it. A 70 mA relay on a Raspberry Pi 5 pin comes out 54 mA over the 16 mA per-pin safe current and 20 mA over the 50 mA chip total at the same time. The arrangement that works feeds the module from the 5 V pin and lets the GPIO switch a transistor or MOSFET, so the pin controls the load rather than carrying it. Many relay boards ship with that transistor and an opto-isolator already on them, in which case the figure to type is the input current, not the coil's.
How many LEDs can an Arduino Uno drive?
The ceiling the Uno publishes is 200 mA through its VCC and GND pins, which is an absolute maximum rating rather than an operating budget, and Arduino's tech specs give 20 mA as the DC current per I/O pin. Below the 200 mA there are group limits that bite first: two source groups of 150 mA and three sink groups of 100 mA, split by which physical pins you used. Work from the 20 mA figure, keep a margin under the group limits, and treat any panel whose total crosses one of them as a shift-register or driver job.
Why does the ESP32 say 1,200 mA, and can I use it?
1,200 mA is the cumulative IO output current in the ESP32 datasheet's absolute-maximum table, published as a stress rating under the note that normal operation at those conditions is not implied. This page labels it absmax for that reason, and the practical consequence is that on an ESP32 the all-pins check almost never binds. The limit you will meet first on a dev board is its 3.3 V regulator and the USB port feeding it, and that figure belongs to whoever made your board rather than to Espressif, so it is not in this dataset. Espressif also notes that per-pin current slides from about 40 mA towards 29 mA as more pins in the same power domain source at once.
Where do these board limits come from?
Each one is read out of the manufacturer's own document, named in the Sources list under the calculator: the RP2040 and RP2350 datasheets for the Picos' pin and total figures, the Pico and Pico 2 datasheets for their 3.3 V recommendation, Raspberry Pi's hardware documentation for the pad and power-supply figures, RP1's peripherals manual for the Pi 5's drive settings, the ESP32 datasheet for Espressif's numbers, and the ATmega328P datasheet plus Arduino's Uno Rev3 tech specs for the Uno. The dataset was re-derived cell by cell on 17 September 2026. Where a document publishes nothing, the table carries a dash rather than a substitute — which is also why the Uno's 3.3 V figure comes from Arduino's product page: the current UNO R3 datasheet leaves its own power-consumption row as an unfilled "xx mA" placeholder.
Is this GPIO current calculator free?
Yes. It runs in the browser, needs no account and no download, and recalculates as you type. The budgets table has a copy button so the result can go straight into a forum thread or a project log.
The calculator says I am over. What do I change?
Read which check bound, because the three failures need different parts. One pin over while the chip total is fine is a switching problem: put a transistor or MOSFET between the pin and the load, and the pin then carries only what it takes to switch. The chip total over cannot be fixed by moving loads around — a driver IC takes the whole set, PCA9685 for plain LEDs and WS2812B or APA102 for addressable ones, with the LEDs running off their own supply. A rail over, whether the 3.3 V pin or the 5 V supply, means the part needs its own regulated feed or a bigger power brick. The calculator opens exactly one remedy card, and the chip total outranks the pin: when all the pins together are over you get the driver card even if a single pin is over as well.
My result says tight rather than over. Is that a problem?
Tight means you are inside the published limit but past the safety margin, which defaults to 20%. On a Pico pin that is the band from 9.6 mA to 12 mA. Whether to accept it depends on the kind of ceiling: a safe current has designed-in room above it, a spec limit means the output voltage is already close to leaving its window, and an absolute maximum should not be approached at all. Component tolerance, supply voltage and temperature all move the real current around the figure you typed, and absorbing that is what the margin is for.
GPIO current glossary
Safe current
A current below which the manufacturer states you will not damage the part. Raspberry Pi's pads are designed for 16 mA on this basis, and the same document adds that above it there is no guaranteed maximum safe current.
Spec limit
A current above which the pin keeps working electrically but its output voltage stops meeting the published specification. The Pico's 12 mA per pin and the ESP32's 40 mA are this kind.
Absolute maximum rating
A stress rating, printed under a warning that exceeding it may cause permanent damage. The Arduino Uno's 40 mA per pin and 200 mA through VCC or GND, and the ESP32's 1,200 mA cumulative figure, are absolute maximums rather than budgets.
Recommended maximum
The manufacturer's advice rather than a rating. The Pico datasheet's "less than 300 mA" on the 3.3 V pin and Arduino's 50 mA on the Uno's 3.3 V pin are both this kind.
Drive strength
A pad setting that chooses how hard the output pulls: 2, 4, 8 or 12 mA on an RP2040 or RP2350, and a 2 to 16 mA ladder on a Raspberry Pi that halves on 4-series boards. It is the current under which the output still meets its voltage spec, not a limiter. Both Pico chips boot at the 4 mA setting.
Source and sink
Sourcing is current flowing out of a pin into a load; sinking is current flowing into the pin from a load tied to the positive rail. RP2040 publishes a separate 50 mA budget for each direction, so wiring half the LEDs the other way round splits them across two separate budgets. This calculator does not model that: it never asks the direction and sums everything hanging off the GPIO pins against a single limit.
QSPI pins
The pins an RP2040 or RP2350 uses to reach its flash memory. RP2040 counts them inside the same 50 mA as the GPIO pins; RP2350 gives them their own 20 mA alongside the GPIO's 100 mA.
The 3.3 V pin
The regulated 3.3 V output on the header, used to power sensors and small modules. Its budget comes from the board's regulator rather than from the chip's pads, which is why some boards publish a figure for it and Raspberry Pi does not.
Safety margin
The percentage below each published limit at which this calculator starts calling a check tight: 0, 10, 20 or 30%, defaulting to 20%. At 20% a Pico pin turns amber at 9.6 mA against its 12 mA limit.
Bare-board draw
What a board consumes for itself before anything is connected, published by Raspberry Pi per model — 800 mA on the Pi 5 row, 150 mA on the Zero / Zero W row. The calculator subtracts it from your supply to get the 5 V budget.