Designing Voltage Dividers for Sensor Circuits

How to design voltage dividers for ADC inputs and sensor bias: R1/R2 calculation, Thevenin equivalent, 10x stiffness rule, tolerance budget, and worked examples.

Designing Voltage Dividers for Sensor Circuits

A voltage divider scales a supply voltage down using two series resistors. The output appears at the junction between the two resistors and equals Vout = Vin × R2/(R1+R2).1 In sensor circuits, the most common application is level-shifting: connecting a 12 V battery sense line to a 3.3 V microcontroller ADC input, scaling a 5 V sensor output down for a 3.3 V GPIO, or forming a bias voltage for a resistive sensor such as an NTC thermistor. The design requires balancing three competing demands: achieving the target output voltage, maintaining output stability when a load connects across the lower resistor, and limiting the quiescent current drain from the supply. Getting the ratio right takes Ohm's Law and an understanding of the Thevenin source resistance at the divider output.

Divider design formulas

  • Vout = Vin × R2/(R1+R2)
  • R2 = Vout / I_divider
  • R1 = (Vin - Vout) / I_divider
  • R_th = R1 × R2/(R1+R2)

This calculator solves single-resistor V/I/R/P relationships only — it doesn't model the two-resistor divider network above.

Opens the Ohm's Law & Power Calculator with this section's reference values shown at the top of the tool.

Open in the tool →

Deriving R1 and R2 from target output voltage and load current

The divider design starts with the supply voltage Vin, the target output voltage Vout, and a target divider current I_div. Setting I_div to at least 10 times the maximum expected load current keeps the output shift from loading below 10 percent.2 The resistor values follow directly: R2 = Vout / I_div and R1 = (Vin - Vout) / I_div.

For a 12 V battery sense line scaled to 3.3 V for an ESP32 ADC with a 1 mA divider current: R2 = 3.3 kΩ and R1 = 8.7 kΩ. The nearest E24 standard values are 8.2 kΩ and 3.3 kΩ, giving Vout = 12 x 3.3 / (8.2 + 3.3) = 3.44 V, slightly high but within the ESP32 ADC's 3.6 V maximum, and this quick recalculation with real component values is the step that catches ratio errors before they become soldered-in mistakes on the board. Consequently, the actual Vout with standard values must always be checked against the ADC maximum input voltage before committing to the design.

Scaling higher-voltage signals for low-voltage ADCs

When the signal you need to measure exceeds the ADC range, a voltage divider is the simplest level-shifter. For a 48 V battery bus feeding a 3.3 V ADC, choose a divider ratio of 3.3/48 = 0.06875. With a 100 kΩ upper resistor, the lower resistor is 100000 × 0.06875 / (1 - 0.06875) = 7.38 kΩ. The nearest E24 value of 7.5 kΩ gives a ratio of 7.5 / 107.5 = 0.0698, producing 3.35 V at 48 V input. Always verify that the maximum expected input voltage, including transients, does not produce an output that exceeds the ADC's absolute maximum rating, or add a clamp diode to protect the input. R1 and R2 for a 3.3 V ADC set the ratio that keeps the clamp off.

The 10x stiffness rule and how to verify load independence

The Thevenin source resistance at the divider output equals R1 in parallel with R2: R_th = R1 × R2 / (R1 + R2).1 When a load Rload connects across R2, the output shifts to Vout = Vin × (R2||Rload) / (R1 + R2||Rload). The output shift caused by the load is approximately I_load × R_th, which stays small when R_th is small relative to Rload.

The 10x stiffness rule states that divider current should be at least 10 times the load current. For the 12 V to 3.3 V divider above, R_th = 8200 × 3300 / (8200 + 3300) = 2.35 kΩ. An ESP32 ADC input draws only a few microamps, so the load effect is negligible.

Checking load variation over the operating range

Yet a MOSFET gate driver or a resistive sensor drawing 100 µA pulls the output down by 100 × 10⁻⁶ × 2350 = 0.235 V, potentially placing the output outside the ADC's calibration range. Verify R_th against load current whenever the load draws more than a few microamps. If the load varies over a wide range during operation, calculate the divider output at both minimum and maximum load current before finalising the design.

For a resistive sensor like an NTC thermistor whose resistance swings from 1 kΩ to 50 kΩ, the divider output shifts dramatically, and the source impedance at each operating point determines how much the ADC reading is affected by the sampling current. Design for the worst-case source impedance, not the mid-range value.

Accuracy budget: resistor tolerance, temperature coefficient, and load variation

Resistor tolerance sets the first error term in any voltage divider. Two 1 percent resistors can create nearly 2 percent ratio error if both drift in opposite directions at the same time.3 Temperature coefficient adds another term: metal film resistors carry temperature coefficients of roughly 10 to 100 ppm/°C, so a 100 ppm/°C pair shifts by about 0.2 percent over a 20°C rise, which matters in calibrated battery monitors and precision bias circuits.4

For field sensing, verify the loaded output with the actual microcontroller input active rather than only calculating the unloaded ratio. The ADC sample capacitor draws a brief current pulse at the start of each conversion, momentarily pulling the divider output down through the source impedance. If that impedance is too high, the reading appears low cycle after cycle and exposes itself as excess noise in the captured data.

Verifying the loaded output with the microcontroller enabled

Use a lower divider resistance or a buffer amplifier when ADC accuracy matters, and measure the worst-case output with both resistors at their tolerance extremes if the divider feeds a safety or charging threshold. A practical test: measure the divider output with a high-impedance DMM, then connect the ADC and measure again while the microcontroller is sampling. If the reading drops by more than one LSB equivalent, the source impedance is too high and you need a buffer or a stiffer divider. For a 12-bit ADC at 3.3 V, one LSB is 0.8 mV,5 so even a small shift matters when you are trying to resolve millivolt-level signals from a sensor.

When to use this

Use this guide when connecting a higher-voltage analog signal to a lower-voltage ADC input, when creating a stable bias voltage for a resistive sensor, or when calculating the loading effect of a microcontroller ADC on a voltage divider. Reference it before finalizing resistor values to confirm that accuracy, stiffness, and quiescent current all meet the application requirements.

Examples

12V battery monitor to 3.3V ESP32 ADC (1mA divider current)

R1 = 8.7 kΩ (use 8.2 kΩ E24), R2 = 3.3 kΩ. Actual Vout = 3.44 V at 12 V supply. Confirm this is below the ESP32 ADC maximum of 3.6 V. R_th = 2.35 kΩ, ESP32 ADC input current is a few µA, so load effect is negligible.

NTC thermistor divider: 10kΩ reference resistor and 10kΩ NTC at 25°C from 3.3V

At 25°C where NTC = 10 kΩ: Vout = 3.3 × 10 / (10 + 10) = 1.65 V, mid-scale on the ADC. As temperature rises, NTC resistance falls and Vout rises. Choose R_ref equal to the NTC nominal value at the temperature of interest for maximum sensitivity.

5V sensor output scaled to 3.3V GPIO (microcontroller input, 500µA divider current)

Vout/Vin = 3.3/5.0 = 0.66. R2 = 3.3 V / 0.5 mA = 6.6 kΩ (use 6.8 kΩ), R1 = 1.7 V / 0.5 mA = 3.4 kΩ (use 3.3 kΩ). Actual Vout = 5 × 6.8 / (3.3 + 6.8) = 3.37 V. Acceptable for a 3.3 V GPIO if the sensor output is exactly 5 V.

Sources
  1. 1.

    "Voltage divider," Wikipedia, accessed June 2026. https://en.wikipedia.org/wiki/Voltage_divider

  2. 2.

    All About Circuits, "Voltage Divider Circuits," allaboutcircuits.com, accessed June 2026. https://www.allaboutcircuits.com/textbook/direct-current/chpt-6/voltage-divider-circuits/

  3. 3.

    Analog Devices, "How to Improve Power Supply Output Regulation Accuracy with the LTpowerCAD Resistor Divider Tool," analog.com, November 2021. https://www.analog.com/en/resources/analog-dialogue/articles/how-to-improve-power-supply-output-regulation-accuracy-with-the-ltpowercad-resistor-divider-tool.html

  4. 4.

    Analog Devices, "Ask The Applications Engineer-24: Resistance," analog.com, January 1997. https://www.analog.com/en/resources/analog-dialogue/articles/ask-the-applications-engineer-24.html

  5. 5.

    Texas Instruments, "ADC Input Circuit Evaluation for C2000 MCUs," SPRACY9, ti.com, accessed June 2026. https://www.ti.com/lit/an/spracy9/spracy9.pdf

Building a Voltage Divider with Resistors

A voltage divider turns a higher voltage into a lower one using two resistors.1

The consequences of a badly designed voltage divider are usually subtle: an ADC reading that is 5–10% high, a bias point that drifts with temperature, or a voltage reference that collapses when loaded. Understanding the formula, the loading effect, and the power implications gives you a voltage divider that works correctly across your full operating range.

Voltage divider design formula

  • Vout = Vin × R2/(R1+R2)
  • keep R1+R2 at least 10x smaller than the load impedance
  • 12V in, 33kΩ/12kΩ → Vout = 3.2V

This calculator decodes a single resistor's color bands — it doesn't model a two-resistor divider network.

Opens the Ohm's Law & Power Calculator with this section's reference values shown at the top of the tool.

Open in the tool →

The formula and divider ratio

Vout = Vin × R2 / (R1 + R2), where R1 is the top resistor (from Vin to Vout) and R2 is the bottom resistor (from Vout to ground). Rearranging: R2 / (R1 + R2) is the divider ratio. For Vin = 5V and Vout = 3.3V target: ratio = 3.3/5 = 0.66. Setting R1 = 10kΩ: R2 = R1 × ratio / (1 − ratio) = 10kΩ × 0.66 / 0.34 ≈ 19.4kΩ. Round to the nearest E24 value (20kΩ). The actual Vout with 10kΩ and 20kΩ is 5 × 20/30 = 3.33V, close enough for most applications.1

Setting the divider ratio before choosing parts

Pick the ratio first, then choose R1 and R2 for a divider from standard resistor values that preserve it. The absolute values matter next, because they set quiescent current and loading tolerance. Once you have the target ratio, scan the E12 or E24 series table for a pair of values whose ratio matches within a few percent, then calculate the actual Vout to confirm it falls within your acceptable window before committing to a specific pair.

A useful trick is to pick R1 as a value already on your board, then solve for R2, because that reduces the component count and keeps the divider inside your existing reel. If the solved R2 lands awkwardly between two E24 steps, shift R1 up or down a decade to bring R2 back onto a stocked value rather than ordering a one-off part. CapyToolkit's calculator lets you sweep a few R1 choices and watch the resulting ratio, so you can settle on a pair that is both accurate and already in your kit.

Loading effect and impedance

Connecting a load in parallel with R2 reduces the effective bottom resistance and lowers Vout. If your load has resistance Rload, the parallel combination of R2 and Rload replaces R2 in the formula. The basic divider formula assumes no load, so connecting one changes the output voltage, and the error stays invisible unless you calculate the parallel resistance explicitly.2

Keeping loading error below 10%

Consequently, a 10kΩ/10kΩ divider producing 2.5V from 5V will output only 1.67V when loaded with a 10kΩ load, a 33% drop. The rule of thumb: make R1 + R2 at least 10× smaller than the load impedance to keep the loading effect below 10%. For ADC inputs with impedance above 100kΩ, a 10kΩ/10kΩ divider is adequate. For op-amp inputs, even higher divider resistances work. When the divider feeds a microcontroller ADC with a sample-and-hold capacitor, the source impedance must be low enough to charge the sampling capacitor within the acquisition time; otherwise the reading will be systematically low, and adding a buffer capacitor at the divider output or reducing the divider resistance solves this problem.

Common mistakes and practical tips

Choosing resistors too high (100kΩ range) in a divider that feeds a low-impedance load is the most common mistake, causing Vout to droop under load. Conversely, choosing resistors too low wastes current: a 100Ω/100Ω divider across 12V draws 60 mA and dissipates 720 mW continuously, which is unacceptable in battery circuits.

Selecting stable E24 values

Picking E24 preferred values closest to the calculation result, rather than searching for unobtainable exact values, is the practical approach. For temperature stability, use matched resistors from the same manufacturer and batch to ensure both temperature coefficients track together, keeping the ratio stable even as both values drift. This matched-pair approach is especially important in battery-monitoring dividers where the ADC reading directly drives fuel-gauge calculations, because a ratio error of just 2% translates into a misleading state-of-charge estimate that confuses users.

For a one-off hobby build, mixed parts are usually fine, because a few percent of ratio drift over temperature never shows up in a reading you are eyeballing. The matched-batch discipline only earns its keep when the divider feeds a fuel gauge or a calibrated reference, where that same few percent becomes a visible error on a display. Keeping a strip of same-batch divider pairs labelled together avoids the temptation to grab whichever 10kΩ is nearest, which is how mismatch creeps into an otherwise careful design.

Temperature tracking in matched resistor pairs

When both resistors in a divider drift equally with temperature, the ratio stays constant even as individual values shift. This tracking property is why using resistors from the same manufacturer, the same tolerance grade, and ideally the same production batch produces better divider stability than mixing parts from different suppliers or tolerance grades.3

Metal film resistors typically drift 50–100 ppm/°C. Two 10kΩ metal film resistors with identical 50 ppm/°C coefficients both increase by 25Ω over a 50°C rise: the ratio 10 025 / (10 025 + 10 025) stays exactly 0.5, because ratio tracking is perfect when temperature coefficients match. A 10kΩ carbon film (±200 ppm/°C) paired with a 10kΩ metal film (±50 ppm/°C) produces a ratio shift of 150 ppm/°C over temperature, generating a 7.5 mV output error at 5V across 50°C. For ADC references where 0.1% stability matters, use matched parts from the same batch.

Voltage dividers for sensor interface circuits

NTC thermistors form natural voltage dividers when connected with a fixed pull-up resistor. A 10kΩ NTC paired with a 10kΩ fixed pull-up across 3.3V produces a junction voltage spanning roughly 0.3V to 2.8V over a 0°C to 100°C temperature range, depending on the thermistor's beta coefficient. This voltage drives an ADC input directly without additional signal conditioning.4

Photoresistors (LDRs) work the same way: a 10kΩ pull-up paired with an LDR ranging from 500Ω in bright light to 500kΩ in darkness covers most of the ADC input range at 3.3V. Choosing the pull-up to match the midpoint of the sensor's resistance range places the output voltage near 50% of supply at the target measurement condition, maximising the usable ADC swing across the sensor's operating range.5

When to use this

Use this guide whenever you need to level-shift a voltage for an ADC input, create a reference voltage for a comparator, bias a transistor base, or reduce a battery voltage to a measurable range. Recalculate whenever your load impedance or supply voltage changes.

Examples

5V microcontroller reading a 12V battery

Before
Vin = 12V, Vout target = 3.3V for ADC. Ratio = 3.3/12 = 0.275.
R1 = 33kΩ, R2 = 12kΩ (closest E12 pair).
Actual Vout = 12 × 12/(33+12) = 3.2V.
After
12V battery mapped to 3.2V at ADC input. Current draw: 12V / 45kΩ = 267 µA, which is negligible for battery life.

At 4.2V (fully charged LiPo), Vout = 4.2 × 12/45 = 1.12V, which is still within range.

3.3V reference from 5V supply for op-amp

Before
Use 10kΩ/20kΩ divider: Vout = 5 × 20/30 = 3.33V. Op-amp non-inverting input has 10MΩ impedance, so loading is negligible.
After
3.33V reference with 0.3% loading error at the op-amp input. Acceptable for a buffer application.

If high stability matters, buffer the divider output with a voltage follower op-amp stage.

Sources
  1. 1.

    "Voltage divider," Electronics Tutorials, accessed June 2026. https://www.electronics-tutorials.ws/resistor/res_7.html

  2. 2.

    Electronics Tutorials, "Voltage Divider Circuits and the Voltage Division Rule," electronics-tutorials.ws, accessed October 2026. https://www.electronics-tutorials.ws/dccircuits/voltage-divider.html

  3. 3.

    "Resistor Temperature Coefficient," Electronics Tutorials, accessed June 2026. https://www.electronics-tutorials.ws/resistor/res_4.html

  4. 4.

    Texas Instruments, "Temperature Sensing with NTC Circuit," SBOA323A, ti.com, accessed June 2026. https://www.ti.com/lit/an/sboa323a/sboa323a.pdf

  5. 5.

    Adafruit, "Analog Voltage Reading Method," learn.adafruit.com, accessed June 2026. https://learn.adafruit.com/photocells/using-a-photocell.md

FAQ

Use Vout = Vin × R2 / (R1 + R2), where R1 is the top resistor (connected to Vin) and R2 is the bottom resistor (connected to ground). Rearranging for resistor selection: R2/R1 = Vout / (Vin − Vout). CapyToolkit's resistor calculator confirms the final ratio and current draw while you choose values. Pick one resistor value and calculate the other, then round to a standard E-series value.

Start with total resistance (R1 + R2) at least 10× smaller than the load impedance to limit loading error below 10%. For ADC inputs, 10kΩ–47kΩ total resistance is typical. For high-impedance op-amp inputs, up to 1MΩ total is practical. Pick E12 or E24 preferred values closest to the calculated ratio.

Yes. Current flows from Vin through R1, through R2, to ground continuously, regardless of whether a load is connected. This quiescent current is Vin / (R1 + R2). For battery-powered circuits, keep this current below your standby budget by using high resistor values.

Because your load creates a parallel resistance with R2, reducing the effective bottom resistance. Use a voltage follower (op-amp buffer) after the divider if load independence is needed.

No, not in general. A voltage divider is for voltage sensing and reference, not power delivery. The output voltage collapses under even moderate current loads. Use a proper voltage regulator (linear or switching) to supply current.

FAQ

Set the divider current to at least 10 times the maximum load current. Then R2 = Vout / I_divider and R1 = (Vin - Vout) / I_divider. Choose the nearest E24 standard values and recalculate the actual output voltage to confirm it stays within the ADC input range and tolerance budget. Use 1 percent metal-film resistors for sensor accuracy.

Thevenin resistance R_th = R1||R2 = R1 × R2 / (R1 + R2). It sets how much the output voltage shifts when a load connects: the shift is approximately I_load × R_th. A high R_th makes the divider sensitive to load current. For ADC inputs drawing microamps, even a 100 kΩ R_th is fine. For resistive loads drawing milliamps, keep R_th below 1 kΩ for stable output.

Yes, but only for signals that stay high-impedance. A voltage divider output is not a true level-shifter: it cannot source or sink current to drive another device. Use it only for ADC inputs or GPIO inputs with no drive capability. For signals that must drive loads or need guaranteed logic levels, use a dedicated level-shifter IC instead of a resistor divider.

Divider output scales proportionally with supply voltage. A divider set for 3.3 V output at 12 V supply produces only 3.025 V if the supply drops to 11 V, a 8 percent error. To measure absolute voltage accurately, reference the divider to a regulated voltage rather than the varying supply. Ratiometric measurement, comparing the divider output to the same supply used as the ADC reference, cancels supply variation.

Use 1 percent metal-film resistors as the baseline. The worst-case output error from tolerance is approximately the sum of both resistor tolerances: about ±2 percent for two 1 percent parts. For tighter accuracy, use 0.1 percent resistors, or trim one resistor value with a series trimmer. Matching the temperature coefficients of both resistors reduces drift over temperature independently of absolute tolerance. CapyToolkit calculates the divider output with your actual R1 and R2 values entered, so you can verify the ratio before ordering resistors.

Additional resources