Father and Son Fix a Scale

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.

Listening to a Smart Scale


[Saulius] couldn’t find a cost-effective wireless scale that did what he wanted, so he reverse engineered the communication protocol for an off the shelf model to get weight data himself.

[Saulius] bought a cheap Maxim 29-66SH scale that uses infra-red to communicate to a detachable digital readout. Using the USB IR toy, [Saulius] intercepted the messages that were broadcast. After a little reverse engineering and with the help of some Python scripts, he soon discovered the protocol his scale was using to encode weight messages.

[Saulius] went on to write a little web app using JavaScript, SocketIO and Tornado, a light weight Python web server. By connecting to the tiny web server that’s interfaced with a Python script listening for the scales messages received from the USB IR toy, [Saulius] was able to see his weight displayed on his smart phone through a web browser.

Since all the communication is through IR, there is no need to do any invasion of the scale as the receiver can be placed anywhere in line of sight from the transmitter on the scale itself.

Check out the demo video for the whole thing in action. If patching into the scale isn’t hard enough, you should just build one from scratch.

Continue reading “Listening to a Smart Scale”

Posterior Posture Videogame Controller

Normally we see some crazy mad science projects coming from [Ben Krasnow’s] laboratory. This week [Ben] changes gears a bit and hacks his Xbox controller to interface with his bathroom scale and function as a posture controlled input device. You may want to take a moment for that to tumble around in your noggin before we trying to explain. What this means is you sit catawampus on a bathroom scale and when you lean forward your game character moves forward, lean back your character backs up and lean side to side for strafe left and right.

A modern digital bathroom scale has four pressure point transducers — one in each corner — which are read by the central controller and summed to generate the weight of the object setting on the scale. To use the scale as a controller input [Ben] removed the central scale controller and created two amplified Wheatstone bridge differential circuits, one for each diagonal axis between load cells. After adding an offset potentiometer to fix the resting point at 0.8 volts, the amplified differential voltage signals are fed directly into an Xbox controller’s thumb stick input for game control.

Additionally, to add rotation to his new game controller he hacked a an old ball type mouse and added a bit of rubber tubing that contacted and tracked the base of a  Lazy Susan platter. The scale sits on the Lazy Susan and allows for the partial rotation of your torso to controlled game rotation. However, [Ben] still needed a regular mouse interfaced with the game for full 360° rotation control.

There is more after the break, plus the build and demonstration video.

Continue reading “Posterior Posture Videogame Controller”