A digital scale controller for HX711 modules up to 99.999Kg

I was experimenting with load cells for a commercial project and thought I’d share one of the prototypes I built to test HX711 load cell modules. It’s built on Veroboard but I designed a PCB for it however never got it manufactured as you can buy one on AliExpress for around 3 Euros or a fiver on eBay so I didn’t see much point into going to the expense. This design uses an ATMega328P like my other version and a TPIC6B595 to drive the segments. PNP transistors drive the digits via multiplexing. You are free to check it out, use and adapt my code and design files as you wish but if you do end up using my design and publishing it online please give me credit in the description to say it has been adapted from my design.

As a matter of interest the other design used a differential amplifier to convert the voltage from the load cell to single ended and amplify it 100 times so it could be interfaced to an ATMega328P. It was designed to weigh each wheel of a race car by using 4 load cells making a scale for each wheel. This was so you could balance the weight distribution for better handling. We went with that design in the end so the spare HX711 modules had some other use. Which was to make my own scale for items up to 10Kg.

After building it I found that plastic is not the best thing to bolt the load cell to – it needs a stable surface that does not flex or bend such as thick steel or aluminum. But anyway whilst I can’t release my commercial project details to the public I can release information of the prototype I did not use. After all I ended up using it to weigh small items to calculate eBay postage costs and even with the plastic case it can weigh up to 5Kg accurately.

Another thing to watch out for –  I used 7 segment displays with a forward voltage of 2.2V and 47 ohm current limiting resistors giving a segment current of around 60mA which x8 segments if all lit is close to the absolute maximum of 500mA for the TPIC6B595. I would suggest if you were to make this project, use higher efficiency 7 segment displays (most modern ones are bright enough at 8mA per segment) and use 68 ohm resistors instead to reduce load on the TPIC6B595. Note I said 8mA per segment but with multiplexing over 5 digits it needs to be 8mA x 5 digits = 40mA. With a forward voltage of 1.8V that’s 5V – 1.8V = 3.2V / 68 ohms = 47mA. 47mA / 5 digits = 9.4mA which is close enough. 47 x 8 segments = 376mA which is safe enough for the shift register to handle.

Credit goes to Olkal for the HX711 library which you can find here GitHub – olkal/HX711_ADC: Arduino library for the HX711 24-bit ADC for weight scales including how to calibrate the scale for your setup.

Links and photo gallery

HX711 code (C++)

Weigh Scale Controller Gerber files

Complete project files (KiCad)

YouTube video

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.