Stephen Coyle

Father Ted Sellotape Dispenser

About eight years ago I had a notion that I wanted to build a real, working version of the sellotape dispenser from Father Ted. You know, the one that Dougal buys in Flight Into Terror that goes "You have used one inch of sticky tape. God bless you." I bought a sellotape dispenser for the project, and quickly ground to a halt because:

  1. I didn't know anything about programming, and;
  2. I didn't know anything about electronics.

Thankfully, in the intervening years, both of those things have changed, and the idea struck me again a few months ago. After a few requests, I'm going to give a very whistle-stop summary of how I made it.

Onto the build itself; I wasn't quite sure where to start. So I left out a pencil and paper one night before bed, and hoped that by the morning God would have written down what I should do.

Sadly, he didn't. So instead, I broke the project requirements down into the following tasks:

  1. Measure the rotation of the sellotape wheel somehow
  2. Calculate the length of tape dispensed based on this rotation
  3. Trigger playback of the appropriate sound files
  4. Somehow fit all of this inside a tape dispenser

I decided I'd start with the easier parts of the project. I sacrificed an old, broken, bluetooth mouse and extracted the little component its scroll wheel was connected to—a rotary encoder—which essentially triggers two pins off and on as it turns. Experimenting a little with an Arduino, I figured out how to reliably read its data, and put together a rough function to convert that into the total angle the wheel rotates each time it's moved.

Next step was the audio. First I recorded myself saying all of the possible words that'd be required (deciding that twelve feet and twelve inches was a reasonable length limit). The Arduino wasn't an ideal device for audio playback, so I moved onto a Raspberry Pi (gen 2, I think). I connected a speaker to its audio jack, via a small speaker amplifier, and installed Raspbian to get started. After some playing around, I settled on using mp3wrap and omxplayer to actually output the sound. The former program joins up the required sound files into a temporary file with the specific measurement, which is then played with omxplayer, and then deleted. There's probably a smarter way to do this part, but this was quick, easy and effective.

I now had two of the key building blocks completed. With a little more experimenting it didn't take long to hook them up, and I was able to trigger a message by turning the scroll wheel. You can hear my inaugural, uncalibrated test run in the clip below.

I had bought a couple of sellotape dispensers for the project, but they all shared a common theme...

This was inconvenient, and I slightly wrecked one of the dispensers trying to extract the concrete with a hammer. I thought I had it at one stage, but like an eejit I kept banging away. I found another one that had a bit more room at the bottom though, and I was successfully able to grind away some rough edges and leave myself with enough room to get the job done. While it might not have been apparent above, the current prototype wasn't very small, it was just far away. As a result, I had to try and miniaturise things a bit. I swapped out the speaker for a much smaller one, and switched out the Raspberry Pi 2 for a Raspberry Pi Zero. I had to add a USB sound card into the mix to make up for the Zero's lack of audio output, but already things were looking fairly plausible.

I removed as many connectors and unnecessary parts as possible, then soldered everything together. Adding a battery, charging board, and switch, things were really starting to come together. Next was the misery of trying to fit the rotary encoder into the spindle that holds the tape. But maybe I like misery, and figuring out a good way to do that was pretty satisfying.

In the end I basically chopped the spindle in two, and mounted the scroll wheel inside it. This can then fit onto the rotary encoder, and I mounted a little section of the spindle onto it so it can slide into the holster. What remained was just to cram everything inside the dispenser and close it up. It may be shoddy, shoddy workmanship, but miraculously, it did work.

The last remaining step was to write Greetings from Kilnettle on the side, which may honestly have been the most challenging element of the whole thing. But it'll do.

If you want to check out the code that makes it all work, it's here.

Note: lest it need to be said, Graham Linehan is despicable. When I made this originally, I used it to raise money which I donated to charities in aid of trans people.