The derivation of the voltage divider equation stems directly from Kirchhoff’s Voltage Law (KVL) and Ohm's Law, yielding the fundamental relationship: Vout = Vin × (R2 / (R1 + R2)). This passive topology steps down a higher input voltage to a precise lower reference using two series resistors. It is universally preferred over linear regulators (LDOs) or Zener shunts for low-current signal scaling—like feeding a battery monitor into a microcontroller ADC—because it draws zero quiescent current when unloaded, introduces no switching noise, and costs a fraction of a cent.
The Core Topology and Node Labels
Before running the math, we must define the physical layout and node labels of the standard unloaded voltage divider:
- Node A (Vin): The high-side input voltage source.
- R1 (Top Resistor): Connected between Node A and Node B.
- Node B (Vout): The midpoint tap where the scaled voltage is measured.
- R2 (Bottom Resistor): Connected between Node B and Node C.
- Node C (GND): The 0V reference ground.
If you need to drop 12V to 3.3V to power a sensor drawing 50mA, a voltage divider is the wrong tool; the load current will destroy your voltage regulation. You would use an LDO like the AMS1117-3.3. However, if you are merely measuring a 12V battery with an ESP32 ADC (which draws microamps), the derivation of the voltage divider equation provides a perfect, noise-free scaling network. An LDO cannot scale an analog signal, and a Zener diode shunt introduces knee-voltage non-linearities and wastes continuous current.
Step-by-Step Derivation of the Voltage Divider Equation
The math relies on the assumption that the current flowing through R1 is exactly equal to the current flowing through R2 (meaning no current is leaking out of Node B to a load). Here is the exact bench-math sequence:
- Apply KVL: The sum of voltage drops around the loop must equal the source.
Vin - VR1 - VR2 = 0, which rearranges to Vin = VR1 + VR2. - Apply Ohm's Law: Substitute the voltage drops with current and resistance.
Vin = (I × R1) + (I × R2). - Factor out Current (I): Vin = I × (R1 + R2).
- Solve for I: I = Vin / (R1 + R2).
- Define Vout: The output voltage is simply the voltage drop across R2.
Vout = I × R2. - Final Substitution: Plug the equation for I from Step 4 into Step 5.
Vout = [Vin / (R1 + R2)] × R2, which gives us the final standard form: Vout = Vin × [R2 / (R1 + R2)].
For a deeper look at the foundational circuit laws backing this derivation, refer to the All About Circuits DC textbook chapter on voltage dividers.
Real-World Design Walkthrough: Picking Component Values
Let’s move from abstract algebra to the workbench. We need to monitor a 12V lead-acid battery (which peaks at 12.6V when fully charged) using the ADC pin on an ESP32-WROOM-32.
The Trap: The ESP32 ADC is nominally 3.3V, but seasoned designers know the internal SAR ADC is notoriously non-linear and saturates above ~2.5V. Therefore, our target Vout at 12.6Vin should be 2.2V, not 3.3V.
- Set up the ratio: 2.2V = 12.6V × [R2 / (R1 + R2)].
The required ratio is 2.2 / 12.6 = 0.1746. - Pick R2: We want high resistance to minimize parasitic drain on the battery, but low enough to overcome the ESP32's ADC sampling capacitor impedance. A 10kΩ resistor for R2 is a solid baseline.
- Solve for R1: 10,000 / (R1 + 10,000) = 0.1746.
R1 + 10,000 = 57,273.
R1 = 47,273Ω. - Select E24 Standard Values: The closest standard 5% resistor is 47kΩ.
- Verify the actual Vout: 12.6V × [10k / (47k + 10k)] = 12.6 × 0.1754 = 2.21V. This is perfectly safe for the ESP32.
Power dissipation is negligible here. Total series resistance is 57kΩ. Current draw is 12.6V / 57,000Ω = 0.22mA. The power dissipated by R1 is I²R = (0.00022)² × 47,000 = 2.2mW. Standard 0603 SMD resistors (rated for 100mW) or 1/4W through-hole resistors will run completely cold. For more on microcontroller ADC input impedance matching, consult the Espressif ESP32 Datasheet.
Behavior Matrix and Extreme Failure Modes
Understanding the derivation of the voltage divider equation is only half the battle; you must know how the circuit behaves when reality deviates from the ideal math. Below is the behavior matrix for our 47kΩ/10kΩ network.
| Condition / Fault | Effect on Vout | Physical Consequence |
|---|---|---|
| R1 increases (e.g., to 56kΩ) | Vout drops (to ~1.91V) | ADC reads battery as lower voltage than reality. |
| R2 increases (e.g., to 12kΩ) | Vout rises (to ~2.57V) | Risks pushing ESP32 ADC into non-linear saturation zone. |
| Load added in parallel to R2 | Vout drops significantly | Equivalent resistance of R2||Rload shrinks, ruining the ratio. |
| R1 Opens (Breaks) | Vout drops to 0V | Circuit is broken; multimeter/ADC internal impedance pulls Node B to GND. |
| R2 Opens (Breaks) | Vout floats to Vin | Catastrophic: Full 12.6V hits the 3.3V ADC pin, frying the silicon. |
| R1 Shorts | Vout equals Vin | Catastrophic: Full 12.6V hits the ADC pin instantly. |
| R2 Shorts | Vout drops to 0V | Safe for the microcontroller, but reads as a dead battery. |
Pro-Tip: To protect against the catastrophic R2 open or R1 short failure modes in high-reliability designs, place a 3.3V Zener diode or a TVS diode (like the SMAJ3.3A) in parallel with R2 to clamp Node B.
Breadboard Testing Protocol
Do not trust the math until you verify it on the bench. Follow this sequence to validate your divider before connecting it to sensitive silicon.
- Insert Components: Place the 47kΩ and 10kΩ resistors in series on the breadboard. Ensure they share a common node for Vout.
- Power with Limits: Connect a benchtop power supply set to 12.6V. Crucial: Set the current limit (OCP) to 50mA. If a short occurs, this prevents your resistors from vaporizing.
- Measure Open-Circuit: Use a multimeter (set to DC Volts, high impedance) to measure Node B relative to GND. You should read ~2.21V.
- Simulate ADC Load: Plug a 100kΩ resistor in parallel with R2 to simulate the input impedance of a microcontroller ADC. Measure Vout again. It should drop only slightly (to ~2.19V), confirming your divider is "stiff" enough to drive the load.
- Check for Thermal Drift: Pinch the resistors with your fingers to warm them. If Vout shifts by more than a few millivolts, your resistors have a poor temperature coefficient (TCR) and you need to upgrade to 1% metal film or precision thin-film parts.
Frequently Asked Questions
How does load resistance affect the derivation of the voltage divider equation?
The standard derivation assumes an open circuit at Vout (infinite load resistance). When you attach a real load (RL), it sits in parallel with R2. You must modify the equation by replacing R2 with the parallel equivalent: Req = (R2 × RL) / (R2 + RL). If RL is not at least 10 to 100 times larger than R2, the output voltage will sag noticeably below your calculated target. This is why we use high-value resistors for ADC scaling but avoid dividers for powering loads.
Can I use the voltage divider equation for AC circuits and capacitors?
Yes, but you must transition from scalar resistance to complex impedance (Z). The derivation holds perfectly if you replace R with Z. For an RC low-pass filter (where R1 is a resistor and R2 is a capacitor), the equation becomes Vout = Vin × [ZC / (R + ZC)]. Because ZC = 1 / (jωC), the ratio becomes frequency-dependent, which is the foundational math for all passive analog filters. See Electronics Tutorials for the complex math breakdown.
Why is my breadboard voltage divider output drifting over time?
Drift on a breadboard is rarely the resistors themselves; it is almost always contact resistance and thermoelectric effects. Breadboard spring clips can introduce 0.1Ω to 1Ω of series resistance, which is negligible for 47kΩ resistors but fatal for low-ohm dividers. Furthermore, if your hands are warming one side of the breadboard, the thermal gradient across dissimilar metals (copper clips, tin-plated leads) generates microvolt-level thermocouple offsets. For precision DC measurements below 10mV, solder the divider to a PCB and keep it away from heat sources.
What is the Thevenin equivalent resistance in a voltage divider derivation?
When analyzing how a voltage divider will behave once connected to a load, you must calculate its Thevenin equivalent resistance (Rth). Looking back into Node B with Vin shorted to ground, R1 and R2 appear in parallel. Therefore, Rth = (R1 × R2) / (R1 + R2). In our 47kΩ/10kΩ ESP32 example, the Thevenin output impedance is roughly 8.24kΩ. This is the effective source impedance driving the ADC sampling capacitor, and it dictates how long the ADC needs to acquire an accurate reading.






