HX711 Amplifier with 50kg load cell - Values fluctuating constantly

Hi All,

I'm working on a project that requires an accurate but small weight measurements, so I've been using a single 50KG load cell with a HX711 amplifier as I've been told they give the most accurate measurements for small sensors measuring in the range of 10N-50N.

However when I setup my circuit as shown bellow, the readings fluctuate regularly slowly rising and slowly falling even when no load is applied.
The circuit is taken for this YouTube video (Arduino Scale with HX711 and 50kg Bathroom Scale Load Cells | Step by Step Guide. - YouTube)

  • Circuit

I've tried everything at this stage and nothing has worked to fix it so I'm really at wits end and would love any advice on this as it seems to work pretty well for so much other users and I feel like I'm missing something glaringly obvious.

  • I've used 4x load cells and still got the same value.
  • I've used different load cells in the single cell circuit.
  • I've changed the HX711 amplifier for a new one and still got the same results.
  • I've used both an Arduino Uno and an Arduino Micro and the error persisted.
  • I've used multiple different libraries including Bodge's library with a similar fluctuation.
  • I've gone back and re-soldered every piece to no avail.

I would really appreciate some help on this as its been a huge pain in the hole. :sweat_smile:

Thank you :smiley:

Apologies for the lack of images new user restrictions only allow one so I'll post the rest in the comments.

  • Fluctuating values

  • Script

  • Physical Circuit

Some observations:

Load cells do drift with time. Good ones have specs on that topic.

Your completion resistors may contribute due to changes in resistance from changes in temperature.

If you need to measure at most 50 N, then you're only using 10% of the range of a 50 kg load cell.

Your HX711 may be one of those with floating E-. Try connecting E- to the Arduino's ground.

1 Like

Try Serial.print(scale.get_units(), 3) to see how big error actually is, maybe it's something like 0.099...0.101 kg range. I read recently that scaling for arduino are not very precise but definetly much better than 0.1 kg error. Also HX711 had some complains, but didn't check what exactly, so worth to google problems about it.

1 Like

Hi, @di_armuid
Welcome to the forum.
To add code please click this link;

Thanks.. Tom.... :smiley: :+1: :coffee: :australia:

Thanks a million for your response.

I've connected E- to the arduinos ground and this appears to have stabilised the figures however the load cell no longer measures the weight being applied as the black wire is no longer connected. Just wondering if you know where I should connect the black wire now rather than E-

On the 50N using only 10% of the range of a 50KG load cell, this is a request from the client I'm working with due to its size, his understanding is that the 50KG load cell is more accurate than a force sensor so this is why I've opted for it. As a back up however I've a force sensor circuit setup too,, I'm just unsure of its accuracy in measurements. I'd love to get your opinion on this though.

I'll have a look at the resistors again and see if I can configure them more cleanly.

Thanks for your response,

Using (scale.get_units(),3 ) does help in getting a more granular view at the fluctuations and the fluctuation is much more than 0.099 - 0.101 its more of a drift issue which is a term for this issue that has helped me find more related issues to this and hopefully there is a solution already out there on this forum or google.

I hope those two 1k resistors are high precision metal film resistors with low temperature coefficient (tempco). Carbon resistors would be a poor choice here due to their low stability w.r.t. temperature change.

Its best to bond the two resistors together thermally to keep them tracking each other's temperature.

1 Like

I´ve developed a scale based application (an uroflownmeter) with this 5Kg load cell (below) and I think have a good precision IMHO. This model already has 2 strain gauges, so that you don´t need additional resistors to complete the bridge. Maybe you can give it a try.


1 Like

E- needs to go to both the Arduino's ground and the load cell.

More accurate than what force sensor?

Hi Mark, there could be something here. Looking at the packaging for the resistors it says they are 5% carbon film resistors. I will try and get some high precision metal film resistors as you suggested and see if that helps reduce the drift.

Thanks a mill

I'm using an Ohmite force sensor like the one linked here


Thanks I'll try it out with a number of the other solutions too and see if it helps to reduce the drift.

I've seen a few of these load sensors and have been tempted however the one issue I would have with them on this specific project is there size but I will bring it to the team to discuss and see where we want to move with it going forward.

Well, yes, generally a properly implemented load cell will be more accurate than a force sensing resistor. But in your case, where you are only using 10% of the (cheap? with no datasheet?) load cell capacity, who knows?

1 Like

Thanks Dave, I'll give it a go and see how accurate the measurements are for this specific case. I'll look into ordering a load cell with proper data sheets and a more appropriate weight range too and see how that goes.

I realize this post is a bit dusty, but the best technique I've seen for drift cancellation in weigh scales is to basically call ANY slow changes "drift" and subtract them out. This works for weigh scales because in practical use, the load is always supplied at a rate much faster than drift. If you were trying to measure a very slowly changing force then this of course wouldn't work. This trick has been used in supermarket scales for decades. Unfortunately I don't have code for this. I stumbled on this post because I thought the technique was common knowledge and I could find code for it, but it appears not to be because no searches for HX711 drift cancellation mention this technique.