Digital Bathroom Scale to Arduino. Is this setup right?

I have a Terraillon bathroom scale that I'm trying to wire to an Arduino Uno. It contains 4 strain gauges (or load sensors/cells :sweat_smile:), each with a Red, Black, and White wire. I have pictures of what I think might be the correct setup, but this is still new to me. I'm partially basing my setup on this:

I am using 2 INA125p ICs, which differs from the link's IC. Each side/pair connects to a single terminal block and gets its own INA125p. Each pair has one set of White and Black wires connected in reverse. I didn't build a 555 timer power supply like the link.

How off am I?

So what exactly are you getting or not getting? I wrote the article you are loosly basing your design on. The pics look the same as mine, except for the negative power supply (which I recommend!). Tell me more so I can try to help.


You have to use the negative power supply with the AD620. Change In-Amps if you want a single supply.

You circuit looks generally OK to me. However, as it stands, I see 3 potential issues:

  1. You are depending on the 2 strain gauges in each pair being exactly balanced at no load (i.e. no offset error). You may get a positive offset (i.e. amplifier output significantly above zero when there is no load), or a negative offset (amplifier output is close to zero at no load, but you need a substantial load before the output voltage rises at all).

  2. Your strain gauges must be connected the right way round, so that when you apply a load on either of them, the amplifier produces a positive output voltage instead of trying to produce a negative output voltage. So you may need to try reversing the strain gauge +5V and ground connections (alternatively, just swap the two red wires) to get the amplifier output to increase when a load is applied.

  3. The INA125 can't produce an output voltage less than 0.15V typical, so there will be a dead zone (i.e. you won't be able to read small loads).

If you are not looking for great accuracy and the offset errors in the strain gauges are small enough, then issue 1 and 3 may not matter. However, you can avoid them by tying pin 5 of the amplifiers to a fixed voltage a little higher than ground instead of to 0V, and having the Arduino read this voltage as well as the two amplifier outputs. As the INA125 has an integrated voltage reference, you could configure one of them to produce 1.24V on pin 4 (by connecting pin 4 to pin 13), and feed that to pin 5 of both amplifiers. Then the output voltage of each amplifier will be ideally 1.24V at no load (in practice slightly offset from this, but you can compensate for that in the software), and will rise when a load is applied. As the reference isn't designed to sink current, you should connect a resistor of about 1K between pin 4 and ground, to make sure the load current is always positive.