Digital Bathroom scales are low-cost mass products you get for $20 or less. Produced in high volume, they provide good accuracy and sensitivity, 0.05% or 1 per 2000 overall performance ( 180kg / 100g ). They incorporate a solid glass plate to provide rigidity for mounting the 4 load sensors ( 3 wire type ) and the 3V battery cell is attached to a electronic circuit with chip on board (Blob style electronics).
Because its a mass product made to the lowest possible cost ( but still excellent in measuring performance ), there is NO WAY to access the digital mesured data and to exploit it differently then showing on the ( mostly poor and cheap and far from the eyes ) LCD of the original bathroom scale.
This is little bit frustrating if you desire to modify the scale design ( I like so much the mechanical column scale design ), improve the poor cheap LCD and place it remote from the scale glass plate, on the wall at eyes level. Also with extracting the measuring data, modifying how the scale behaves or adding connectivity to your smartphone ( WiFi, Bluetooth, IoT ) is then possible.
To overcome this, the solution is to replace the "closed" proprietary electronic with your own "open" Arduino based one. Here the module HX711 combined with a Arduino UNO is your life saver.
The only difficulty is to rewire properly the 4 load sensors ( 4 X 3 = 12 wires ) to the HX711 module, but with the explanations below, you should be able to hack any of these cheap digital Bathroom Scales.Replacing the scale electronics by a HX711 module
IMPORTANT : Identifying the wires of the 3 wires load sensor
The load sensor is a E-shape sensor. This particular form allows to produce compression and extention stress on the same side of the bending tab, so the dual strain gauge can be mounted on the same side, which is cheaper to produce.
2 resistive strain gauges and how they are wired makes the measurement immune to temperature changes ( common mode resistance changes have no effect, the 2 resistances would change the same way ).
The colors of the wires 1, 2, 3 vary a lot between load sensor manufacturer, you cannot rely on it. I was having load cells where 1=Red, 2=Black, 3=White, others with 1=Red, 2=Black, 3=Blue and Chinese one where 1=Green, 2=White, 3=Red.Identifying wire 1 is easy
Using a multimeter makes it easy to identify wire 1, connect 2 wires to the multimeter so that you read the double value 2 X 1000 = 2000 Ohm, then the wire left is wire 1.There is no need to identify what is the compression strain gauge wire and what is the extention strain gauge wire.
Rewiring the 4 load sensors to the HX711, Wheatstone Bridge wiring. ( E+, E-, A+, A- are the pins marking of the module HX711 ).
E+, E- are the Exitation signal of HX711 ( supply of the wheatstone bridge ) while A+, A- the measuring channel A ( differential inputs ) of HX711.
Operation : Press the TEST switch, Q1 is conducting, feeding VIN to the Nano. The Software is then activating Q2 to maintain Power ON until the measurements are made. ( Soft Power OFF ). Measurement via the HX711 module, with the 4 Load sensors mounted in a Wheatstone bridge. The Measured Value is displayed on the 2.4 Serial TFT LCD. After 10 sec., the UNO make an AUTO Shut Down by blocking Q2. This preserves the 9V Battery.
Mount everything on a Breadboard:
My Application : Remote Display for my Bathroom Scale, so no need to loock "down" anymore, Heads up !
The enclosure contains the Nano, the 9V Battery, the Serial TFT Display, the TEST Button and the Auto Power OFF logic. The HX711 module stays under the Scale Glass plate.