The Pull-Resistor Sizing Contract
The Pull-Resistor Sizing Contract
Ada audits the pull-resistor sizing contract — current, edge speed, and leakage margin
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 chapter figure below shows: Resistor applications grouped into protection, sensing, conditioning, and calibration roles.
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.
Derive the baseline in four named moves
- 1
Name the input. The chapter baseline is 10 kOhm.
- 2
Name the relationship. current = 3.3 V / resistance in kOhm
- 3
Substitute with units. 3.3 / 10 = 0.330 mA
- 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.
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 Pressing the button connects the pull-up across the supply, so a larger resistance limits the pressed-state current inversely.
Check yourself
What should you do before trusting a moved-control result?
What does this small model leave out?
The working
| 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.
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.