Applying Kirchhoff’s Laws

Icon to return to the previous section.
Icon to return to table of contents.
Icon to go to the next section.

Part 1: Fundamental Concepts: Applying Kirchhoff’s Laws

With our knowledge of Ohm’s and Kirchhoff’s Laws, any arbitrarily complex circuit composed of resistances mixed with voltage sources can be solved for the current through any branch of the circuit and the voltages present across all of the resistors in it.

You might wonder if there are useful circuits that are made from nothing more than resistors and voltage sources.  There are a few, but there aren’t many that actually come to mind.  What is very useful, is being able to apply the knowledge to other, more useful, circuit configurations that will be discussed in later chapters.  You should be comfortable with these concepts because they represent part of the basic knowledge needed when working with, and understanding, all circuits.

Kirchhoff’s first and second laws are important concepts grasp.  They allow you to visualize how current flows through a circuit and voltages that appear in it.  These laws are also useful because they allow you to write a group of equations that can be solved so that you can quantify the currents and voltages present in the circuit.  That said, you will rarely find yourself writing equations in this way when dealing with most circuits.  With that in mind, take the time to understand the remainder of this section on a conceptual basis even if you become a bit bogged down by the math. 

To help cement the principles you have learned so far, let’s solve an example circuit.  In the following figure, the value we are interested in is the voltage that appears across R3. 

Resistive bridge circuit.

Figure 1. Resistor bridge circuit.

To find the voltage across R3, a set of equations can be developed that allow its value to be found.  This is where Kirchhoff’s Laws come into play.  The following figure is the same schematic, shown above in Figure 1, annotated with currents flowing into and out of the circuit’s nodes.  In addition, the loops that exist in the circuit are shown as well.  As a side note, this particular circuit configuration is called a resistive bridge or Wheatstone bridge which is a useful circuit configuration you are likely to encounter.

When picking the direction that the current flows, you are free to pick any direction that you like.  When the circuit is solved, if you chose the wrong direction, the current will have a negative sign indicating that the initial guess is wrong.  In this particular circuit, there are four loops and six current values shown.  Not all of these are necessarily required to find the answer we are looking for.  However, having all of them marked does not hurt and might help us think our way through the problem.  To help keep things straight, the four nodes in the circuit are labeled as well with the letters A through D.

Figure 2. Resistor bridge circuit with current and loops annotated.

We begin by writing the equations related to Kirchhoff’s First Law which tells us that the current flowing into a node is equal to the current flowing out of it.  This also means that the sum of the currents, assuming that we assign a positive value to current flowing into a node and a negative value to current flowing out of it, must be 0.  The equations for the six currents labeled in Figure 2 are:

            For node A:   i1-i2-i3 = 0

            For node B:   i2-i4-i5 = 0

            For node C:   i3+i4-i6 = 0

            For node D:   i5+i6-i1 = 0

The current equations are straight forward with the possible exception of the last one for node D.  An additional current, i7, could have been used to indicate the current flowing back into the voltage source.  Since we know that the current that flows from, and back into the voltage source is the same, i1 was used to complete the equation for node D rather than create a new current, i7, since i7 would be equal to i1.

In the schematic shown in Figure 2, the voltage drops across each resistor is not labeled.  Instead, the Ohm's law equivalent (I*R) will be used for voltage that appears across each resistor.  For instance, instead of labeling the voltage drop across R4 as V4, i5*R4 is used because Ohm’s Law tells us that i5*R4 is the voltage that appears across the resistor.

Generating the equations based on Kirchhoff’s Second Law, which tells us that the voltages that appear around a loop in a circuit sum to 0, is also straight forward.  In the case of loop 1 and loop 4, we start after the positive terminal of V1 and add the voltage drops from the resistors as we move in a clockwise direction ending up at the negative terminal of V1 which, due to it polarity, ends up being subtracted from the total.

In the case of loop 2 and loop 3, the the starting point of the loop is chosen as node B.  The polarity of voltage on R3 is taken from the direction chosen for I4 even though the direction of I4 is hard to guess.  If the polarity is wrong, the answer will be negative indicting that the direction chosen was wrong, and the polarity is the opposite of the initial guess.  As was the case with summing the currents, there is no right or wrong way to make the choices, as long as the rules are consistently applied. The sign of the result will indicate if the chosen direction was correct.  The equations are:

            For Loop 1:  i2*R1 + i5*R4 - V1= 0

            For Loop 2:  -i2*R1 + i3*R2 -i4*R3 = 0

            For Loop 3:  i4*R3 + i6*R5 - i5*R4 = 0

            For Loop 4:  i3*R2 - i6*R5 - V1= 0

The loop equations, particularly in regard to the signs, may seem a bit confusing.  The following figure is the same as Figure 2, with the addition of polarity symbols placed on the resistors to help keep things straight.  Let’s look at loop 2.  The loop starts at node B  which yields the term: -i2*R1.  Now we add to that the voltages we find as we follow the loop around.  The next voltage we encounter is i3*R2 with a positive polarity, which gives us, after we add to what we have: -i2*R1 + i3*R2.  Continuing around the loop we encounter a negative voltage on R3 which is given by: -i4*R3.  Adding that to the total so far we end up with: -i2*R1 + i3*R2 + (-i4*R3) or simply -i2*R1 + i3*R2 -i4*R3.  As we follow around the loop, we find that we are back to R3, so we can finish this loop equation by setting what we have so far equal to 0.  Doing that we get: -i2*R1 + i3*R2 -i4*R3 = 0.

Figure 3. Resistor bridge circuit with current, loops, and polarity annotated.

What would happen if we started loop 2 on a different resistor?  If we are consistent in the way that we do things, the result will be the same.  It is easy to check.  Let’s start the loop at node A and see what we get.  Starting at node A and moving around the loop in the same direction yields the equation: i3*R2 - i4*R3 - i2*R1 = 0.  Since this is a simple sum, we can rearrange the terms easily to: -i2*R1 + i3*R2 -i4*R3 = 0.  This is the same result as starting at node B.

Counting the four equations for the current flowing into and out of nodes A through D (Kirchhoff’s First Law) and four equations found summing the voltages around the loops, there are eight equations with six unknowns.  We are in good shape because, at a minimum, we need one equation for each unknown.  We are now left with the somewhat tedious task of solving the equations.

  Some people enjoy doing algebraic manipulations, as well as other forms of math, as a recreational activity.  I am not one of them, although I do enjoy puzzling my way through a circuit.  I would rather have the solution so that I can continue on with the circuit analysis and not be hindered by the time spent solving the equations.  If you enjoy this sort of thing (solving a group of equations), then you should do so.  I would strongly recommend, however, that you become aquatinted with one of the many computer algebra systems (CAS), or similar software packages, that are available.  Although there is a learning curve involved with using them, the time saved and the mistakes avoided are worth the effort spent becoming familiar with their use.  For those on a budget, some very high quality and very capable packages are available for free.  One example is Sage.  It is free and supports all common operating systems.  Another option is to use a circuit simulator, such as LTSpice, to solve the circuit (a quick start guide to using LTSpice is available in the appendix).  If you do choose to use a simulator, it is important that you understand the concepts involved before you simulate the circuit.  That said, circuit simulators are a great way to experiment with, and learn about, circuits.

The eight equations developed were entered into a Sage workbook to find the solution. In Sage, the equations and given values can be entered as:

    var('i1, i2, i3, i4, i5, i6, v1, r1, r2, r3, r4, r5')


    v1 = 10

    r1 = 100

    r2 = 100

    r3 = 50

    r4 = 200

    r5 = 200


    eqn1 = i1 - i2 - i3 == 0

    eqn2 = i2 - i4 - i5 == 0

    eqn3 = i3 + i4 - i6 == 0

    eqn4 = i5 + i6 - i1 == 0

    eqn5 = i2*r1 + i5*r4 - v1 == 0

    eqn6 = -i2*r1 + i3*r2 - i4*r3 == 0

    eqn7 = i4*r3 + i6*r5 - i5*r4 == 0

    eqn8 = i3*r2 + i6*r5 - v1 == 0


    solve([eqn1,eqn2,eqn3,eqn4,eqn5,eqn6,eqn7,eqn8],i1,i2,i3,i4,i5,i6)


When this is evaluated the following results are returned: 

        i1 == (1/15), i2 == (1/30), i3 == (1/30), i4 == 0,

        i5 == (1/30), i6 == (1/30)


The original goal was to find the voltage drop across R3.  This is found by i4*R3.  Looking at the solutions for the equations entered, we see that i4 has a value of 0.  This means that the voltage across R3 is 0V.  The first reaction to this result may be to assume it is wrong.

Looking at the circuit in Figure 3, we can see that node A and Node D are connected directly to the voltage source.  The resistors, R1 and R4, on the left hand side can be thought of as a voltage divider.  The same applies to R2 and R5 on the right hand side.  Given the symmetry (R1 = R2, and R4=R5) you can imagine that the voltage at node B is equal to the voltage at node C.  If this is the case, then R3 has the same voltage on either side of it so there is no voltage difference across R3 and therefore, no current flow though R3.  As odd as the result may seem at first, a quick look at the circuits symmetry indicates it might be correct.

To investigate a bit further, let’s alter the value of one of the resistors.  In this case, we will set R2 to 200Ω.  Updating the value results in the following set of equations in Sage (this is the same as what is shown above except for the value of R2):

    var('i1, i2, i3, i4, i5, i6, v1, r1, r2, r3, r4, r5')


    v1 = 10

    r1 = 100

    r2 = 200

    r3 = 50

    r4 = 200

    r5 = 200


    eqn1 = i1 - i2 - i3 == 0

    eqn2 = i2 - i4 - i5 == 0

    eqn3 = i3 + i4 - i6 == 0

    eqn4 = i5 + i6 - i1 == 0

    eqn5 = i2*r1 + i5*r4 - v1 == 0

    eqn6 = -i2*r1 + i3*r2 - i4*r3 == 0

    eqn7 = i4*r3 + i6*r5 - i5*r4 == 0

    eqn8 = i3*r2 + i6*r5 - v1 == 0


When evaluated, these equations yield the result:

    i1 == (31/520), i2 == (1/26), i3 == (11/520),

    i4 == (1/130), i5 == (2/65), i6 == (3/104)


In this case, we can see that there is now current (i4) flowing through R3.  It is 1/130 A, or 0.00769A.  This happened because we unbalanced the circuit (changed the symmetry of the values) which caused a voltage difference to appear across R3.  Multiplying the resistance value of 50Ω by the current of 0.00769A yields a voltage drop of 0.385V.

In the previous section, and earlier in this section, it was stated that drawing the current arrow in the wrong direction would not result in the wrong answer.  How can that be?  When you draw the current arrows in the wrong direction and solve the equations, you will simply get a negative result if your initial guess is wrong.  That said, this does not mean you should randomly choose the current direction.  The result will probably be quite a few negative currents mixed in with the positive ones which can be confusing.

To demonstrate this, let’s reverse the values of R1 and R2 from the unbalanced example above.  For clarity, the following figure contains the two versions of the unbalanced circuit shown side by side.  The left hand schematic is for the unbalanced configuration solved above where R2 has a value of 200Ω and the right hand schematic is shown with R1 having a value of 200Ω.  Notice that the current directions, nodes, and polarities are the same, therefore the equations are the same. The only difference is the values we are using for R1 and R2 when we solve the equations.

Figure 4. Two versions of an unbalanced bridge.

The solution for the left hand circuit was found above using Sage and the result was:

            i1 == (31/520), i2 == (1/26), i3 == (11/520),

            i4 == (1/130), i5 == (2/65), i6 == (3/104)

The current value for i4 is shown as a positive value which indicates that the current is flowing in the direction that we guessed initially when the figure was labeled with current flow directions.

To solve the second hand circuit,  all of the equations are the same, so we simply need to reverse the values of R1 and R2.  The Sage snippet below show the modifications to what was entered in Sage:

        From:    

        ….

        r1 = 100

        r2 = 200

        …


        To:

        ….

        r1 = 200

        r2 = 100

        …


With this change, Sage provides the following solution:

    i1 == (31/520), i2 == (11/520), i3 == (1/26),

    i4 == (-1/130), i5 == (3/104), i6 == (2/65)


Notice that the sign of i4 has become negative.  The value is now (-1/130) or -0.00769A.  This tells us that the current flow direction chosen for i4 is wrong for the right hand circuit and, as a consequence, the polarity shown for R3 is wrong in the figure.  Knowing this, we can simply correct the figure and we have a full understanding of the potentials and current flow directions in the circuit.

Looking at the results obtained from solving the equations, you might notice that the currents described by the loops may not necessarily occur.  In fact, the circular current flow shown in loops 2 and three will never occur.  Depending on the value of the other resistors, some of the current in the circuit may branch and flow through R3 but current will never run “up hill” and flow from a lower to higher potential.  The voltages around a loop will, as Kirchhoff’s Second Law States, sum to 0 but the loops themselves do not necessarily mean that current will flow in the paths shown.

As an alternative to using a CAS package, you can simulate the circuit.  The following figure is taken from LTspice with a DC analysis being performed on the first unbalanced circuit.

Figure 5. Result of a spice simulation.

The answer obtained from the LTspice simulation is the same, 6.15385-5.76923 = 0.385V, as that obtained from solving the equations.  The voltage values shown in Figure 5 for the SPICE simulation might be confusing to you.  When the SPICE simulation produces its results, all of the voltages are shown in reference to a common point.  That point is indicated by the down pointing triangle (which represents ground in LTspice) in Figure 5.  To find the voltage across R3 we therefore need to subtract the voltage values for R3’s terminals from each other.

Finding the solution using a circuit simulator does not, however, provide the same level of insight into what is happening that you get from applying Kirchhoff’s Laws.  Circuit simulations are a great way to quickly get a feel for what the circuit is doing and to refine its operation but you should have an understanding of how the currents are flowing in the circuit and why, before blindly simulating the circuit without a deeper understanding of what is going on. 

Key Concepts



• Kirchhoff’s Laws allow you to describe the behavior of a circuit keeping track of the currents that flow into and out of circuit nodes and by summing the voltage drops around loops that current can flow in.

• While very useful in describing an entire circuits operation at once, you will most likely find yourself using other techniques when working with most circuits.

• The loops drawn to sum voltages may, or may not, describe actual current flow.

• Perhaps the most important aspect of working with Kirchhoff’s Laws is gaining an appreciation for how current flows in a circuit and the voltages that appear in it.

Icon to return to the previous section.
Icon to return to table of contents.
Icon to go to the next section.

copyright © 2021 John Miskimins