I want to connect four 6-wire load cells (Tedea Huntleigh Compression & Tension Load Cell 300kg, 15V dc, IP67, product page and datasheet) into an Arduino or Raspberry Pi and get four independent readings. This is my first time dealing with load cells.

I would like to get an accuracy of 2kg and a range of 25-100 kg on each load cell. The load cells have a recommended excitation of 10V.

My understanding is that, to get a working prototype, I can:

  • not use the two sense wires in the load cell (first suggestion by DaveEvans in this Arduino thread)
  • use a breadboard, even though it's not meant for a sensitive circuit
  • use the 5V supply from the Arduino, which halves the output voltage from the load cell but does not require an extra power supply or an booster converter, with some decrease in precision of the reading
  • use an INA125P amplifier and the wiring in the first link of this thread and connect each load cell to a single analog pin in the Arduino Uno, which only has 5 analog pins
  • calibrate the reading from each load cell with two known weights and extrapolate linearly

Would this work? Which shortcuts would be the first to consider to improve the precision of the readings?

  • \$\begingroup\$ The Raspberry Pi does not have an ADC, so you would need to add that in to make it work...This makes going straight to an Arduino a good choice (provided the built in ADCs on the Arduino are adequate for your needs). \$\endgroup\$ – evildemonic Mar 22 at 16:02
  • \$\begingroup\$ Please reference the load cell that you will use, There is no point in commenting what an analog system can or can't do if you don't know what the sensor is. Also comment on the accuracy and range that you'd like to obtain. \$\endgroup\$ – Voltage Spike Mar 22 at 16:44
  • \$\begingroup\$ @mmorin Breadboard is fine for a load cell amplifier. It's a DC circuit. \$\endgroup\$ – Nick Alexeev Mar 22 at 17:51

If you use a load cell rated for 200kg full load, with an output of 2 mV/V, and a supply voltage of 5V, then your output voltage will be 10mV for a 200kg load or 5mV for a 100kg load. A change in the load of 2kg will cause a voltage change of 0.1mV.

If you are digitizing this with a perfect ADC using a reference voltage of 5V you need at least 16 bits of resolution to see such a change in voltage. This will not happen with an Arduino. The ADC on an Arduino has 10 bits of resolution, so it can see changes of about 5mV. And we haven't even talked about accuracy yet.

So, you need to provide a differential gain of at least 100X if you want to use an Arduino. Otherwise, you need to find a better ADC. You also need to make sure that your analog reference voltage for the ADC, and the excitation voltage for the load cells, is as stable and accurate as you want your measurements to be.


You have a system composed of FOUR resistors, of value about 400 ohms each.

Power them from +5 volts, install a 0.1uF capacitor across the differential output wires, and wire that to the differential inputs of your microcontroller.

The common-mode output of the bridge will be approximately VDD/2 or 2.5 volts.

If you don't have differential inputs to the MCU, you can still wire the bridge outputs to TWO inputs of the ADC, and subtract the reported-voltages. Some errors will occur.

For noise rejection (switching power supplies, motor-commutator sparks, AM radio transmitters, cellphones, etc) consider this


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ I would like to get an independent measurement from each load cell. Does your circuit provide that? \$\endgroup\$ – mmorin Mar 22 at 18:00
  • \$\begingroup\$ If you use a dual 4:1 analog mux (MC140xx or MC40xx), this will work. \$\endgroup\$ – analogsystemsrf Mar 23 at 5:33

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.