From my earlier question I was able to wire up 2 SEN-10245 weight sensors (each forming one half of a wheatstone bridge) with an AD620 InAmp & 47 Ohm resistor (to set the gain to ~1000). I then ran the signal through the MCP3008 Analog to Digital Converter and finally to my Raspberry Pi.

Now that I have everything wired up, I am seeing some strange behavior when applying pressure to the weight sensors.

When applying small amounts of pressure (a soda can, for example) the sensor reading rises ~15%. However, if I really push on the sensor it drops anywhere from 30-60%. Why is this?

The end goal is to detect individual soda cans on a shelf; is there anything I can do to my circuit to modify the sensitivity or increase accuracy?

Please note that Vref on the InAmp currently has no voltage source

AD620 Data Sheet

MCP3008 Data Sheet

The pictures below illustrate my current setup:

enter image description here enter image description here enter image description here

Python script for reading values from the ADC:

import spidev
import time

spi = spidev.SpiDev()

# read SPI data from MCP3008 chip, 8 possible adc's (0 - 7)

def readadc(adcnum):
    if ((adcnum > 7) or (adcnum < 0)):
        return -1
    r = spi.xfer2([1,(8+adcnum)<<4,0])
    adcout = ((r[1]&3) << 8) + r[2]
    return adcout

# weight sensor connected to adc#0
weight_adc = 0

while True:
    weight = readadc(weight_adc)
    print "weight:", weight

  • \$\begingroup\$ It sounds like to me you have mechanicaly problems distributing weight equally to the two sensors. It sounds like a "balancing" effect where one gauge-pair is slightly "pushed inwards" and the other gauge-pair, due to bad design is pulling outwards like on a see-saw. \$\endgroup\$
    – Andy aka
    Commented Nov 9, 2015 at 21:01

4 Answers 4


Cool project!

I suspect that your issue may be mechanical, not electrical. It seems that the sensor's geometry is such that it doesn't work well when just sitting on a flat surface. You're supposed to mount the sensor by the edges of the "E"-shaped bracket, and then apply weight to center "bump".

You could jut put a couple of popsicle sticks under the edges, to try it out.

Good luck :)


First of all, you want to connect Vref of the inamp to the same lower voltage reference that you are using for the ADC (in case you haven't done that already). As for the strange behavior of the strain gauge, I would recommend measuring strain gauge resistance (after disconnecting it from the circuit) when you put a soda can on it and when you push on it yourself. If the strain gauge behaves as expected, then there is something funky happening with your circuit.

To improve the sensitivity usually you can do one of two things: either increase gain of the amp (given your dynamic range permits that) and/or convert half-bridge into full-bridge.


I think you had bad designed your bridge. 1000 Gain look so much highter. Did you consider differential input mode for it? I think you are just out of range when you hard push on sensor. Please post schematics and Sensor resistor range.


You want the two half-bridge load cells to work against each other in the circuit, so switch the polarity for one of the white-blacks. Then the red in one will increase voltage, while the other decreases voltage, adding the loads together in unbalancing the wheatstone bridge, rather than differencing them before they even get to the op-amp.

Also, tie the ref pin (5) of the op-amp to something above zero, since the difference could go below zero, and the amplified signal needs to be within the range of the ADC. With 1mv/V at full scale, 5V excitation, and two opposed half-bridges, the 50kg full load on each sensor should get you an S+/S- of (5V*1mV/V - -(5V*1mV/V)) = 10mV of difference (depending on geometry and polarity), times 1000 gain = 10V clipped to the 0/5V range of the in-amp.

Also, each of those load cells has two resistive sensors mounted on the ends of the center bar-one in compression, and one in tension. Take care to support the outer portions of the 'E' and press on the center nib, without any force on the rivets, so the two ends of the center bar, where the strain gauges are mounted, are bent freely. If you don't take care to make the application of the force at the ends of the center bar, then it is indeterminate whether your load is tensioning or compressing the appropriate gauges on the underside of the bars in the pic. Set the load cells up in a nice physical bridge and test that the no-load difference is near zero, and that 50kg of load puts 25kg on each, and that the S+/S- difference is ~5mV. By swapping the sensors and S+/S- around you should be able to get an always positive and monotonicaly increasing with increasing load S+/S- in the 0-10mV range. If that's not close to true, there is a problem in the sensor mechanics, and you need to fix that before you work on the rest of the circuit.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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