In this instructable I want to show you how you can make your kettle smarter in only 15 minutes with the help of a small wifi enabled development board (Wio node) and an even smaller servo motor. The kettle can be started remotely by pressing a button on your smartphone or programmed to boil water at specific times.
Being a newcomer to everything that involves electronics I am eager to get going with home automation and I thought the easiest way to start is by making the good old kettle a bit smarter. Because what better way is there to start the morning with some boiled water to make coffee and tea.
While I already found two (1 & 2) very good instructables on how to make your kettle or coffee machine smarter this tutorial is intended to be very beginner friendly with almost no programming and definitely nowiring or soldering skills and therefore ideal for newcomers to electronics and programming!
Lets go lets build J.A.S.I.K.
3D printer (to print a base to attache the servo) not mandatory you can choose anything you want to stick the servo to it.
Step 1: Electronics
To start off we are going to pick the electronic components required for getting the job done. A while back I supported the Wio link on kickstarter which offered a quick entry into the IoT arena without programming, soldering or wiring.
For this project I used the Wio links little sister (or borther, who knows) the Wio node. The Wio node allows two grove modules to connect along micro usb and battery for powering the device.
To connect the servo to the Wio node open the Wio app from android or apple app store and register on a server. Connect the Wio node to your home wifi network and rename your device. Use the plus button on the newly connected Wio node and scroll to find the servo motor. Drag and drop the servo to any of the two locations and press update firmware.
Voila now you are done! You can now play around and test the servo via the API provided in the Wio app.
For more detailed instruction on how to set up a Wio development board and how to connect a module check out this wiki.
Step 2: 3D Printing
Since I recently also have gotten into 3D printing I wanted to design a base that protects the Wio node and power bank from spilled water.
To do this I measured the diameter of the kettle and designed a part to which I could mount the servo and where I could hide the WIO node.
For designing the base I used 123D Design desktop app which you can download and use for free. I added a sketch of the diameter of my cattle which I extended to a shape/model. Then I added a rectangular box to the model which I overlayed with the shape of the kettle. I then subtracted the two shapes which yielded a object which is a simple block with a hole in the middle. I then reshaped the model to save filament so that only one larger part remained where the Wio node and the power bank could be hidden and a small L shaped foot.
The final object was printed on my Zortrax M200 using Z-Ultra filament and lowest resolution which resulted in a total print time of 4:17 minutes.
The 3D printed parts and the servo was attached together with Tesa powerstrips so I could use the servo again for later projects. The Wio node and power bank was hidden inside the base. In the end I had to use Tesa powerstrips again to attach the 3D printed part to the surface so that the model would not just lift when the servo arm hits the lever of the kettle.
Step 3: Programming (IFTTT)
Now if you would want you could use this set up already and start your kettle from the Wio app. But in order to make it a bit more user friendly I designed a start button using the IFTTT app from the android app store and its "Do button" function.
IFTTT (If this then that) is a simple protocol to speed up automation or to get automatic notifications based on predefined rule sets and can be used for a wide variety of tasks.
In order to use IFTTT with the Wio node we first have to find and sign in to Seeed which is the company behind the Wio node.
When you have connected to Seeed it is time to set up the node to be used via the start button on you smartphone or to set up a automatic scheduling which starts the kettle at a specific time.
Use the + sign to create a new IFTTT applet. For this choose Button widget and then Button press from the select trigger services and for that search for Seeed and then Drive any grove. In the which function option choose the servo from your node and under First parameter chose the degree to which the servo should turn to notch on the little lever on the kettle. After fiddling around a bit with the settings for the servo I used 90 degrees for the off position and 71 degrees to push the lever down. Afterwards we have to set up an additional Button widget for turning the servo motor back again to its previous position (90 degrees). If this is not done the lever from the kettle might not be able to return to the off position!
Similarly if you want to your kettle to turn on at a specific time and date choose Date and Time instead of Button widget for this and continue using the steps above to choose your servo module.
Step 4: Enjoy
To power the device for an extended period you might need to connect it to a power outlet via micro usb. In my case I used an old power bank that I had lying around to power the device. A note of caution when choosing a battery or power bank as power source: batteries can easily start to burn especially when exposed to heat, so don´t stick any battery right next to the kettle.
Otherwise enjoy your boiled water for the drink of your choice.
Merry Christmas and a happy New Year!