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 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.
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 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?
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.