Introduction: Twittering Office Toilet

The twittering office toilet tweets the times and types of use of the toilet in the office. Want to know too much about the habits of your coworkers and share it with the internets? Here you go.

Many thanks to randofo and his twittering office chair from which some, or almost all, of this was based.

Or if you just want to see the tweets, go here:

OfficeToilet twitter feed

note: this is for April Fools Day. After that, moving on from toilets!

Step 1: What's to Report?

So what can be tweeted from a toilet? There's the flush, but that's been done before and it only tells you that someone went to the loo. Big whup.

The other information that we can get is from the toilet paper usage. Available data from here is the # of times it was used in a session and the total # of squares used in a session. From this we can get a pretty good idea of what happened.

All right, so how to get the data? Magnets, baby.

Step 2: A Certain Attraction

 By placing a magnet inside the toilet paper roll and a reed switch inside the toilet paper holder we can count the number of revolutions of the toilet paper roll. 

Less and less toilet paper is on the roll after each turn so the # of squares of toilet paper that each revolution represents will go down in increments. On our rolls of toilet paper there are 3.4 squares in a revolution in the beginning and 1.5 at the end. There are about 200 revolutions in the rolls. A simple bit of math and we have a good idea for how many are on each revolution.

r2 = new rotation count
r1 = previous rotation count

so, squares used in current session = (3.4 - r2 * .00475) * r2 - (3.4 - r1 * .00475) * r1


Step 3: Timing Out and Adding Up

Each pull of the roll is one data point. Each session will be determined by a grouping of data points. If more than a minute goes by after one data point, all of the data points in the queue will be added up to give us a proper toilet session. Easy, right? 

Step 4: Reset!

I didn't think of a good and reliable way to take care of a new roll so there's some dirty work I have to do.

After a full roll has gone through, a message is sent to my own twitter account (I'm not telling) letting me know. When I can I sneak back in, place a new roll with a magnet inside and hit the reset button to start the value for each revolution all over again.

This sounds awful, but there's only about a dozen people in my office. It's not that bad and I'm only doing this for a day or two. 

Step 5: Values!

 All right, this is what it's all leading up to. We have amount of toilet paper and # of pulls. We can now make comments about coworkers toilet paper use!

This is easiest to show in a table. Wherever the session lands in this table, that's the message that gets pushed to twitter.

Here's an early version of the table for comments to be matched up with the data. This will likely change soon.

Step 6: Notes: Stuff

You really want to make this? OK, here are the supplies:

 - SquidbeeTX/RX pair
 - reed switch
 - neodymium magnets
 - hookup wire
 - momentary switch
 - python
 - twitter account (free!)
April Fools Day Project: Prank Contest

Finalist in the
April Fools Day Project: Prank Contest