OctaCalc / Pull-up / Pull-down Resistor Calculator

Pull-up / Pull-down Resistor Calculator

Find the right resistor value for pull-up and pull-down circuits on digital inputs. Enter your supply voltage and target current to get an exact value, the nearest standard E12/E24 resistor, and a current sanity check.

Resistor connects input to Vcc (logic high when floating)
Typical: 10 µA – 10 mA for most MCU inputs

How to Use This Calculator

Choose whether you need a pull-up or pull-down resistor (the maths is identical; the mode label is for your reference). Enter your supply voltage (Vcc) and the current you want to flow through the resistor when the input is floating. The calculator will give you the exact resistor value from Ohm's Law, plus the nearest standard values from the E12 and E24 resistor series.

For most microcontroller GPIO inputs, a current of 0.5 mA to 2 mA is a good starting point — high enough for a clean logic level, low enough to avoid wasting power when the signal is asserted. Values below ~10 µA can produce a weak pull that is susceptible to noise; values above ~10 mA waste significant power and may exceed GPIO sink/source ratings.

Formula

R = V ÷ I

Where:

R = resistor value in ohms (Ω)
V = supply voltage in volts (V)
I = desired current through the resistor in amps (A)

This is simply Ohm's Law applied to the pull resistor, where the voltage across it equals Vcc (pull-up to Vcc, pin low) or the full supply rail (pull-down to GND, pin high).

Example

A microcontroller input runs from a 5 V supply. You want a pull-up current of 0.5 mA.

R = 5 V ÷ 0.0005 A = 10,000 Ω

Result: 10 kΩ — a standard E12 and E24 value. Good choice.

For a 3.3 V system with a 1 mA pull-up:

R = 3.3 V ÷ 0.001 A = 3,300 Ω

Result: 3.3 kΩ — also a standard E24 value (3k3). The nearest E12 value would be 3.3 kΩ as well.

Frequently Asked Questions

What is the difference between a pull-up and a pull-down resistor?
A pull-up resistor connects a digital input pin to the supply voltage (Vcc). When nothing drives the pin, it reads logic HIGH. A pull-down resistor connects the pin to ground (GND), so it reads logic LOW when floating. The resistor value calculation is identical for both — only the reference voltage changes.

Why not just use a very small resistor for a strong pull?
A smaller resistor means more current flows when the signal is asserted (e.g. a button connects the pin to the opposite rail). Too much current can exceed GPIO sink/source limits, drain batteries quickly, or even damage components. Typical safe pull resistor values are 1 kΩ to 100 kΩ.

What are E12 and E24 series resistors?
These are standard resistor value series with 12 or 24 preferred values per decade (e.g. 1.0, 1.2, 1.5 … for E12). Using a standard value means the component is widely available and inexpensive. The calculator shows the nearest value in each series to your exact calculated result.

Can I use the same formula for I²C or SPI pull-ups?
Yes, with some caveats. I²C pull-up values are also governed by bus capacitance and rise-time requirements. A typical starting point is 4.7 kΩ on a 3.3 V bus, but for high-speed I²C or long cables you may need to go lower (e.g. 1–2.2 kΩ). Always check the device datasheet for recommended pull-up ranges.

What happens if the current is too low or too high?
Too low (below ~10 µA): the pull is very weak and the input may float or pick up noise, causing spurious triggering. Too high (above ~10 mA): excess power is wasted continuously when the signal is asserted, and you risk exceeding GPIO current ratings. Aim for 100 µA – 5 mA for general-purpose digital inputs.