Toilet Paper Inventory

by doguin

Published on November 18, 2014

When your toilet paper stock gets down to only two rolls, this smart toilet paper dispenser reminds you and all your housemates to buy some more. Using two IFTTT recipes, the dispenser will send out a mass email in addition to adding “Toilet Paper” as a new item to your google drive grocery list.

This project uses a strategically placed light sensor to detect when an object [in this case, a roll of toilet paper] is in front of it or not. The light sesnor is positioned so that it becomes exposed to a bright LED when someone takes the 3rd to last roll of TP. When the light sensor senses light, it triggers the cloudBit and the two IFTTT recipes. In IFTTT, we used the Gmail channel and the Google Drive channel.

Credits: Sanghyun Park Donghoo Kim Sunday Oh with Doguin

How To Make It


Let’s begin by building the circuit: usb power + split + light sensor +(threshold)+ cloudBit, and there is a bright LED on the other branch of the split. (I didn’t use a threshold bit, but you may need a threshold between the light sensor and the cloudBit depending on the circumstance).


Prepare your cardboard box. The bigger it is, the more toilet paper it will hold. Cut the lid off the box off so you have broad but shallow container. **I couldn’t find a paper box big enough, so I put two boxes together to make a big container. The depth of the container should be more than the height of a toilet paper roll.


Now, orient the paper container so it is standing upright. Now it will have a narrow base and broad side faces (one side closed, one side open).


Make a ramp for the toilet paper to slide down. Make a wedge shape out of cardboard and put it on the bottom of the container. Here, it is a good idea to test and see that the toilet paper rolls do in fact slide down the ramp.


Put some toilet paper rolls in a row on the ramp and mark where the 3rd roll sits. On the wedge, cut a small hole when you just marked and place the light sensor inside of the wedge, pointing up at the rolls. This way, the light sensor will sense if there are more than 3 rolls or not. The rest of the circuit will also be inside of the wedge.


Mark the place on the wedge where the LED light on the cloudBit sits and make a small hole there so that we can check on the status of the cloudBit from the outside.


Make a second small wedge and position it at the top end of the ramp. This wedge keeps the chain of toilet paper rolls in a big smooth S shape and allows them to roll down smoothly one by one.


Make a second ramp for the toilet paper rolls to snake around. Glue the second ramp to the side wall of the big container once you find the appropriate location and orientation for it.


Attach the bright LED to the side wall of the container, using glue dots. Make holes in the side wall to feed the wire from the split through from the back. This way the wires will stay out of the way of the toilet paper rolls. Make sure that the bright LED is pointing at the light sensor.


Make a small window through which to take toilet paper rolls out from the container.


Make the following two IFTTT recipes:
  1. IF the cloudBit is triggered (if there are less than 2 toilet papers), THEN send emails to housemates.

  2. IF the cloudBit triggered, THEN add “toilet paper” as a row to my google spreadsheet entitled ‘Grocery List’.


Fill the toilet paper dispenser. Set it in a closet, leaning against a wall.


Now you won’t ever forget to restock toilet paper again!

Related Projects