Tales of Yore: Toilet Flushing

Inspired by a Discord post (which might be where all the good ideas come from) I thought I’d start a new series of intermittent blog posts about things I’ve done over the years. Starting, of course, with flushing toilets. The University of Hull used to have a “Centre for Applied Electronics” which was a technical “gun for hire”. Companies with problems would get in touch and we would go along and sort them out. Sometimes it was new product developments, sometimes it was automation or sensors. And sometimes it was toilets.

Reckit and Colman, a local chemical company, had built a lab containing toilets from all over the world. They made chemical tablets (also known as “loo blues”) which dissolve over time, releasing chemicals into a toilet each time it was flushed. These were clipped into the toilet bowl to keep things clean and fresh. The company wanted to know how well their tablets worked around the world. Rather than send someone out with a fistful of plane tickets and a case full of loo blues (I’d totally have done that job) they instead brought the world to a lab in Hull.

What they wanted was a way of producing timed flushes which mimic typical household use. Someone else built the actuators and I was called in to make the control system. At the start of the job the customer pointed to a manhole cover in the courtyard below the lab and said “If you flush all the toilets at once, that’s the cover that lifts up and floods everywhere. Don’t ask me now I know”.

I ended up programming a microcontroller in Forth to control the toilet actuators. It had quite a few timeouts in it. The controller was connected to a brand new (at the time) IBM PC XT. All the software was written in GW (Gee Whizz) BASIC which worked a treat. I discovered that the language had an ON TIMER GOSUB construction which let me build a system that allowed the user to edit and store time profiles while the toilets were being controlled in the background.

We installed the system and left them too it. We went back six months later and they told us they had a problem with the cathode ray tube (CRT) display “burning in” the screen. They asked what I could do about it and I pointed at the brightness control on the screen and suggested that they turn this down after use. In the end I added a screen timeout, mindful of the possibility that I would now get calls from people saying “The screen keeps going blank”.

Anyhoo, the system worked well for years, and at the time I was rather cheered by the thought that, at any time of day or night a piece of my software could be flushing a toilet.