The Pull-Resistor Sizing Contract

The Pull-Resistor Sizing Contract

Ada audits the pull-resistor sizing contract — current, edge speed, and leakage margin

foundations
math-foundations
electronics
intermediate
Ada ADA · CALCULATION AUDIT

Foundations · optional mathematics and physics

The Pull-Resistor Sizing Contract

The chapter sizes a button’s pull-up resistor as a balance: a 10 kOhm pull-up passes 0.33 mA when the button is pressed — ten times stronger than a 100 kOhm part but ten times lighter than a 1 kOhm one — while the weak pull releases the line 100 times more slowly. Too strong wastes current; too weak gives soft, leakage-sensitive edges. This audit works the pull-resistor sizing contract, checking sink current, idle leakage, and RC edge speed.

Companion to the chapter Floating Input and Pull Resistor Contracts — every number here comes from that chapter.

Current, edge speed, and leakage margin, ~4 minutes

A pull resistor is a physical compromise: small enough to define the voltage and recharge capacitance, large enough not to waste current whenever a switch or open-drain device pulls the node the other way.

See the relationship before changing it

The figure reads from left to right. The blue card is pull-up resistance. The middle card applies this page's rule. The green card is pressed current. Walk the arrows once: set the input, apply the rule, then read the result with its unit.

The retained audit below checks several chapter fixtures. This model keeps those stated values fixed and changes only pull-up resistance, so the numeric fixture does not switch without explanation.

Pull-up resistance changes pressed current An input card leads through the rule current = 3.3 V / resistance in kOhm to the pressed current result. INPUT PAGE INPUT APPLY THE RULE predict calculate check units OUTPUT RESULT
Walk the arrows. A stronger pull makes a firmer edge but burns more current while the button is pressed.

Derive the baseline in four named moves

  1. 1

    Name the input. The chapter baseline is 10 kOhm.

  2. 2

    Name the relationship. current = 3.3 V / resistance in kOhm

  3. 3

    Substitute with units. 3.3 / 10 = 0.330 mA

  4. 4

    Read the result. Keep the unit beside the value. Use it only inside the technical boundary on this page.

Predict, then change pull-up resistance

Try Predict the direction of current = 3.3 V / resistance in kOhm. Test another pull-up resistance, then compare pressed current.

10 kOhm
Chapter baseline
Pressed current

Observe A stronger pull makes a firmer edge but burns more current while the button is pressed. Reset pull-up resistance to 10 and compare pressed current.

Explain A stronger pull makes a firmer edge but burns more current while the button is pressed.

Check yourself

What should you do before trusting a moved-control result?
Answer: Predict its direction, apply the shown relationship, keep the units, and reset to the worked baseline.
What does this small model leave out?
Answer: Only pull-up resistance moves here. Field effects named in the technical boundary stay fixed.
TryUse Check derivation on the 3.3 V, 10 kOhm pull-up, then compare its pressed current with the 1 kOhm and 100 kOhm alternatives.
ObserveThe 10 kOhm choice draws 0.33 mA when grounded. Reducing resistance strengthens the logic level but raises sink current; increasing it saves current while making leakage and the RC rise time more influential.
ExplainOhm's law sets the asserted-state current, while resistance with input and wiring capacitance sets edge speed. A usable pull resistor must satisfy the input threshold and timing requirements without exceeding the device's sink-current or power budget.

The working

pressed button current with the chapter's 10 kOhm pull-up = 3.3 V / 10,000 Ohm = 0.00033 A = 0.33 mA
same current in microamps = 0.00033 A * 1,000,000 = 330 uA
strong 1 kOhm pull from the comparison table = 3.3 V / 1,000 Ohm = 0.0033 A = 3.3 mA
weak 100 kOhm pull from the comparison table = 3.3 V / 100,000 Ohm = 0.000033 A = 33 uA
Check Arithmetic Design meaning
Current ratio 3.3 mA / 0.033 mA = 100 The 1 kOhm pull burns 100 times the driven-low current of the 100 kOhm pull, so it is stronger but less sleep-friendly.
10 kOhm middle point 0.33 mA / 0.033 mA = 10 The chapter's button example is ten times stronger than 100 kOhm but ten times lighter than 1 kOhm.
RC edge ratio tau = R * C, so tau(100 kOhm) / tau(1 kOhm) = 100 For the same node capacitance, the weak pull releases the line 100 times more slowly.

Round only at the end: the 10 kOhm example is exactly 0.00033 A from the stated values, then reported as 0.33 mA. That is the same contract the prose describes: check sink current, idle leakage margin, and RC edge speed before trusting the logic level.

Technical boundaries
The pull-resistor ledger deliberately does not simulate input capacitance, leakage spread, coupled noise, switch bounce, trace impedance, or edge-rate dynamics; it compares steady DC current for the stated resistor values.

Work the audit first, then check the displayed derivation.

Every number above is taken from the chapter's own pull-resistor example and re-derived step by step.