Do you remember the Goblin Teasmade? The device was a mechanical and electrical marvel however very likely responsible for many a house fire and probably entirely unsafe by todays standards. The teasmade was the epitome of the must have device for the middle class home of the 1960s, it even featured in the Queen music video for “I Want to Break Free“.
As I’m not shy of a challenge I decided to upcycle a 1963 model into a new fangled Internet of Things device which can make tea over the web.
Stage 1 – Unwiring
Opening up a teasmade from the 1960s is a quite horrifying experience for anyone who has done a bit of modern electronics. To put it bluntly Nicola Tesla would have been proud of the arrangement inside.
I spent a good bit of time reverse engineering the design and was absolutely in awe of how peculiar the user interface is. You see, the teasmade has two toggle switches for user interaction, the first toggle switch turns on the lamp. The second toggle switch will make tea, until the tea is made. However, the function of making tea is inverted when the light is on versus when the light is off. That is to say that when the light is on, making tea will require the switch to be in the up position, when the light is off making tea is done by switching the switch to the down position. There is however a third situation which is when the alarm goes off an electro magnet engages until the tea is made which maintains the circuit, the next bizarre part is that when tea is made the light goes on and the electromagnet begins to buzz. All of this without changing the position of the switches… To be honest, my mind was blown apart by the fact that all of this works on AC directly and not a single part of it has any sensible low power circuitry, a true tribute to the 1960s and the wacky stuff people built and made products out of.
After learning how the teasmade worked, I set about removing all of the internal wiring and replacing it with low power signal wire which I could plug into a line of headers on the Arduino. Essentially, all I wanted was the mechanical switch for the kettle, the tea presence switch and to replace the two toggle switches with a pair of illuminated push switches for indicating the current device status.
Stage 2 – Design replacement electronics
The design stage of this project ended up with a lot of toing and froing on which microcontroller was suitable, and which kind of interfaces I should use and more and more and more inexplicable messing around trying to find the right combination.
Things would have been made much simpler for me if the Arduino wifi stack didn’t completely fill the memory of an uno, leonardo and well, basically every atmega328 or similar chip that Arduino put out.
In the end I decided to use an Arduino wifi shield, an Arduino Mega, two Ghetto Pixels and a simple (but effective) analog clock movement hacked to allow me to drive it via Arduino.
Stage 3 – Fitting the replacement electronics
There’s plenty of space inside a 1963 teasmade, I’m guessing that this is so the wires which get warm don’t tend to touch the plastic on the sides. This affords us plenty of room to put the electronics into the device.
I decided to replace the original base which was made of cardboard with a perspex sheet cut to size, this allows me to turn the thing upside down and have a look inside, or to display it easily without having to pull the entire thing apart.
I used a small LED power supply to drive the Mega and related electronics
Stage 4 – Programming the Arduino
I arranged the pins for the Arduino as follows
- Analog clock mechanism coil side A – D35
- Analog clock mechanism coil side B – D33
- Left side LED (red) – D29
- Left side button – D23
- Right side LED (white) – D31
- Right side button – D25
- Teapot microswitch (original mech) – D18
- Kettle microswitch (original mech) – D19
I needed to build the code around the buttons and internal switches so that they would correctly boil the water and switch off the boil when the kettle has finished pouring. This needs to be an interruptible operation, so if the Arduino was serving up a web page (which is slow) then it would stop doing that in order to turn the kettle off, thus avoiding a fire. Similarly if the teapot is removed, either during the boil or simply isn’t present when the boil is requested the teasmade won’t boil the water as it would likely result in boiling water being squirted at high pressure through the inside of the device ruining the electronics.
You can grab the code from the github page. In Part 2 I’ll be adding the iPhone app and Website code and I’ll have photographs of the finished product.
Update Now with added support for Error 418, when a user attempts to use HTCPCP methods.