ir toy

[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.

The heat pump which cools [Chris LeBlanc’s] home lacks the sort of control he was looking for. It’s just got a timer, which switches it off automatically. He wanted to the ability to schedule the cooling cycle like you would with a thermostat-driven arrangement. He ended up build his own controller to automate the cooling process.

The heat pump came with an IR remote control which provides the access point for the project. [Chris] set out to emulate the remote protocol which saved him the trouble of having to crack open the unit and wire in a controller. He went with the IR Toy from Dangerous Prototypes as this device is able to record and transmit IR signals — it’s basically a universal remote for your USB port. His Raspberry Pi, seen to the left, controls the system. It’s connected to the red IR Toy board via a USB hub which is used to interface a WiFi dongle as well. The system works alongside Google Calendar to allow [Chris] to schedule his home’s cooling just by adding an appointment. A Python script queries the calendar, then selects and sends the appropriate IR command. He shows off the build in the clip after the break.