Bathroom Scale

Reverse Engineering A Bathroom Scale For Automated Weight Tracking

[Darell] recently purchased a fancy new bathroom scale. Unlike an average bathroom scale, this one came with a wireless digital display. The user stands on the scale and the base unit transmits the weight measurement to the display using infrared signals. The idea is that you can place the display in front of your face instead of having to look down at your feet. [Darell] realized that his experience with infrared communication would likely enable him to hack this bathroom scale to automatically track his weight to a spreadsheet stored online.

[Darell] started by hooking up a 38khz infrared receiver unit to a logic analyzer. Then he recorded the one-way communication from the scale to the display. His experience told him that the scale was likely using pulse distance coding to encode the data. The scale would start each bit with a 500ms pulse. Then it would follow-up with either another 500ms pulse, or a 1000ms pulse. Each combination represented either a 1 or a 0. The problem was, [Darell] didn’t know which was which. He also wasn’t sure in which order the bits were being transmitted. He modified a software plugin for his logic analyzer to display 1’s and 0’s on top of the waveform. He then made several configurable options so he could try the various representations of the data.

Next it was time to generate some known data. He put increasing amounts of weight on the scale and recorded the resulting data along with the actual reading on the display. Then he tried various combinations of display settings until he got what appeared to be hexadecimal numbers increasing in size. Then by comparing values, he was able to determine what each of the five bytes represented. He was even able to reconstruct the checksum function used to generate the checksum byte.

Finally, [Darell] used a Raspberry Pi to hook the scale up to the cloud. He wrote a Python script to monitor an infrared receiver for the appropriate data. The script also verifies the checksum to ensure the data is not corrupted. [Darell] added a small LED light to indicate when the reading has been saved to the Google Docs spreadsheet, so he can be sure his weight is being recorded properly.

[Sprite_TM] Puts Linux In A Clock Radio

[Sprite] needs an alarm clock to wake up in the morning, and although his phone has an infinitely programmable alarm clock, his ancient Phillips AJ-3040 has never failed him. It’s served him well for 15 years, and there’s no reason to throw it out. Upgrading it was the only way, with OLED displays and Linux systems inside this cheap box of consumer electronics.

After opening up the radio, [Sprite] found two boards. The first was the radio PCB, and the existing board could be slightly modified with a switch to input another audio source. The clock PCB was built around an old chip that used mains frequency as the time base. This was torn out of the enclosure along with the old multiplexed LCD.

A new display and brain for the clock was needed, and [Sprite] reached into his parts drawer and pulled out an old 288×48 pixel OLED display. When shining though a bit of translucent red plastic, it’s can be a reasonable facsimile of the old LEDs. The brains of the clock would be a Carambola Linux module. After writing a kernel module for the OLED, [Sprite] had a fully functional Linux computer that would fit inside a clock radio.

After having a board fabbed with the power supplies, I2C expanders, USB stereo DAC, and SPI port for the OLED, [Sprite] had a clock radio that booted Linux on an OLED screen. In the video below, [Sprite] walks through the functions of the clock, including setting one of the many alarms, streaming audio from the Internet, and changing the font of the display. There’s also a web UI for the clock that allows alarms to be set remotely – from a phone, even, if [Sprite] is so inclined.

Continue reading “[Sprite_TM] Puts Linux In A Clock Radio”

Bubble Displays Are Increasing In Resolution

PipeDreams 3 bubble display

[Bruce] has created a pretty cool bubble display that is capable of showing recognizable photographs of people. This entire art installation is no slouch at 3-stories tall! This one resides at the Ontario Science Centre in Toronto, Canada. If you are unfamiliar with bubble displays, they consist of several clear vertical tubes filled with a liquid. A pneumatic solenoid valve mounted at the bottom of each tube allows a controlled amount of air to enter the tube at a very specific time. Since the air weighs less than the liquid, the air bubble travels up the tube of liquid. Interesting patterns can be made if these bubbles are timed correctly. This setup uses a Linux-based computer with custom control software to manipulate the valves.

[Bruce] didn’t start off making super-complex bubble displays. This is actually his 3rd go-around and with 96 individual tubes and capable of displaying raster images, it is the most complicated so far. His first creation consisted of 16 tubes, each larger in diameter than the most recent creation. With the larger diameter and less number of tubes came less resolution and the ability to only display simple shapes. Version 2 had twice as many tubes, 32 this time. In addition to doubling the tube quantity [Bruce] also colored the fluid in the tubes, not all the same color but all the colors of the rainbow, from red to violet. Still, this version could not show raster images. It appears to us that the third time’s the charm! Video after the break….

Continue reading “Bubble Displays Are Increasing In Resolution”

Raspberry Pi Backup Scripts

Raspberry Pi

[Matthew’s] recent blog post does a good job explaining the basics of the Raspberry Pi’s file system. The Linux operating system installed on a Pi is generally installed on two different partitions on an SD card. The first partition is a small FAT partition. All of the files on this partition are used for the initial booting of the Pi. This partition also includes the kernel images. The second partition is the root file system and is generally formatted as ext4. This partition contains the rest of the operating system, user files, installed programs, etc.

With that in mind you can deduce that in order to backup your Pi, all you really need to do is backup all of these files. [Matt] has written some scripts to make this a piece of cake (or pie). The first script will simply copy all of the files into a gzipped archive. You can save this to an external SD card, USB drive, or network share.

The second script is perhaps more interesting. This script requires that you have one free USB port and a USB SD card reader. The script will automatically format the extra SD card to contain the two critical partitions. It will then copy the “boot” files to the new boot partition and the root file system files to the new SD card’s root partition. When all is said and done, you will end up with an SD card that is an exact copy of your current running file system.

This can be very handy if you have multiple Pi’s that you want to run the same software, such as in a Pi cluster. Another good example is if you have spent a lot of time tweaking your Pi installation and you want to make a copy for a friend. Of course there are many ways to skin this cat, but it’s always fun to see something custom-built by a creative hacker.

A Router-Based Dev Board That Isn’t A Router

Here’s somethirouterng that be of interest to anyone looking to hack up a router for their own connected project or IoT implementation: hardware based on a fairly standard router, loaded up with OpenWRT, with a ton of I/O to connect to anything.

It’s called the DPT Board, and it’s basically an hugely improved version of the off-the-shelf routers you can pick up through the usual channels. On board are 20 GPIOs, USB host, 16MB Flash, 64MB RAM, two Ethernet ports, on-board 802.11n and a USB host port. This small system on board is pre-installed with OpenWRT, making it relatively easy to connect this small router-like device to LED strips, sensors, or whatever other project you have in mind.

The board was designed by [Daan Pape], and he’s also working on something he calls breakoutserver There’s a uHTTP server written specifically for the board that allows any Internet connected device to control everything on the board. There’s also an HTML5 app they’re developing which could be pretty interesting.

All in all, it’s a pretty cool little device that fits nicely in between the relatively simplistic ‘Arduino with an Ethernet shield’ and a Raspi or BeagleBone.

An Amazing DIY Single Board ARM Computer With BGA

DIY Single Board Computer ARM

Typically, you buy a single board Linux computer. [Henrik] had a better idea, build his own ARM based single board computer! How did he do it? By not being scared of ball grid array (BGA) ARM processors.

Everyone loves the Raspberry Pi and Beagle Board, but what is the fun in buying something that you can build? We have a hunch that most of our readers stay clear of BGA chips, and for good reason. Arguably, one of the most important aspects of [Henrik’s] post is that you can easily solder BGAs with cheaply available tools. OSH Park provides the inexpensive high-quality PCBs, OSH Stencils provides the inexpensive stencils, and any toaster oven allows you to solder even the most difficult of components. Not only does he go over the PCB build, he also discusses the bootloader, u-boot, and how to get Linux running.

Everything worked out very well for [Henrik]. It’s a good thing too, cause we sure wouldn’t want to debug a PCB as complicated as this one. What projects have you built that use a BGA? Let us know how it went!

Build A Bass Master 3000 Carnival Game

Bass Master 3000

We’ve all been there. You are having fun walking around the carnival when you suddenly find yourself walking past the carnival games. The people working the booths are taunting you, trying to get you to play their games. You know the truth, though. Those games are rigged. You don’t know how they do it. You just know that they do… somehow.

Now you can put your worries to rest and build your own carnival game! [John] built his own “Bass Master 3000” style carnival game and posted an Instructable so you can make one too.

The game is pretty straightforward. You have a giant fish-shaped target with a wide open mouth. You take hold of a small fishing reel with a rubber ball on the end. Your goal is to cast the ball out and hit the fish in its big mouth. If you hit the mouth, you get to hear a loud buzzer and see some flashing lights. The system also uses a webcam to take a candid photo of the winner. A computer screen shows all of the winners of the day.

The brain of the system is an Arduino Yún. The Yún is similar to an Uno but it also has some extra features. Some good examples are an Ethernet port, a wireless adapter, and an SD card slot. The mouth sensors are just two piezo elements. Each sensor is hooked up to the Arduino through a small trim pot. This allows you to dial in the sensitivity of each sensor. The lights and the buzzer are controlled via a relay, triggered by a 5V digital pin on the Arduino.

The Yún actually has a small on-board Linux computer that you can communicate with from inside the Arduino environment. This allows [John] to use the Yún to actually take photos directly from a web cam, store them on the local SD card, and display them on a local web server. The web server runs a simple script that displays a slide show of all of the photos stored on the card.

The final piece of the game is the physical target itself. The target is painted using acrylic paint onto a small tarp. The tarp is then attached to a square frame made from PVC pipe. The mouth of the fish is cut out of the tarp. A large piece of felt is then placed behind the hole with the piezo sensors attached. A short length of copper pipe helps to weigh down the bottom of the felt and keep it in place. The important thing is to make sure the felt isn’t touching the tarp. If it touches, it might be overly sensitive and trigger even when a player misses.

Now you know how to build your own Bass Master 3000 carnival game. Whether you rig the game or not is up to you. Also, be sure to check out a video of the system working below. Continue reading “Build A Bass Master 3000 Carnival Game”