Testing out 50kg load cells

Are they good?
What are their limitations?
What is the best way to use them?

Similar projects worth following
• Precision: ±10g
• Each load cell has own zero point (not a problem)
• Each load cell has own sensitivity (is a big problem)
• Good thermal stability
• Low creep (variation under long-term load)
• Not all HX711 boards are good

Read below about how I tested them and how I think they can be best used

I’ve bought several 50kg load cells, like on the photo and build scales with them, connecting 4 cells in a bridge. Results were disappointing: fluctuations were too big. The challenge was to sort out this problem first.

It took me several days of experimenting, but I’ve found the problem: AGND pin (analog ground) was not connected to the ground anywhere! Simple voltmeter test showed 0.6V difference between this pin and the ground. After I soldered a wire between AGND (pin 5, also connected to E-) and GND, all became stable. Another mod I’ve made was to replace 1 resistor to get 2.9V between E- and E+.

Although HX711 is a 24-bit ADC, getting all 24 bits is simply not realistic: it is too sensitive. I used 16 bits because I could get them stable and repeatable (like you expect from good scales). This gives more than enough precision as it turned out.

I needed also some way to apply known weight to a cell, be able to vary it easily and measure the output. There were some wood working tools in my garage, look what I’ve made with them:

I think it is beautiful 😊 my testbench 😊. Load cell can be easily put into it and taken out. The bar is 102cm long and has marks on it. I've used 2 plastic bottles with water as a weight. Shifting them along the bar I can apply any weight I want between 0 a 25kg, plus the weight of the bar itself, of course.

All things set up, I’ve started testing. I had 16 cells in total to test (yes, I've bought more than I needed). I connected 2 cells in a bridge, only one was tested at a time, another just laying around and doesn’t take any load. I’ve tried using 1kOhm resistors, but they are all very unstable, as it turned out. Do not know why.

Results of my measurements you can read in the project description:

  • Precision: ±10g
  • Each load cell has own zero point (not a problem)
  • Each load cell has own sensitivity (is a big problem)
  • Good thermal stability
  • Low creep (variation under long-term load)

Conclusion so far

The biggest problem is difference in sensitivity of these sensors. Practically it means that once 2 or 4 cells are connected into bridge, reading will depend on how weight is distributed between them. The variance can go up to 5%. This is far too much in my opinion to tolerate.

Ultimate solution is to make separate measurement channel for each cell and tare and calibrate it separately. Each cell is only half a bridge, so another cell must be added just to complete the bridge. 8 cells will be needed in total: 4 to measure weight and 4 doing nothing, just balancing the bridge, and compensating for temperature changes. It seems like too much and over-engineered, but I cannot think of simpler solution so far.

  • How I measured load cells

    Alexander Dvorkovyy11/25/2021 at 16:38 0 comments

    These cells have only 2 strain resistors in them, so 2 additional resistors are needed to take the measurements. I’ve tried to use resistors, but they produce too much noise. Easiest solution was to use another cell. In this way it compensates also for temperature changes:

    Test bench is made in such a way that it is easy to apply a variable load. I’ve took 1m long 27x22 mm hardwood bar. It is attached to the base with a door hinge. I’ve measured carefully 10cm from the turning axis – this is where I’ve placed the “DUT” – measured cell. It’s tipping point is exactly at 10 cm distance from the axis. I’ve made marks on the bar at each 10cm: 20, 30, 40 etc, up to 100cm. To improve repeatability, I’ve also made small carvings with a sharp knife.

    Control weight is made from 2 plastic bottles filled with water. Their total weight is 2,5kg. Applied at 100cm distance it gives 10:1 leverage, so effectively I apply 25kg load to measured cell. Plus the weight of the bar itself. Here I’ve approximated a bit: I just weighed the bar itself and assumed that the centre of mass will be exactly at 50cm. This give me correction load of 1,7kg on the cell when the bar is lowered.

    This is how it looks when I am taking measurements:

    What I’ve measured


    Load is applied first from 0 to 26,7kg and then from 26,7kg to 0. No significant difference was measured. Good!


    Load is applied in steps 0; 1,7kg; 6,7kg .. 26,7kg. Linear regression analysis shows very good linearity, no measurable deviation or correction is needed. Good!


    Different cells are put into the test bench and then raw output is measured at 0 and maximum load. Simple linear regression is taken as approximation of the cell sensitivity.

    Each cell has own zero point – not a problem

    Sensitivity is deviated in some cases significantly. Not so good. Some cell sets have very similar sensitivity, like 186, 188, 184,181 raw units/kg. Others like 191, 197, 171, 194 raw units/kg.

    Sensitivity similarity between the cells seems to be a matter of luck.


    Load was put on one cell for 3 weeks in the environment with variable temperature. Temperature changes were several degrees Celsius. No correlation between temperature and measured weight fluctuation observed. Daily oscillations were about 4  raw units (ca 24g).

    Measured output decreased in 3 weeks from 6442 to 6436. This makes ca 35g difference. It is still usable for weighing beehives.

    Temperature stability

    To be done yet.

View project log

Enjoy this project?



Alex Buznik wrote 11/24/2021 at 19:30 point

Your test stand looks great!

Is it possible to make two (vs 4 as on regular floor scales) parallel "legs" and only use 4 cells?

I didn't quite get why do you need double the number of the cells.

  Are you sure? yes | no

Alexander Dvorkovyy wrote 11/24/2021 at 20:50 point

These cells have only 2 strain resistors in them, so 2 more resistors are needed to form a Wheatstone bridge. I've tried 2 regular resistors, but apparently they produce too much noise. Most simple solution is to add another cell. It should not take any load, otherwise measured value will also depend on how load is distributed between the cells. I have some precision resistors in the mail, will try them instead of the second cell.
I think I will also make more photos and diagrams to explain in more details what I did exactly.

  Are you sure? yes | no

Alex Buznik wrote 11/25/2021 at 12:28 point

Thanks for reply!

  Are you sure? yes | no

nodemcu12ecanada wrote 11/19/2021 at 20:40 point

I got excellent 0.1 lb repeatability and accuracy results with my scale using those load cells.

I calibrated it with my weight from the doctor's scale.

  Are you sure? yes | no

Alexander Dvorkovyy wrote 11/19/2021 at 21:30 point

You might get away with good repeatability for floor scales where the weight is applied more or less at the same point. I am sure you see quite a difference if you move your body weight from side to side or from front to back. This happens because each cell has its own sensitivity and what you measure actually is an average response from all 4 cells. Or you might be lucky and you got all 4 cells with similar sensitivity. From my measurements it was possible to select 4 cells out of 16 with very close sensitivity.

I plan to build scales for beehives with precision up to 100g, so I want to quantify their precision. And obviously, I cannot predict how center of mass will be moving. Will be fun to find out.

I am also curious if the "E-" output of HX711 board is connected to the ground in your build? Visually my HX711 board looks the same as yours. I had too high fluctuations with it until I've connected E- to the ground.

  Are you sure? yes | no

nodemcu12ecanada wrote 11/19/2021 at 22:07 point

No I didn't ground E-. Maybe I just got lucky with the cells I got. I followed this website and video for the wiring.

I tried standing on one foot vs 2 so most of the weight is only on 2 of 4 cells.

Variation is still only 0.2 lb. 

Are you taking the average of 20 readings?

weightlbsraw = scale.read_average(20);

Also my website should work now. Google made it private when they forced me to update it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates