When you need to interface a non-linear sensor like an NTC thermistor with a microcontroller ADC, a simple two-resistor series divider falls short. You need a mixed series-parallel topology to linearize the response. But how to calculate resistance in circuit configurations that mix series and parallel branches? The golden rule is reduction: collapse the parallel blocks into single equivalent resistors first, then add them to the series chain.

In this guide, we will design a 5V sensor biasing network, calculate the exact node voltages using real E24 component values, analyze what happens when components fail, and walk through breadboard verification.

The Mixed Series-Parallel Topology: Nodes and Equivalent Resistance

Our target circuit is a loaded voltage divider used to linearize an NTC thermistor. It consists of three resistors and three distinct nodes:

  • Node VCC: 5.0V DC power rail.
  • Node_OUT: The analog output node connected to the microcontroller ADC.
  • Node GND: 0V system ground.

The Configuration: Resistor R1 (10kΩ) is in series between VCC and Node_OUT. At Node_OUT, the circuit splits into a parallel block containing R2 (10kΩ NTC thermistor at 25°C) and R3 (22kΩ fixed linearizing shunt resistor), both returning to GND.

Pro Tip: Always calculate the parallel equivalent resistance ($R_{par}$) before adding the series resistor ($R1$). The formula for two parallel resistors is $R_{par} = (R2 \times R3) / (R2 + R3)$.

Let's calculate the baseline values at 25°C (where R2 = 10kΩ):

  1. Parallel Block: $R_{par} = (10,000 \times 22,000) / (10,000 + 22,000) = 220,000,000 / 32,000 = 6,875\Omega$ (6.875kΩ).
  2. Total Resistance: $R_{total} = R1 + R_{par} = 10,000 + 6,875 = 16,875\Omega$ (16.875kΩ).
  3. Total Current: $I = V / R_{total} = 5.0V / 16,875\Omega = 0.296 mA$.
  4. Node_OUT Voltage: $V_{out} = I \times R_{par} = 0.000296A \times 6,875\Omega = 2.035V$.

As the thermistor heats up or cools down, R2 changes, which shifts the parallel equivalent resistance and alters the total circuit resistance. Here is the data-dense behavior table showing how the circuit reacts across a temperature sweep:

Simulated Temp R2 (NTC) R3 (Shunt) R_parallel R_total Node_OUT Voltage
Hot (~60°C) 5.0 kΩ 22 kΩ 4.07 kΩ 14.07 kΩ 1.45 V
Room (25°C) 10.0 kΩ 22 kΩ 6.87 kΩ 16.87 kΩ 2.04 V
Cool (~10°C) 20.0 kΩ 22 kΩ 10.48 kΩ 20.48 kΩ 2.56 V
Cold (~0°C) 50.0 kΩ 22 kΩ 15.28 kΩ 25.28 kΩ 3.02 V

Why This Topology Beats a Simple Series Divider

Why add R3 in parallel instead of just using a simple two-resistor series divider (R1 and R2)? The answer lies in the transfer function. An NTC thermistor's resistance drops exponentially as temperature rises. If you use a simple series divider, the voltage output curve is highly compressed at the hot end and stretched at the cold end, wasting your ADC's resolution.

By placing a fixed shunt resistor (R3) in parallel with the thermistor, you cap the maximum equivalent resistance of the lower leg. This forces the voltage curve into a much more linear S-shape across your target operating range, making firmware mapping via lookup tables or the Steinhart-Hart equation significantly more stable.

Criteria Simple Series Divider (R1 + R2) Mixed Topology (R1 + [R2 || R3])
Component Count 2 Resistors 3 Resistors
ADC Linearization Poor (highly exponential) Good (S-curve linearization)
Max Impedance at ADC Varies wildly with temp Capped by R3 (max ~15.2kΩ)
Firmware Complexity High (requires dense lookup tables) Low (sparser lookup tables work)

For a deeper dive into how parallel shunts affect sensor impedance, the SparkFun voltage divider tutorial provides excellent baseline theory on loading effects.

Design Walkthrough: Picking Real Component Values

When designing this on the bench, you cannot buy a 6.875kΩ resistor off the shelf. You must select standard E24 series values and verify power dissipation to ensure your resistors do not overheat and alter their own resistance.

Step 1: Select the Pull-up (R1)
We want the total current draw to be under 1mA to save battery life in portable IoT nodes. A 10kΩ pull-up limits the absolute maximum current (if R2 and R3 shorted) to $5V / 10k\Omega = 0.5mA$. This is an excellent baseline.

Step 2: Select the Shunt (R3)
The shunt resistor should be roughly 2 to 3 times the nominal resistance of the thermistor at the center of your target temperature range. For a 10kΩ NTC targeting room temperature, a 22kΩ E24 standard value is ideal. It pulls the curve down just enough to linearize it without sinking excessive current.

Step 3: Verify Power Dissipation
Resistors heat up when current flows through them, which can cause thermal drift. Let's check the worst-case power dissipation for R1. The maximum voltage drop across R1 occurs when the parallel block is at its highest resistance (cold state, $R_{par} = 15.28k\Omega$). The voltage across R1 is $5V - 3.02V = 1.98V$.
$P = V^2 / R = (1.98)^2 / 10,000 = 0.00039W$ (0.39mW).
This is vastly below the 250mW rating of a standard 1/4W (0805 SMD or 1/4W through-hole) resistor. You can safely use 1% tolerance 0603 SMD resistors for this entire network without thermal drift concerns.

Sourcing Note: Always buy 1% tolerance metal film or thick film resistors for bias networks. Standard 5% carbon composition resistors will introduce up to 500Ω of error into your 10kΩ pull-up, shifting your baseline ADC reading by over 100mV.

Failure Mode Contrast: What Breaks at the Extremes?

In industrial and automotive applications, knowing how to calculate resistance in circuit is only half the battle; you must also predict what the circuit does when a component fails. A robust firmware design uses the ADC voltage to detect hardware faults. Here is the failure behavior matrix for our mixed topology:

Failure Event Circuit State New R_total Node_OUT Voltage Firmware Fault Detection
R1 Open (Pull-up breaks) Node_OUT floats to GND via R2||R3 Infinite (Open) 0.00 V Trigger "Sensor Short / Wire Break" alarm
R1 Short (Solder bridge) VCC connects directly to Node_OUT R_par (6.87 kΩ) 5.00 V Trigger "Overvoltage / Pull-up Fault" alarm
R2 Open (Thermistor wire snaps) Only R3 (22kΩ) remains to GND 32.00 kΩ 3.43 V Trigger "Sensor Missing" (Out of bounds high)
R2 Short (Thermistor fails short) Node_OUT pulled directly to GND 10.00 kΩ (R1 only) 0.00 V Trigger "Sensor Short" (Out of bounds low)
R3 Open (Shunt breaks) Reverts to simple series divider Varies wildly Non-linear curve Hard to detect via single reading; requires curve-fit error check

Notice that an open R2 (a very common failure when a sensor cable is yanked) results in a predictable 3.43V output. Because the normal operating range of this circuit maxes out around 3.02V at freezing temperatures, any ADC reading above 3.20V can be confidently flagged by your microcontroller as a disconnected sensor, rather than an impossibly cold environment.

For more on designing fault-tolerant analog front ends, refer to the series-parallel circuit analysis chapter on All About Circuits, which details how open branches isolate fault currents.

Breadboard Testing: Step-by-Step Verification

Before writing a single line of ADC code, you must verify the physical hardware. Grab your digital multimeter (DMM), a breadboard, and your 1% resistors. Follow this exact sequence to validate your equivalent resistance calculations.

  1. Power Down and Isolate: Ensure the breadboard is completely unpowered. Do not connect the microcontroller yet. Insert R1 (10kΩ), R2 (10kΩ fixed resistor to simulate the thermistor at 25°C), and R3 (22kΩ) into the breadboard according to the topology.
  2. Verify the Parallel Block: Set your DMM to the Ohms (Ω) setting. Place the black probe on the GND rail and the red probe on Node_OUT. You should read approximately 6.87 kΩ. If you read 10kΩ or 22kΩ, you have a breadboard contact issue or a missing jumper wire.
  3. Verify Total Resistance: Place the black probe on GND and the red probe on the VCC rail (the top of R1). The DMM should read approximately 16.87 kΩ. This confirms R1 is properly in series with the parallel block.
  4. Apply Power: Connect a regulated 5.0V bench supply to the VCC and GND rails. Set your DMM to DC Volts.
  5. Measure Node_OUT: Place the red probe on Node_OUT and the black probe on GND. The reading should be 2.03V to 2.05V.
    If your voltage reads closer to 2.5V, your R1 and R2 values might be swapped, or you are using 5% resistors that have drifted. Always measure your resistors with the DMM before inserting them into the board.
  6. Simulate Temperature Shift: Power down. Swap the 10kΩ R2 resistor for a 20kΩ resistor (simulating a cold environment). Power back up and measure Node_OUT. It should now read 2.56V, confirming your parallel reduction math matches physical reality.

Mastering how to calculate resistance in circuit designs that mix series and parallel elements is what separates theoretical students from practical hardware engineers. By reducing parallel blocks first, validating power dissipation, and designing firmware around specific failure-mode voltages, you build sensor networks that are both accurate and robust against real-world abuse.