Lesson 4: Series and Parallel Resistors

Table of Contents

  1. Equivalent resistances
  2. Series resistors
    1. Series example 1: Solve for current
    2. Series example 2: Solve for current
  3. Voltage dividers
    1. Example 1: Solve for voltage at VB
    2. The voltage divider pattern
    3. Why do voltage dividers matter for physical computing?
  4. Parallel resistors
    1. Parallel example 1: Solve for \(I_{Total}\)
  5. Activity
  6. Resources
  7. Next Lesson

In our Ohm’s Law lesson we analyzed relatively straightforward circuits with a single resistor. These circuits helped us build a foundation for and a conceptual understanding of Ohm’s Law and how to apply it; however, most circuits are not so simple.

In this lesson, we’re going to extend Ohm’s Law to more complicated circuits: resistors in series and resistors in parallel. In short:

  • Resistors in series divide voltage and are one of the most common (and useful) circuit configurations when working with microcontrollers and resistive sensors like potentiometers, force-sensitive resistors, and photocells.
  • Resistors in parallel divide current (and more current travels down paths with less resistance). Parallel circuits are useful, for example, in powering multiple LEDs.

Two circuit diagrams side by side: on the left, a series resistor circuit with R1 and R2 connected end-to-end in a single loop with a battery; on the right, a parallel resistor circuit with R1 and R2 on separate branches sharing the same two nodes. Figure. An example of series resistors (left) and parallel resistors (right). Images made in PowerPoint.

Equivalent resistances

Using Kirchhoff’s circuit laws, we can derive “equivalent” resistances for series and parallel circuits.

For series resistors, we sum resistances to find the aggregate resistance \(R_{equivalent}\):

\[R_{equivalent} = R_{1} + R_{2} + ... + R_{N-1} + R_{N}\]

For parallel resistors, it’s a bit more complicated:

\[R_{equivalent} = \frac{1}{\frac{1}{R_{1}} + \frac{1}{R_{2}} + ... + \frac{1}{R_{N-1}} + \frac{1}{R_{N}}}\]

Yes, the parallel resistance equation is a bit enigmatic but you can derive it yourself (or even forget it altogether) if you know Ohm’s Law and Kirchhoff’s Laws.

For us, the most important and useful concept to understand is that series resistors divide voltage (we’ll use this later in our microcontroller circuits) and that parallel resistors divide current (with more current flowing through branches with less resistance). The image below attempts to concisely explain this.

A detailed comparison of series and parallel resistor circuits. The series circuit (left) shows that current is the same through each resistor but voltage is divided proportionally across them. The parallel circuit (right) shows that voltage is the same across each branch but current is divided, with more current flowing through the branch with lower resistance.

Figure. An overview of how series resistors work (current is the same through each resistor but voltage is divided) and how parallel resistors work (voltage is the same across each resistor but current is divided). Take a moment to study and understand why this might be. Right-click on the image and select ‘Open in new tab’ to enlarge. Image made in PowerPoint.

And, while the ability to manually understand and analyze a circuit is important in physical computing, if you become confused, you can always use a circuit simulator like CircuitJS.

Series resistors

Resistors in series are connected in sequence: head-to-tail.

Two diagrams showing components in series: on the left, a generic representation of three components connected end-to-end in a single path; on the right, a circuit schematic with resistors arranged head-to-tail between a voltage source.

Figure. Components are in series if they are joined end-to-end (or head-to-tail) in sequence like the above. Image on left from Khan Academy. Image made in PowerPoint.

From Ohm’s Law, we know that resistors drop voltage (indeed, the voltage drop \(V_{R}\) over a resistor \(R\) is \(V_{R} = I * R\)). Thus, multiple resistors “in a row” (in series) will each cause a drop in voltage—and the magnitude of this drop is proportional to the resistor (higher resistance, higher voltage drop).

Generally, when we are trying to analyze a circuit with multiple resistor configurations (series, parallel, or a combination), the first step is to determine an equivalent resistance. That is, how can we combine all the resistance in the circuit to a single value (called \(R_{total}\) or \(R_{equivalent}\)) that enables us to apply Ohm’s Law across the entire circuit. In the case of solving for current, this would be \(I=\frac{V}{R_{total}}\)

So, let’s try it!

Series example 1: Solve for current

Let’s begin with the simplest series resistor circuit: a 9V battery with 100Ω and 1kΩ resistors in series.

A circuit with a 9V battery and two resistors in series: R1 = 100 ohms and R2 = 1 kilohm. The current I through the circuit is unknown.

Figure. A simple circuit with two series resistors (100Ω and 1kΩ) and a 9V battery. How much current \(I\) is flowing through this circuit?

Step 1: Solve for total resistance

The first step is to solve for the total resistance in our circuit. We know that we sum resistances in series, so: \(R_{Total} = R_{1} + R_{2} \Rightarrow 100Ω + 1000Ω \Rightarrow 1100Ω\). The total resistance is \(1100Ω\).

The same two-resistor series circuit, now showing the two resistors combined into a single equivalent resistor R_Total = 1100 ohms.

Figure. To find the equivalent resistance of this circuit (let’s call this \(R_{Total}\)), we can combine series resistors by summing them.

Step 2: Solve for current I with equivalent resistance

We can now use this equivalent resistance value \(R_{Total}\) to solve for the current \(I\) by using Ohm’s Law: \(I=9V/1100Ω \Rightarrow 0.0082A \Rightarrow 8.2mA\)

The simplified circuit showing the equivalent resistance of 1100 ohms with the solved current I = 8.2 milliamps flowing through the circuit.

Figure. We now solve for current \(I\) simply by Ohm’s Law: \(I=9V/1100Ω \Rightarrow 8.2mA\)

That’s it. We did it! The total current is \(I = 8.2mA\).

Series example 2: Solve for current

To reinforce understanding, let’s try again but with three resistors instead of two. This time, \(R_{1}=2.2kΩ\), \(R_{2}=1kΩ\), and \(R_{3}=470Ω\).

Again, we start by finding \(R_{Total}\), which is:

\[R_{Total} = R_{1} + R_{2} + R_{3} \\ R_{Total} = 2200Ω + 1000Ω + 470Ω \\ R_{Total} = 3670Ω\]

We can then use this equivalent resistance value to solve for current \(I\), which is \(I=\frac{9V}{3670Ω} \Rightarrow 0.002452A \Rightarrow 2.45mA\).

A series circuit with three resistors (2.2 kilohms, 1 kilohm, and 470 ohms) and a 9V battery. The resistors are combined into R_Total = 3670 ohms, and the solved current is I = 2.45 milliamps.

Figure. In the image above, we solve for current with three series resistors. First, sum the resistances (because they are in series) and then use this aggregate resistance (\(R_{Total}\)) to determine current with Ohm’s Law: \(I=\frac{V}{R_{Total}} \Rightarrow \frac{9V}{3670Ω} \Rightarrow 2.45mA\) (rounded to 2.5A in the figure).

Check our work in a circuit simulator

We can check our work in our favorite circuit simulator, which is whatever you like. :)

I will use the open-source tool CircuitJS. The specific simulation is here.

We can click on the wires to magically show how much current is traveling through them or to show their electric potential (voltage) with respect to ground. And sure enough, you’ll see that indeed \(2.5mA\) is traveling through the circuit. What else do you observe?

Well, remember how we’ve been emphasizing that voltages are split or divided across resistors in series. You can clearly see this as well! The voltage is at \(9V\) at the top node but drops by \(5.4V\) over the \(2.2kΩ\) resistor to \(3.6V\), which then drops by \(2.4V\) over the \(1kΩ\) resistor leaving just \(1.2V\) of electric potential before finally dropping down to \(0V\) or \(GND\) across the \(470Ω\) resistor. We’ll talk more about this next!

Figure. This video shows a CircuitJS simulation of a basic three resistor series circuit. You can play with the circuit here.

Voltage dividers

The notion that series resistors split voltages is a critical concept when working with microcontrollers. So, it deserves its own emphasis.

The key thing to remember: there is a voltage drop across each resistor (this is always the case, not just in a series circuit configuration). Thus, between each resistor we have a different electric potential or voltage. And because microcontrollers “read” voltage rather than current, we can use this property to control dynamic input into our microcontroller!

Let’s go over some examples.

Example 1: Solve for voltage at VB

With this idea of voltages dropping across each resistor, let’s look at how to calculate the voltage at the node \(V_{B}\) with respect to ground (and remember, a node is just any junction point with two or more connections in a circuit).

Before moving through our example, stop and ask yourself: how would you calculate the voltage at \(V_{B}\)?

A series circuit with a 9V battery, R1 = 100 ohms, and R2 = 150 ohms. The node between the two resistors is labeled V_B, and the question asks: what is the voltage at V_B?

Step 1: Solve for the current through the circuit

As before, the first step is to solve for the current through the circuit. We do this, again, by finding the equivalent resistance \(R_{Total}\) and using Ohm’s Law. So, \(I=\frac{V}{R_{Total}} \Rightarrow \frac{9V}{250Ω} \Rightarrow 36mA\).

The same voltage divider circuit now showing R_Total = 250 ohms and the solved current I = 36 milliamps.

Step 2: Calculate voltage drop across resistors

Now that we know the total current flowing through our circuit (\(36mA\)), we can use this to calculate the specific voltage drop across each resistor. Let’s call the voltage drop over \(R_{1}\): \(V_{1}\) and the voltage drop over \(R_{2}\): \(V_{2}\). And because we are interested in calculating voltage, we will use this formulation of Ohm’s Law: \(V = I * R\).

Thus:

\[{V_1} = I * R_1 \Rightarrow 0.036A * 100Ω \Rightarrow 3.6V \\ {V_2} = I * R_2 \Rightarrow 0.036A * 150Ω \Rightarrow 5.4V\]

And, just as a quick check on our work (and without going into too much detail), we know from Kirchhoff’s circuit laws, that \(V_{Total} = V_1 + V_2 \Rightarrow 9V = 3.6V + 5.4V \Rightarrow 9V = 9V\). So, things are looking good so far!

The voltage divider circuit with annotations showing the voltage drop V1 = 3.6V across R1 and V2 = 5.4V across R2, with the current I = 36 milliamps labeled.

Step 3: Now calculate VB

Now it is trivial to calculate \(V_B\). We know that \(V_A = 9V\) and that \(R_1\) causes a \(3.6V\) voltage drop. So, \(V_B\) must be equal to \(9V - 3.6V\), which is 5.4V.

The completed voltage divider analysis showing V_A = 9V at the top, a 3.6V drop across R1, and V_B = 5.4V at the node between the two resistors.

The voltage divider pattern

We call a two-resistor configuration like this a voltage divider precisely because, as you can see, it divides the voltages. In this case, we used \(100Ω\) and \(150Ω\) resistors in series to output a \(5.4V\) at \(V_B\).

Using Ohm’s Law, we can derive the voltage divider equation for \(V_B\) in terms of the input voltage (\(V_A\)) into our voltage divider network and the two resistors: the top resistor \(R_1\) and the bottom resistor \(R_2\).

This voltage divider equation is thus: \(V_{B} = V_{A} * \frac{R_2}{R_1 + R_2}\)

Or more commonly written as: \(V_{out} = V_{in} * \frac{R_2}{R_1 + R_2}\)

A generic voltage divider schematic showing V_in at the top, R1 and R2 in series, V_out at the node between R1 and R2, and the voltage divider equation V_out = V_in times R2 divided by (R1 + R2).

Figure. The voltage divider pattern and equation. Image made in PowerPoint. See Khan Academy for more.

Importantly, as you can tell from the equation, it is not the absolute resistances that matter but rather the ratio of \(R_1\) to \(R_2\) that controls \(V_{out}\). Thus, for the purposes of dividing voltages, setting \(R_1 = 100Ω\) and \(R_2 = 100Ω\) would be the same as \(R_1 = 2.2kΩ\) and \(R_2 = 2.2kΩ\), they would both divide the voltages evenly. So, \(V_{out}\) would equal \(4.5V\) if \(V_{in}=9V\).

However, the amount of current between the two circuits would be significantly different with the former: \(I = \frac{9V}{200Ω} \Rightarrow 45mA\) and the latter: \(I = \frac{9V}{4.4kΩ} \Rightarrow 2.0mA\).

Real-World Tolerance and Voltage Dividers. In our math, we assume our resistors are completely perfect. But remember that physical resistors have a tolerance rating!

If you build a 50/50 voltage divider using two 10kΩ resistors with a ±5% tolerance, one might actually measure 9.5kΩ and the other 10.5kΩ. Because of this slight imbalance, your real-world output voltage won’t be exactly half of your input voltage. If you measure your physical circuit with a multimeter and the numbers are slightly off from your theoretical math, component tolerance is almost certainly the culprit!

Wouldn’t it be cool to dynamically control one of those resistor values to output a variable voltage at \(V_{out}\)? Yes! And this is the basis of a potentiometer, which we will learn about in a later lesson.

Why do voltage dividers matter for physical computing?

Microcontrollers like the Arduino can only “read” voltage levels (through their analog-to-digital converters), not resistance directly. So, when we use resistive sensors like photocells, force-sensitive resistors, or thermistors, we place them in a voltage divider configuration. As the sensor’s resistance changes in response to light, pressure, or temperature, the voltage at \(V_{out}\) changes proportionally—and that’s what the microcontroller reads. You’ll see this pattern repeatedly starting in the Arduino lessons.

Deriving the voltage divider equation

Given what you are learning about circuits, you now have the knowledge to derive the voltage divider equation or, at the very least, understand how it is derived. Let’s take a look!

A step-by-step algebraic derivation of the voltage divider equation, starting from Ohm's Law and Kirchhoff's Voltage Law, arriving at V_out = V_in times R2 divided by (R1 + R2). Figure. A derivation of the voltage divider equation. See Khan Academy for more.

Using the figure above, let’s identify and write down what we know. We know that the voltage drop over \(R2\) is equal to \(V_{out}\) (indeed, they are the same thing) and that \(V_R2=I*R2\):

\[V_{out} = V_{R2} = I * R2\]

We also know that \(V_{in}\) is equal to \(V_R1 + V_R2\) given Kirchhoff’s Voltage Law.

\[V_{in} = V_{R1} + V_{R2}\]

Using Ohm’s Law, we can substitute \(I * R1\) for \(V_{R1}\) and \(I * R2\) for \(V_{R2}\).

\[V_{in} = I * R1 + I * R2\]

Now, rearrange the \(V_{in}\) equation using algebra:

\[V_{in} = I * (R1 + R2) \Rightarrow I = \frac{V_{in}}{(R1 + R2)}\]

Returning to \(V_{out} = I * R2\), we can substitute \(I\) given the formulation above:

\[V_{out} = I * R2 = \frac{V_{in}}{(R1 + R2)} * R2\]

Finally, rearrange the above to achieve the popular voltage divider equation:

\[V_{out} = V_{in} * \frac{R2}{(R1 + R2)}\]

For this voltage divider equation to hold true, the current \(I\) flowing through \(R_1\) must be (largely) equal to the current flowing through \(R_2\). That is, if we hook up a branch to \(V_{out}\), as we’ve done below, then this branch must have very high resistance so that very little current “leaks” out into that branch: \(R_{Load}\) must be orders of magnitude greater than \(R1 + R2\). In the case of microcontroller inputs, this is fortunately the case, which we will return to later (e.g., in the “Using buttons” lesson).

A voltage divider circuit with a load resistor R_Load connected at V_out. An annotation notes that R_Load must be much larger than R1 + R2 for the voltage divider equation to remain accurate. Figure. The voltage divider equation only holds when \(R_{Load}\) is large, which it will be when we start using microcontrollers (which read changes in voltage levels and have “high input impedance”).

Parallel resistors

Whereas series resistors carry the same current but divide voltage, parallel resistors have the same voltage but divide current. Components in parallel look like this:

Two diagrams showing components in parallel: on the left, a generic representation of three components whose tops all connect at one shared node and bottoms all connect at another shared node; on the right, a circuit schematic with parallel resistors between two nodes.

Figure. Components are in parallel if their heads share a node and their tails share a node. Image on left from Khan Academy. Image made in PowerPoint.

Parallel example 1: Solve for \(I_{Total}\)

In the circuit below, we have two parallel resistors \(R_1=100Ω\) and \(R_2=1kΩ\). Let’s solve for the total current \(I_{Total}\) in the circuit.

A circuit with a 9V battery and two resistors in parallel: R1 = 100 ohms and R2 = 1 kilohm. The total current I_Total is unknown.

Step 1: Observe that \(I_{Total}\) splits into branches

The first thing to recognize is that \(I_{Total}\) splits into two branches. Let’s call the current down those two branches \(I_1\) and \(I_2\). From Kirchhoff’s Laws, we know that \(I_{Total} = I_1 + I_2\). This is due to the conservation of charge—no charges are lost in our circuit (they simply flow around and around).

The same parallel circuit with annotations showing I_Total splitting into two branch currents: I1 flowing through R1 and I2 flowing through R2.

Step 2: Identify and name nodes

Also recognize that there are only two nodes in our circuit. We can label them \(Node A\) and \(Node B\).

The parallel circuit with the two nodes labeled: Node A at the top where the branches split, and Node B at the bottom where the branches rejoin.

Step 3: Define \(V_A\)

Because \(Node A\) is directly connected to the positive terminal of the battery, it has an electric potential of 9V. Let’s call this \(V_A = 9V\). Similarly, \(Node B\) is directly connected to the negative terminal of the battery, so let’s refer to this as \(GND\) or \(0V\).

The parallel circuit with Node A labeled as V_A = 9V and Node B labeled as GND (0V).

Step 4: Solve for \(I_1\) and \(I_2\)

Using Ohm’s Law, we can now solve for \(I_1\) and \(I_2\) where: \(I_1 = \frac{V_A}{R_1}\) and \(I_2 = \frac{V_A}{R_2}\). Thus, \(I_1 = \frac{9V}{100Ω} \Rightarrow 90mA\) and \(I_2 = \frac{9V}{1000Ω} \Rightarrow 9mA\).

The parallel circuit with the solved branch currents: I1 = 90 milliamps through R1 (100 ohms) and I2 = 9 milliamps through R2 (1 kilohm).

Stop for a moment. Think about these results. Do they conceptually make sense?

Using Ohm’s Law, we found that 10 times as much current flows through the \(I_1\) branch as the \(I_2\) branch. Indeed, this exactly matches the ratio of the two resistors R1 and R2: R1 is 10 times smaller than R2 and thus, more current will flow through \(I_1\) branch (10x more!). This makes sense: just as more water will flow through a branch with less resistance, so too will more current flow through the path of less resistance.

Step 5: Finally, solve for \(I_{Total}\)

Finally, we can use \(I_{Total} = I_1 + I_2\) to solve for \(I_{Total}\). In this case, \(I_{Total} = 90mA + 9mA \Rightarrow 99mA\).

The completed parallel circuit analysis showing I1 = 90 milliamps, I2 = 9 milliamps, and I_Total = 99 milliamps.

Step 6: Use equivalent resistance to check our work

Remember how we introduced an equation for equivalent resistance in parallel resistor circuits? The equation is:

\[R_{equivalent} = \frac{1}{\frac{1}{R_{1}} + \frac{1}{R_{2}} + ... + \frac{1}{R_{N-1}} + \frac{1}{R_{N}}}\]

As an aside, if you’re curious about its derivation, see this Khan Academy lesson—but, in short, you can derive it from Ohm’s Law (and the steps that we followed above).

We can use this equation to more quickly solve for \(I_{Total}\), which is \(I_{Total} = \frac{V_A}{R_{equivalent}}\).

We know that \({R_{equivalent} = \frac{1}{\frac{1}{100Ω} + \frac{1}{1kΩ}}} \Rightarrow 90.9Ω\)

Thus, \(I_{Total} = \frac{9V}{90.91Ω} \Rightarrow 99mA\).

Check our work in a circuit simulator

We can also check our work in a circuit simulator. I built the same circuit in CircuitJS, which you can view here.

Does the visualization match your expectation?

Figure. This video shows a CircuitJS simulation of a basic two resistor parallel circuit. You can play with the circuit here.

Two-resistor shortcut. When you have exactly two resistors in parallel, the equivalent resistance formula simplifies to the “product over sum” shortcut:

\[R_{equivalent} = \frac{R_1 \times R_2}{R_1 + R_2}\]

For our example: \(R_{equivalent} = \frac{100 \times 1000}{100 + 1000} = \frac{100000}{1100} = 90.9Ω\). This is much easier to compute than the reciprocal-of-reciprocals form, especially on paper. Note that this shortcut only works for exactly two resistors in parallel.

TODO: add in strategy for simplifying: https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-resistor-circuits/a/ee-simplifying-resistor-networks –>

Activity

Come up with two series resistor circuits and two parallel resistor circuits. Using what you’ve learned, manually solve for current in each circuit (either on pencil+paper or digitally). Show your step-by-step work. Check your work by building a simulation in CircuitJS.

In your prototyping journals, include a sketch of the circuit (can be a smartphone picture of paper+pencil), your manual work to solve for current \(I\) (again, can be paper+pencil), and a screenshot of the CircuitJS circuit along with a direct link. (Remember, you can create a CircuitJS link by going to File -> Export as Link).

Resources

Next Lesson

In the next lesson, we will learn more about resistors, how they’re made, how to use them, how they’re characterized, and how to calculate their power dissipation.

Previous: Ohm’s Law Next: Resistors


This website was developed by Professor Jon E. Froehlich and the Makeability Lab using Just the Docs. If you found the website useful or use it in your teaching, we'd love to hear from you: jonf@cs.uw.edu. This website and all code is open source (website GitHub, Arduino GitHub, p5js GitHub). You can find the MakeabilityLab_Arduino_Library here. Found an error? File a GitHub Issue.

Made with ♡ by the The Makeability Lab logo which is a large geometric M with an embedded L