A few weeks ago, I started work on internet connected bathroom scales, and I finally received my custom PCB’s to finish the job. I discovered that most digital scales use strain gauges to calculate the amount of weight on them, meaning there is almost no mechanical movement making them perfect to interface with.
For a while I’ve wanted to connect some scales to my home network to track weight day by day automatically. Its great having scales, but unless you can remember or write down the previous readings, its pretty useless if you’re looking to track performance. So I set about figuring out a way of getting an accurate reading from a set of cheap bathroom scales with an Arduino.
With the mechanics somewhat decided on, the control circuitry was the next on the list. After ‘mastering’ radio control, temperature sensing and internet connectivity, I was pretty well versed with the Arduino ecosphere, and felt pretty comfortable making my own PCBs with the help of OSHPark.
I felt the tank needed multiple separate boards, not only to compartmentalize functionality but to work around the maximum board size in the free version of Eagle I was using to design the circuit boards. After much deliberation, I settled on 4 boards; control, connectivity, LED, and power.