NodeLoop
Loading • Power • ADC • UART/I²C

Voltage Divider Calculator (Loading, Power, ADC & Logic Level Use Cases)

Use this divider tool as a calculator and a design checklist: verify loading, resistor power, and signal integrity when you scale voltages for ADCs, GPIOs, UART, or other digital inputs.

Inputs

Enter Vin/R1/R2. Optional: add Rload to simulate real input loading.

Quick presets (common engineering tasks)

Presets also configure a reasonable Rload when relevant (ADC / MCU input).

Loading check

Models the load as R2 || Rload. Useful for ADC inputs and digital pins.

What this tool checks (in practice)

  • Ideal divider: Vout = Vin·R2/(R1+R2)
  • Current draw: I = Vin/(R1+R2)
  • Resistor power: P1 = I²·R1, P2 = I²·R2
  • Loaded Vout (optional): replace R2 by (R2 || Rload)

Results

ideal + optional load
Vout (ideal)
Vin · R2 / (R1 + R2)
Divider current
Vin / (R1 + R2)
Power in R1
I² · R1
Power in R2
I² · R2

Diagram

live labels
+ Vin R1 R2 Vout
Ratio (Vout/Vin)
Rtotal (Ω)
Thevenin R (Ω)

Thevenin resistance is useful to reason about RC filtering and edge-speed (Rth = R1 || R2).

Practical use cases

Signal level scaling

Scale a higher voltage down to protect an input: GPIO, ADC, comparators, analog sense pins.

  • Check loading (Rload)
  • Check resistor power
  • Consider RC filtering

ADC front-end

Sense battery/rail voltages, current shunts, or noisy signals with optional filtering and impedance control.

  • Thevenin resistance matters
  • Sampling capacitor settling
  • Use RC + clamp if needed

Quick logic downshift

Often OK for one-way digital inputs like UART RX. Not a general translator.

  • UART: usually OK 5→3.3
  • I²C: usually not OK
  • SPI: depends on speed/load

UART level shifting with a divider

A resistor divider is a common “quick fix” to feed a 3.3V UART RX from a 5V UART TX. It’s typically safe because UART inputs are high impedance.

When it works

  • Unidirectional path (5V TX → 3.3V RX).
  • Moderate baud rates and short wires.
  • Receiver input has decent margin (3.3V logic thresholds).

Where it breaks

  • Very fast edges / high baud + large input capacitance.
  • Noisy environments / long cables.
  • Need for bidirectional comms on the same line (not UART anyway).

Choosing R values

  • Keep Rth (R1||R2) low enough so RC edge doesn’t smear bits.
  • Don’t go too low: avoid wasting current and overloading the TX driver.
  • Rule-of-thumb: R1+R2 from ~5k to ~200k depending on speed and environment.

If you need more details on UART specifically, check out our comprehensive UART Serial Communication Guide which covers framing, timing, and hardware design in depth.

Why a divider is (usually) wrong for I²C

I²C lines are open-drain and bidirectional. A resistor divider is rarely the correct solution for level shifting this bus.

Why it fails

  • Breaks pull-ups: The divider interacts with pull-up resistors, altering logic levels and rise times.
  • Threshold violations: Can easily violate VOL (Voltage Output Low) or VOH requirements.
  • Blocking bidirectionality: Standard dividers are one-way; I²C needs to send data both ways (ACKs, clock stretching).

The correct approach

For I²C, always use a dedicated solution designed for bidirectional open-drain signals.

  • MOSFET-based I²C level shifter
  • Dedicated bidirectional translator chip

ADC front-end tips

For ADCs, the divider interacts with the ADC’s sample-and-hold capacitor. The key concept is the divider’s Thevenin resistance Rth = R1 || R2.

What to verify

  • Acquisition time: ensure the input settles within your error budget.
  • Noise: high impedance increases susceptibility; add RC if needed.
  • Protection: series resistor + clamp diode for harsh rails.

Common pattern

  1. Divider to scale voltage
  2. Small series resistor (optional)
  3. Capacitor to ground near ADC pin (anti-alias + charge bucket)

This calculator gives you current, dissipation, and loading effect. For ADC settling, you can use Rth as the source resistance in your RC time constant estimate.

Sizing rules (fast decisions)

Goal What to favor Typical range Gotchas
Low power High R total 100k–1M More noise, slower edges, more ADC settling issues
Fast digital input Lower Rth 5k–100k Don’t overload driver; watch power if Vin high
ADC accuracy Controlled impedance + RC Rth < 10k–50k Validate acquisition time, source impedance spec
Harsh environments Protection Depends Add series R, TVS/clamps, filtering, layout discipline

These are pragmatic heuristics. Always validate against your receiver thresholds, timing, and datasheet constraints.

Frictionless handoff

Share & export

Copy a permalink, export Markdown, or download CSV.

Works offline. Nothing is sent anywhere.

FAQ

Can I use a voltage divider to level shift UART TX?

Often yes for 5V → 3.3V on UART TX into a high-impedance RX input. It’s unidirectional and the edge rate is slowed by input capacitance. For high baud or noisy environments, prefer a buffer/translator.

Can I use a voltage divider for I²C?

Usually no. I²C is bidirectional open-drain; a divider breaks logic levels and rise-time behavior. Use a MOSFET I²C level shifter or a dedicated bidirectional translator.

What is the loading effect and how do I check it?

A load on Vout appears in parallel with R2 and reduces Vout. A quick rule: Rload ≥ 10×R2. Enable Rload in this tool to simulate the shift.

How do I pick R1/R2 for an ADC input?

Pick values that keep divider impedance low enough vs ADC sample/hold and noise, but high enough to minimize current. Add an RC filter if needed and verify ADC acquisition time.

Is a divider a replacement for a regulator?

No. A divider is not regulated and sags under load. Use a regulator (LDO/buck) to power circuits.