Home & workshop Electronics

Resistor calculator

Supply voltage
V
LED forward voltage
V
Red ~1.8–2.1, blue/white ~3.0–3.4
Desired current
mA
Number of LEDs
Wiring
Resistor needed 150 Ω
(supply − Vf) ÷ current
Nearest E24 value 150 Ω
Power in the resistor 0.06 W
Minimum resistor rating 0.12 W
Voltage across the resistor 3 V
Total current 20 mA
Viable? yes
Series adds · parallel is a reciprocal sum
WantedPairActualError
500 Ω1 kΩ ∥ 1 kΩ500 Ωexact
750 Ω1 kΩ ∥ 3.3 kΩ767 Ω+2.2%
1.5 kΩ2.2 kΩ ∥ 4.7 kΩ1.50 kΩ+0.0%
2 kΩ3.3 kΩ ∥ 5.6 kΩ2.08 kΩ+3.8%
5 kΩ10 kΩ ∥ 10 kΩ5 kΩexact
8 kΩ10 kΩ ∥ 39 kΩ7.96 kΩ−0.5%
15 kΩ22 kΩ ∥ 47 kΩ15.0 kΩ+0.0%

Two LEDs in parallel behind a single resistor do not share current evenly. Forward voltage varies between parts by a tenth of a volt or so, and because the current-voltage curve is exponential, the one with the slightly lower Vf takes most of the current, runs hotter, drops further, and takes more still. Give each LED its own resistor, or drive the string in series where the same current necessarily flows through all of them.

Advertisement
320 × 100

Gives the equivalent resistance of a network of resistors, and sizes the ones a circuit needs. Series values add; parallel is a reciprocal sum, so two 1 kΩ resistors give 500 Ω and a third gives 333 Ω. It also sizes an LED resistor with its wattage, splits a current between branches, and puts a pull-up between the sink and rise-time limits.

How to use it

1 Pick the arrangement: series, parallel, a parallel pair, an LED resistor, a current divider or a pull-up.
2 Enter the resistor values, one per line, or the supply and LED figures.
3 Add the applied voltage to get the current and the dissipation as well as the resistance.
4 Check the wattage before you buy: the value is only half the specification.

Two rules cover most of this page and they run in opposite directions. Series values add, so a chain is arithmetic and nothing more: the same current flows through every part and the voltage divides in proportion. Parallel is a reciprocal sum, so the total is always smaller than the smallest member, and a result larger than that is proof the arithmetic went wrong somewhere. For two parts the shortcut R₁R₂ ÷ (R₁ + R₂) is quicker by hand, and for equal parts the answer is simply the value over the count.

Which part gets hot

Neither rule tells you where the heat goes, and that is the specification people forget to check. In series it is the largest resistor, because it drops the most voltage at a shared current. In parallel it is the smallest, because it carries the most current at a shared voltage. Mixing wattages across a set is fine as long as each part is rated for what it will actually dissipate, which is not an equal share.

Pairing does nothing for tolerance either. Two 5% parts in parallel still give roughly 5% uncertainty, so a pair is a way to reach a value, not a way to tighten one: 2.2 kΩ alongside 4.7 kΩ gives 1.499 kΩ, closer to 1.5 kΩ than a 5% part is guaranteed to be, and still only as precise as the two parts you used. A long series chain behaves better than intuition suggests, because random errors partly cancel: a ten-resistor ladder of 5% parts totals closer than 5% off, even though any single tap can still be out by the full amount. That ladder shows up in real silicon. A string of equal resistors tapped at each junction is exactly how a flash ADC and a simple resistor DAC produce their references.

Dropping a voltage, and driving an LED

A series resistor is the standard way to drop voltage or limit current, and the value follows from Ohm’s law on the difference: a 5 V supply feeding something that wants 3.3 V at 20 mA needs to lose 1.7 V at 20 mA, which is 85 Ω. The catch is that the drop depends on the current, so if the load changes, the voltage moves with it. That makes a series dropper right for an LED, whose current you set deliberately, and wrong for a circuit whose consumption varies.

Forward voltage is the number people guess at and should not. It follows the band gap of the semiconductor, so red and yellow sit around 1.8 to 2.1 V, green nearer 2.2, and blue and white at 3.0 to 3.4. Use a red figure for a white LED on a 3.3 V rail and there is no headroom left; the calculator flags that case instead of printing a nonsense resistor value. Rounding matters in one direction only: pick the resistor above the calculated value, because too much resistance dims an LED and too little shortens its life.

The current divider looks like the voltage divider with the labels swapped, and that swap is where the mistakes happen. In a voltage divider the output uses the resistor it is measured across; in a current divider the branch current uses the opposite resistor on top. The physical reading is easier to hold on to: current takes the easier path, so the smaller resistance carries more. Its most common real use is a shunt, a known low resistance in parallel with a meter so a known fraction of the current bypasses it.

Pull-ups and pull-downs

The pull-up is the only variant here with two limits instead of a formula, and it is a squeeze between two different failures. Too weak and the line rises too slowly, so the receiver samples a level that has not arrived, which shows up as intermittent errors that get worse as devices are added or wires get longer. Too strong and the open-drain driver cannot pull the line low enough to read as a zero, which fails hard and immediately. The floor is the sink current of the weakest device on the bus, which I²C guarantees at 3 mA; the ceiling is rise time into the bus capacitance. The window between them narrows as speed rises and capacitance grows, which is why a long I²C bus with many devices is genuinely difficult and why active bus buffers exist at all.

A pull-down is not simply an inverted pull-up, because most digital inputs are not symmetric. A CMOS input leaks only nanoamps, so a very high value would work on paper, until board contamination, humidity and nearby switching noise couple into what is now a high-impedance node. Ten kilohms is the customary compromise: low enough to shrug off leakage and coupling, high enough that the current wasted while the line is driven high stays negligible. In a low-power design it is worth calculating properly, because a permanently driven pull-down can easily outrun the sleep current of the microcontroller it is attached to.

What people use it for

  • Choosing the series resistor an LED needs, and the wattage it must be
  • Adding a chain of resistors to reach a value you do not stock
  • Building a voltage ladder or a reference string
  • Combining a whole set of resistors in parallel
  • Hitting a value between E12 steps with a parallel pair
  • Working out how a current splits between two parallel branches
  • Choosing an I²C pull-up between the sink limit and the rise-time limit
  • Holding a MOSFET gate or a button input at a defined level with a pull-down
  • Sizing a shunt so a meter reads over the range you want
  • Driving an LED from a microcontroller pin without going past the pin current limit
  • Checking that a circuit already built is not overdriving its LED
  • Making a load bank from several resistors in parallel
  • Spreading dissipation across several parts rather than one that runs hot
  • Dropping a voltage for a load that draws a fixed current
  • Limiting inrush into a capacitor with a series resistor
  • Debugging an I²C bus that stopped behaving when it got longer or faster
  • Budgeting the quiescent current a pull-down adds to a battery-powered design

Questions

1/R_total = 1/R₁ + 1/R₂ + … For two resistors, R = R₁R₂ ÷ (R₁ + R₂). For equal resistors it is simply the value over the count, so ten 1 kΩ parts give 100 Ω.

IEC 60062:2016, marking codes for resistors and capacitors (IEC catalogue entry; the standard is paywalled)
Advertisement
300 × 250
Was this tool any good?
Internal signal only · I use it to find the tools worth rebuilding