The project seeks to exploit the traditional symbols of “male” and “female” – the human figures wearing pants or a dress – by creating a sign that switches between the two every 15 seconds. This is likely to initially confuse – one might imagine the bathroom is actually changing its gender designation rapidly, forcing users to complete their business in an incredibly short timeframe. However, the message behind the project is to highlight the absurdity of defining gender by pants, colours, or indeed in a binary nature at all. [Robb] also helpfully points out that all humans have to pass waste, regardless of gender.
The sign is built with 3D-printed components, using a crank mechanism to actuate the moving parts. The mechanism is designed to give equal time to the pants and dress configurations. [Robb] shares the important details necessary to replicate the build, such as how to assemble the metal crank pin insert with a paperclip and a lighter. It’s particularly tidy the way the mechanism is integrated into the parts themselves. In true hacker style, the motor is a standard microwave oven turntable motor, which can be harvested easily from a junk appliance and can be plugged straight into mains power to operate, if you know what you’re doing. If you don’t, check out our primer on the topic.
Overall, the project is a great use of hacker techniques, like 3D printing and harvesting parts, to make a statement and start a conversation, while being fun, to boot. We’ve also seen some of [Robb]’s work before, like this giant hamster wheel for people. Video after the break.
In a lot of ways, portable toilets are superior to standard indoor-plumbing-style toilets. This is mostly due to the fact that they have a status indicator on the door. It’s a shame that no indoor bathrooms have figured this out yet, especially in office buildings where your awkward coworkers bang on every door rather than just check for feet in the huge gap that for some reason exists between the floor and the stall door. Anyway, [Chris] and [Daniel] came up with a solution for this issue, which also eliminates wait time for bathrooms in their office.
Their system is an automated bathroom status indicator that reports information about the bathroom’s use over WiFi. Since the bathrooms at their facility are spread out, it was helpful to be able to look up which bathroom would be free at any given moment. Several Raspberry Pis form the nerves of the project. Custom sensors were attached to a variety of different door locks to detect status. Each Pi reports back over WiFi. This accomplishes their goal of being subtle and simple. They also point out that they had to write very little code for this project since there are so many Unix and embedded hardware tools available to them. Checking the status of the bathroom can be as simple as running netcat.
[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.
It’s a bit awkward for all parties involved if someone is waiting right outside the bathroom door. This system helps to alleviate that issue by letting the next user know when the loo is available. [Akiba] has been working with the folks at Loftworks, a design company in Tokyo, to get the status beacons seen above up and running.
The staff is mostly women and there is just one single stall women’s toilet on each of the three floors. The boxes above represent the three stalls, using colored light to indicate if a bathroom is available or in use. Detection is based on a PIR motion sensor in each stall. They communicate back with the display units wirelessly, which initially presented quite a problem. The doors on the bathroom are steel, and when closed they effectively block communications. The 900 MHz radios used in the system are on the 802.15.4 protocol. But they can be set a couple of different ways by moving resistors. Each came configured for the fasted data throughput, but that’s not really necessary. By changing to a slower configuration [Akiba] was able to fix the communications problems.
At first we thought that [Brandon Dunson] was writing in to tell us he’s too lazy to fix his bathroom fan. What he really meant is that simply replacing the unit isn’t nearly enough fun. Instead, he developed his own bathroom fan trigger based on stinky or humid air conditions. He didn’t publish a post about the project but we’ve got his entire gallery of build images after the break.
The initial inspiration for the project came from a twitter-connected fart sensing office chair. Hiding behind the character display you can see the MQ-4 methane gas sensor which he picked up for the project. But since there’s also a shower in the bathroom he included a humidity sensor with the project. Both are monitored by an ATmega328 which averages 10 readings from each sensor before comparing the data with a set threshold. If the sensors read above this level a relay turns on the bathroom fan.
Don’t be confused by the small DC fans seen above; [Brandon] is still using a proper exhaust fan. These are just used to help circulate the air around the sensors so that low-hanging smells will still trigger the system. This has got to be the perfect thing for a heavily used restroom.
The scale which he hacked is a digital model, which makes it possible to read the weight data if you know what you’re doing. [Casainho] already completed a weight logging scale hack which stored the data on an SD card. So this was a recreation of that project but with a Bluetooth module for the output rather than the card for storage.
Now you can buy WiFi enabled scales, but that’s not nearly as fun as a hack like this. Plus one of those will cost you around $200 and the hardware for this version came it at only $75. It includes an LPC2103 dev board, $6 Bluetooth module, character display, batteries, and misc. supplies. The software end of the hack was helped greatly by the fact that the Android apps which [Casainho] is using are both open source.
Adding this board (translated) to your bathroom fan will turn it into a smart device. It’s designed to automatically shut off the fan after it’s had some time to clear humidity from the room. It replaces the wall switch which normally controls these fans by converting the fan connection to always be connected to mains. The board draws constant power to keep the ATtiny13 running via a half-wave rectification circuit. A single LED that rises from the center of the PCB lights up to signal that the fan is in operation, but it is also used as a light sensor, similar to the LED communications hack from a couple of days ago. When the lights go on in the bathroom the microcontroller will turn on the exhaust fan via a Triac. It will remain on until the light level in the bathroom drops.
There’s an interesting timing algorithm that delays the fan startup, and varies the amount of time it will stay on in the dark depending on how long the bathroom lights were on. This way, a longer shower (which will build up more humidity) will cause the fan to remain on for the base of five minutes, plus one minute longer for every two minutes the bathroom was in use. Pretty smart, and quite useful if your bathroom sees high traffic from several family members.