Talking Scale

Posted: June 13, 2020


I was a curious how scales worked, so I got a cheap one and took it apart. I found a a couple breakout boards at SparkFun for a Wheatstone bridge and an amplifier. I created a text file of 37 things to say (example: 0, 1, 2, 3,.. etc, 20, 30, 40, etc) and wrote a script to have MacOS speak it into an AIFF file which I converted into MP3's. I was originally going to do it with a human voice, but ended up with this.

The following parts were used to make the scale:


Here's a video of the scale:


The scale has 4 load sensors in it. I guess if I wanted I could make it work like the Wii balance board and detect how much someone is leaning left/right or forward/back. Instead I connected it to a Wheatstone bridge circuit from SparkFun. The output of that goes to a breakout board for an HX711 IC which uses a pretty simple CLOCK/DATA interface.

On start-up, the MSP430G2231 will read from the load sensor amplifier to figure out what the "no weight" value is. From then on it constantly reads from the chip to look for a significant change. From that point the chip tells the MP3 player over i2c to say "hold still" and pauses. I did that so the user of the scale can get settled fully standing on the scale before the temperature is read.

The value from the load sensor is linear so I calibrated it by getting the "no one standing on the scale" value then standing on the scale and getting my value from my weight. I subtracted the two values to get the "my weight" value. Then I stood on a store bought scale and got my weight and used that to figure out that my weight in kilograms is: ("my weight value" - "no weight value") / 84.

Source code

Copyright 1997-2023 - Michael Kohn