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.

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.

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