Logging Weight Changes


This is a classic example of a well done hack, simply for the sake of hacking. [Jorge] wanted to be able to chart his weight changes.  His solution wasn’t to simply buy a scale that could be hooked to the computer. Those are available and aren’t really that expensive. He could have even used pencil and paper to chart it in a few seconds. Instead, [Jorge] started hacking. He took apart a digital scale he already had and installed his own circuit to display weight and write the values to a CSV. The CSV resides on a removable card which can then be put in his computer to chart the data in openoffice.

16 thoughts on “Logging Weight Changes

  1. I’m thinking of doing something similar but rather than storing the data locally, transmitting it to a server which will do logging and graphing automatically.

    It’s a shame there isn’t more detailed information on how he decoded the signals going to the old display, as I imagine that’s going to be the hard part.

  2. Hello :-)

    I log weight and time, looks to me that the article don’t mention the time. I just put some values I got on project page, as an example.

    I just finished the project yesterday and now I am starting documenting it digitally. Many things are on paper and on my head.

    There is now on the project page the application note pdf file that I read to understand how the LCD from original scale works, after, everyone just can ready the firmware source code to understand how I got it – it’s very simple.

    I got a hardware switch (a mosfet) that turns the ARM7 LPC2103 header ON every time the original scale turns ON. Another switch (mosfet) in parallel, is controlled by the LPC2103 and turns OFF the system just after it writes the data on SD Card (because original scale turns off before system writes data to SD Card).

    Please leave more questions and I can help if someone wants to build that system.

    Ah, and I went to market and bought the cheaper digital bathroom scale for making this projects. Looks to me that every scale are equal, they have the same number of digits and just behaves in the same way. They are probably from the same Chinese sources.

  3. @ellisgl

    i hate to say it, but this could be a very good device to connect to twitter. letting everyone know how much i weigh would deffinately encourage me to lose weight faster :D

  4. I’ve been thinking about doing something like this myself, when I finally buy a house.

    My idea was to put the scale underneath a tile in front of the bathroom basin, so that when I’m cleaning my teeth in the morning my weight is automatically added to a database.

    Combine that with a RFID reader and the system would be able to differentiate between family members.

    We need more smart home hacks!

  5. A couple of years ago I bought a scale with an RS232 output. http://www.healthchecksystems.com/healthometer_349kl.htm I hooked it up to my comptuer via RS232-to-USB. I wrote a web application with an SQL database to log the data. I tracked my weight for about 9 months, and lost 60 pounds.

    It was like a game.. having a chart of my weight updated every morning. Each day I would get on the scale and see if I went up or down and seeing the line on the chart go down made me excited to try harder to get it to go down even more. I’d exercise more and see a noticeable drop in the graph day to day.

  6. I’m trying to solve a similar problem but can’t find the right sensor to use. I want to measure weight or tension on a rope over time. Has anyone run across a scale or similar sensor to use in that role?

  7. Dale, maybe if rope is attached to the sensors of the scale… this scales automatically calibrate at begin, every time they turn on. You would then just have the weight value on the display, between 0Kg(or Lbs) to 150kg, which are the limits of the scale.

    I saw a project of a guy using a scale to log the force that a rocket made at launch time :-) (scale were placed under rocket at launch time).

  8. Ha I tried to do the exact same thing. I even started to reverse engineer the scale’s circuit but in the end you just have some signals feeding into a black box. I then tried to read the LCD but it has about 14 lines going into it, at three different voltage levels (some kind of AC multiplexing) and it looked like a lot of effort. How did you get the weight signal from the scales?

  9. tim, please read the project page, there is an application note explaining how the LCD signals works.


    I am looking for ways to improve the system. I am considering to send a digital stream with the values from original LCD over wireless (RF Link Transmitter – 315MHz €2.83, sparkfun).

    I would like to have a kind of console with the display on bathroom wall, which receives the data wireless. And on that console, some way to identify myself or others.

  10. The application note is very helpful in explaining how the LCD is driven. Thanks for putting that online.

    I’ve purchased some similar scales though the display has more digits and there are 16 pins connecting the original board and the LCD.

    How did you go about working out which pins were the backplane and which drove the segments ?

    How did you analyse the signals (did you use some kind of scope software) ?

  11. Nigel Spowage, I didn’t wrote nothing about that, so, I will (seeing that people have that questions).

    First I found what were the backplanes lines, for that I use oscilloscope. After I just put on the LCD every state of each segments lines. Then I went to try the scale until I found a pattern .

    For example, scale every times after turn on, goes to 0,0, so, I know how to draw “0”. After I got more than 100kg and found what it draw the “1”, after I went for 9xkg (my weight, found the “9” digit), after 6x kg (my girlfriend weight, found the “6” digit). Then, after some tries I had all the scheme of what segments would be on to display every possible number — it’s easy :-) (was very funny, at begin I didn’t imagine that would be like this, I had no clue. That’s the fun of hacking :-) )

    Please share also your efforts. I would like that this project would be improved, by others.

  12. Nigel Spowage: “How did you go about working out which pins were the backplane and which drove the segments ?”

    Backplanes wave signals have always a constant shape while segments ones varies if digit numbers varies, if weight varies.

    I just used a oscilloscope (the screenshots that are on the page) and used the LCD module as a kind of way to see which segment lines were on or off.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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