It’s awesome when you can tag-team with your dad to fix stuff around the house. [Ilias Giechaskiel], with help from his dad, did a complete refurbishing of a broken bathroom weighing scale, but not before trying to fix it first. The voltage regulator looked bust. Powering the rest of the circuit directly didn’t seem to work, and none of the passives looked suspect. Most of the chips had their markings scratched off and the COB obviously couldn’t be replaced anyway.
Instead of reverse engineering the LCD display, they decided to retain just the sensor and the switches, and replace everything else. The ATtiny85 seemed to have enough IO pins to do the job. But the strain-gauge based load cell, connected in a bridge configuration, did not have a signal span large enough to be measured using the 10 bit ADC on the ATtiny. Instead, they decided to use the HX711 (PDF) – a 24 bit ADC with selectable gain, specifically meant for use in weighing scales. Using a library written for the HX711 allowed interfacing it to the Arduino easy. The display was built using a 4 digit 7 segment display driven by the MAX7219. A slightly modified LEDcontrol library made it easy to hook up the display to the ATtiny. The circuit was assembled on a prototyping board so that it could be plugged in to another Arduino for programming.
Since they were running out of pins, they had to pull out a trick to use a single pin from the ATtiny to act as clock for the display driver and the ADC chip. Implementing the power-on and auto-off feature needed another interesting analog circuit block. Dad did the assembly of the circuit on a prototype board. In hindsight, the lack of IO pins on the ATtiny limited the features they could implement, so the duo are planning to put in an Arduino Nano to improve the hack. If you’re ever stuck with a broken scale, he’s made the schematic (PNG) and code available for use.
Quite a good job! I’m not too keen on the 7 seg display it looks a little ugly but thats personal preference.
I guess they will improve on this as well. No use in putting in a fancy display without knowing the rest is going to work.
That being said and known, why not put in an ESP8266 or its successor with BLE to enable a wireless transfer of measured values to a smartphone or even better: a DIY smart mirror as has been displayed a lot here lately. Put in a nice way of interacting with a database to have an easy automated way of a daily weight monitor :)
I can totally agree with you, though keep in mind that I think this should be seen as a proof-of-concept. The possibilities to improve the display are endless. Think of adding a ESP8266 or the newer ESP32 to add WiFi and/or BLE wireless capabitilies. Imagine displaying the registered weight on a smartphone, or even better on a DIY smart mirror which has been featured a lot here lately. Build the capabilities to easily transfer the measurement to a database for day-to-day weight monitoring. Well, I could go on for a while… ;-)
Neat. I’ll keep that Power up and power down circuit in mind.
since everything is battery powered and floating there is no reason why the GND could not be switched. so you can actually make the circuit even simpler.
The attiny has an integrated op amplifier, so an hx711 (24 bits for a bathroom weighting scale!) was unnecessary
great re-build
but some comments here about wifi andor bluetooth?
seriously, it’s a bathroom scale, next you’ll tell me i should beg a company to “let me” see my own biological data for ONLY 9.99$ a month! how about i use a traditional scale and you sue me cuz your so butthurt you didnt get my data or my money
It’s mean I can get data led in arduino what weight scale led get?