GPIO Pull-up / Pull-down Resistor Calculator
Calculate GPIO pull-up and pull-down resistor values, input leakage margin, rise/fall time, current draw, internal vs external pull-up suitability and button/switch input stability.
⚡ Maker Rule: This page is for GPIO inputs, buttons, switches and digital sensor outputs. For I2C/SDA/SCL bus sizing, use the dedicated I2C GPIO Pull-up / Pull-down Resistor Calculator. Use this with the RC Debounce Calculator, Voltage Divider Calculator and ADC Resolution Calculator.
↕ GPIO Pull-up / Pull-down — Stop Floating Inputs
VCC — V GPIO BIAS R — node switch I — mA GPIO INPUT HIGH rise — VALUE — Ω OK Enter GPIO voltage, leakage and speed needs to choose pull-up or pull-down value.
GPIO Supply Voltage
Input Bias Type
Logic Threshold to Guarantee
Input Leakage Current
Noise / Margin Current
Input / Wire Capacitance
Target Edge Time
Preferred Series
This is for GPIO buttons, switches and digital inputs — not I2C. It checks leakage margin, noise margin, edge speed and low-state or high-state current.
Presets:3.3V GPIO5V buttonlong wire input
GPIO Supply Voltage
Internal Pull-up / Pull-down
Cable/Input Capacitance
Required Edge Time
Noise Environment
Expected Input Leakage
Microcontroller internal pull-ups are convenient but weak. This tab checks whether an internal pull is enough or whether an external resistor is better.
Pull-up Resistor
Node / Bus Capacitance
Supply Voltage
Low-state Voltage
This checks rise time, low-state sink current and pull-up power/current for an existing resistor.

📐 Formula Reference

Pull-up Current
I = (Vcc − VOL) ÷ Rpullup
Max Pull-up from Leakage
Rmax = (Vcc − VIH) ÷ Ileakage
RC Rise Time
tr(10–90%) ≈ 2.2 × R × C
I2C Rise Limit
Rmax ≈ tr ÷ (0.8473 × Cbus)

📋 Quick Reference

Common Values
GPIO button10k
Short GPIO trace10k–47k
Long/noisy wire1k–10k
Too High R
Slow edgebad
Noise pickupmore
Leakage errorpossible
Too Low R
More currentwaste
Device sink loadhigher
More powerheat

📚 Engineering Notes

Pull-up sets default HIGHA pull-up resistor keeps a floating input high when a switch or open-drain output is inactive.
GPIO inputs need the right bias strengthLong wires, noisy environments or faster edges usually need a stronger external pull-up or pull-down.
Internal pull-ups are weakMicrocontroller internal pull-ups are often 20k–50kΩ and may be too slow/noisy for long wires or fast buses.
For buttons, combine with debounceUse the RC Debounce Calculator for mechanical switches and noisy inputs.

What is a GPIO Pull-up / Pull-down Resistor Calculator?

A pull-up resistor calculator helps choose resistor values for logic inputs, buttons, open-drain outputs and I2C buses. It checks current, logic margin and signal rise time.

How pull-up resistor value is calculated

The maximum resistor is limited by leakage current, noise margin and rise time. The minimum resistor is limited by how much current the switch or device can safely sink when the line is low.

Choosing pull-up resistor values

For simple GPIO buttons, 10kΩ is a common starting value. For GPIO buttons and switches, 10kΩ is a common starting value. Long wires or noisy environments may need 1kΩ to 4.7kΩ, while low-power battery designs may use 47kΩ to 100kΩ if leakage and speed allow.

Important limitation

This calculator gives practical estimates. Final design should consider input leakage, cable capacitance, EMC noise, logic thresholds, device sink current, wire capacitance, switch bounce, input leakage, noise level and GPIO threshold requirements.

❓ Frequently Asked Questions

A pull-up resistor connects a signal line to VCC so the input reads HIGH when nothing else is driving it low.
For many GPIO button inputs, 10kΩ is a good starting value. For I2C or long/noisy wires, a lower value may be needed.
I2C lines are open-drain, so pull-up resistors create the HIGH level. If pull-ups are too weak, the bus rises too slowly and communication can fail.