Scale Accuracy Issues

About six months ago, I picked up a cheap 0.01 g scale from Amazon. These go by a few names, but if your scale looks like this, then it’s probably the same scale:

Over time, I’ve noticed something odd about the measurements I get from the scale. I usually weigh 18 g of beans for my morning coffee. Sometimes, I’ll see values from 17.99 g to 18.01 g, and sometimes I’ll see values 18.11 g or higher, but I have rarely seen a measurement between 18.02 g and 18.10 g.

I’ve measured about 1000 weights, including the weight of beans before grinding, after grinding, and the weight of the final beverage. If I calculate the fractional part of these weights, then plot a histogram, this is what I get:

Curiously, there are gaps on either side of the whole number, with the values that should have occurred in the gaps being “rounded” closer to the whole number.

The scale might be doing this to give the impression of greater accuracy when the user places a calibration weight on the scale. This is unfortunate, because the end result is that the scale is actually less accurate than it should be.

How accurate should it be? We can check this using a calibration weight kit. Looking at the histogram above, we should be safe if we put 18.20 g on the scale. In that case, this is what we see:

If we put 50.20 g on the scale, things get a bit worse:

I’ve never actually calibrated this scale—this is the result with the factory calibration.

We can calibrate the scale by following these steps:

  1. Press and hold the “M” button with the unit turned on.
  2. Press the “T” button to select the calibration weight.
  3. Press the “M” button again to begin calibration.

Calibration seems to make the measurements more accurate. Several days after the calibration was performed, accuracy remains much better.

However, the gap on either side of whole numbers is unchanged. If we put 50.05 g on the scale, it goes to 50.00 g, then creeps up to 50.01 g:

If we then remove 0.05 g, the scale actually drops to 49.96 g:

If we remove the weight so that the scale shows zero, then add the 50.00 g, the scale shows 50.00 g exactly:

It’s a shame that the scale exhibits this odd behaviour near a whole number of grams. Otherwise, with calibration, it could be a very good scale for the money. As it is, I think it’s best to treat this as a scale that’s accurate to only 0.1 g.


  1. The load cell of those cheap scales is usually good, but the electronics can be problematic as you found out. To make a really good scale out of it is best to take out the electronics and connect a HX711 load cell amplifier/digitizer to an Arduino board. HX711 are on ebay for very cheap since a decade and even Acaia scales use them. With this you can also control your readout rate and can change setting on the same scales if you need temporal or weight resolution.

    1. This is a great idea. It would also allow logging the data directly on a computer. I’ll have to crack the scale open and take a look!

  2. Do you think, it’s some kind of calibration detection? Calibration weights are usually full grams (100g, 10g etc) – so the scale fakes a good reading by rounding to the next integer +- 10mg

    1. That’s exactly what I was thinking. It’s too bad, because the scale is actually quite good otherwise. I’ve gotten around this issue by cutting a piece of aluminum foil that weighs 0.50 g, folding it up into a little square, and whenever the scale shows a result within 0.20 g of a whole number, I just throw the foil square on and subtract half a gram from what it says. 🙂

Leave a comment

Your email address will not be published. Required fields are marked *