I am designing a circuit where a microcontroller can measure the load forced upon a load cell with strain gauges, making a half bridge.

A traditional Wheatstone bridge looks like this: enter image description here

Resistors R1 and R2 should be exactly the same value so a reference of VCC/2 is made. This reference is then compared to the voltage between the two strain gauges - which is also VCC/2 when they are resting.

But from prior experience I've seen that the to nodes rarely are exactly VCC/2, either because there are some tolerance on R1 and R2 or because the strain gauges are worn. My prior solution has been to add a variable resistor i series with R1 to be able to adjust/calibrate the reference voltage between R1 and R2.

Problem is that this solution is tedious, and pricey. So my question is if I could just use a DAC (the MCU already has one) to create the reference voltage of VCC/2 - or what ever matches the voltage between the strain gauges when they are resting:

enter image description here

Though I haven't been able to find this solution anywhere else (which is usually not a good sign). What pros and cons do you consider with my DAC solution?


2 Answers 2


The required specs on the DAC may result in a higher cost than necessary - I suggest using a voltage divider and adding a small trim voltage to it. That would be two precision resistors of equal value and a higher value resistor from the DAC output. For example, you could use 4.99K (2 pcs) and one 249K to give an adjustment range of about +/-1%.

One flaw in your circuit is that the gain varies with the absolute value of the load cell resistors. If you use an instrumentation amp or connect the load cell to the non inverting input you can avoid that issue.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Sounds reasonable! Thanks. But won't the DAC noise be amplified here as well? as @Andy-aka mentions?. Furthermore, the amplification would be determined the combination of Rf and the parallel resistance of R1 and R2 then right? \$\endgroup\$
    – Jolle
    Feb 24, 2015 at 19:04
  • \$\begingroup\$ Any noise or drift of the DAC is attenuated 100:1 so it's much less of a concern. The gain is +1 + Rf/(R1||R2||R6). \$\endgroup\$ Feb 24, 2015 at 19:06
  • \$\begingroup\$ Okay, sounds elagant and cheap, thanks! Just of interest, can you refer me to a place where it is explained why the DAC noise is attenuated? Is it just because the R6 makes a low pass filter (even though the filter capacitor is missing)? \$\endgroup\$
    – Jolle
    Feb 24, 2015 at 19:16
  • 1
    \$\begingroup\$ @Jolle How about right here- if you imagine 1uV of noise at the DAC output, how much appears at the output of the amplifier? It's just Rf/R6 uV. That means the gain for the DAC is R6/(1+R1||R2||R6) compared to the strain gauge, or about 0.5*R6/R1 (assuming R1||R2), so about 0.01 (1%). \$\endgroup\$ Feb 24, 2015 at 19:21
  • \$\begingroup\$ If you want a low pass filter you can add some series resistance on the output of the load cell and a cap to ground and/or a cap across Rf. \$\endgroup\$ Feb 24, 2015 at 19:37

I wouldn't do it this way because the DAC's output noise will get multiplied by the gain of the op-amp. A common solution is to use an instrumentation amp like the AD620 - it has a pin called "REF" and this can offset the output to anywhere between the supply rails. I've used it with a DAC many times but use a low pass filter between DAC output and REF input because DAC noise is a real problem. Maybe 100 ohms and a 10uF ceramic.

You could addd another op-amp stage (unity gain) and feed the DAC into it via the filter I mentioned.

  • \$\begingroup\$ Makes sense, thank! Problem is that instrumentation amps are expensive for my project. Guess I could low pass my DAC solution as well? Timing isn't an issue so I could low pass filter it pretty much? \$\endgroup\$
    – Jolle
    Feb 24, 2015 at 19:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.