For my daughters second birthday, we decided to get her a kitchen set. But I really wanted to make what we got her special and after being inspired by what some awesome makers had done with the Ikea Duktig Kitchen, we decided to get one and to make some modifications to it to make in unique.
The two new features we added to the kitchen are
Adding lights to the oven section that could be set to different colours and that the brightness could be adjusted. This is obviously is not a realistic representation of how an oven works, but our daughter was just starting to learn her colours and we thought that she would really enjoy swapping between the different colours. (sorry about my dog wanting to be famous)
Adding lights and a timer to the microwave section. I went for a little bit more realism here, even trying to simulate the item in the microwave spinning by rotating the lit LED around the neopixel ring. This was bit too advanced for her at the time but now that she is a few months older she does really like this too!
Seeing my Daughter play with this for the first time is probably my proudest moment as a maker. A lot of the times the things I make might be kind of interesting or cool, but seeing the glow on my Daugther's face the first time she was playing with it is honestly one of the highlights of my Dad career so far (some of it was from the Oven lights, but there was serious joy too!)
Step 1: The Remix
I seen a couple mods for the Ikea Duktig Kitchen last year that I thought were amazing so I wanted to see if I could combine some of the best of both and make a few changes based on what I parts I had available and my based on my limited woodworking skills!
The first is the Kids Kitchen that says BEEP by RoaldH. This is a mod that adds lights and buttons to the oven section of the Kitchen.
The second is the IKEA Hack: Microwave for the Duktig Kids Kitchen by Myles Eftos. This mod adds a rotary encoder, a 7 segment and lights to the microwave section of the kitchen.
Lastly, I had a lot of spare Neopixel rings and ESP8266 boards left over from my WiFi Wedding Lights project so I wanted to try use as much as I could from that project so it would no longer just be sitting in a box on a shelf! I also think its kind of nice that something from our wedding is now being used by daughter to play with!
Step 2: Things You'll Need
I used the following parts in this project
- 2no. D1 Mini ESP8266 Arduino boards* - I used these as I had some spare after the Wifi Wedding Lights project. You could replace this with any Arduino board though
- 3no. 16 LED Neopixel Ring* - Again these were spare from the Wedding lights project, but the rings ended up working out quite well, especially for the mircrowave.
- 4no. Arcade Buttons
- 2no. Rotary encoder modules*
- 1no. 7-Segment display module
- Large Amp 5V power supply* - You need minimum 3 or 4 A amps, but could get away with less if you limit the max brightness of the the Neopixels.
- Some perf board* - I used two pieces
- Screw terminals*
- DC Jack to screw terminal adaptors (Male and Female)*
Parts From Ikea:
- Ikea Dukstig Kitchen - I had mine assembled before stating these mods.
- Cable trunking - This is a nice cheap way of tidying up the cable.
- Cordless Drill
- Selection of standard wood drill bits
- 25mm Hole Saw bit
- Some screws
- Some clips to tidy up cables
- 3d Printer (or access to one)
Step 3: The Code
There are two sketches used in this project, one for the Oven mod and one for the Microwave mod.
The code is pretty simple, and as mentioned earlier, should run on any arduino if you change the pin numbers to match.
If you are using the ESP8266 boards like I did, you will first need to setup your Arduino IDE for programming these boards, check out the video above for steps on how to do this.
Once you are setup, download the the two sketches from github and upload them to the two separate boards
Step 4: The Oven Mod - Drilling the Holes
First thing that we need to do is drill the holes above the oven to house the buttons and the rotary encoder. I did these steps while the kitchen was fully assembled, I just needed to remove the plastic stove top. You may need to remove the door in later steps, but that's easily done.
I put some masking tape on the area where the buttons were being places so I could mark out where the holes were and to help protect the finish of the wood when drilling.
I marked out the holes as shown below. The marking for the centre, the rotary encoder, is 16cm from the left. The inner buttons are marked 5cm from the centre and the outer buttons are marked 6cm from the inner buttons.
I drilled a guide hole on the markings for the buttons using a 4mm drill bit. I then used a 25mm hole saw to drill the holes out large enough so that buttons could fit in them.
Now comes for the scariest part of the whole build for me, the hole for the rotary encoder. The shaft of my rotary encoder was far to short to be able to just drill a single hole through the wood and get the nut on the shaft. I drilled a hole for the shaft using a 8mm drill bit (I think, please check the size before doing it!). Then from the inside of the oven I used a flat drill bit to drill out a hollow so that the rotary encoder fits inside this to make the depth of the hole the shaft needs to pass through shorter. Be very careful at this part! Take it slow and keep checking if its deep enough for the encoder to go through and grip the nut.
Now would be a good time to test the fit of the button and the Rotary encoder. I was really happy with how they came out!
Step 5: The Oven Mod - the Circuit
The main components for the oven mod consists of
- 4 arcade push buttons
- 1 rotary encoder
- 2 neopixel rings
- The D1 Mini ESP8266 board.
The circuit is laid out as follows:
I started by building a proof of concept of the circuit using a breadboard and crocodile clips so I could test out the circuit and start writing the Arduino sketch. It is a bit of a mess but it's a really good way of trialing out what you want to do without having anything permanent.
Once I was happy with the POC, I decided to move to a more solid solution. I made up a board using perfboard and screw terminals for connecting all the external components to the board. I find screw terminals are a great way of connecting components that are not attached to the same perfboard as the arduino so it allows you cut the wire to whatever length it needs to be.
Step 6: The Oven Mod - Assembling
I first screwed the perfboard to the inside of the oven towards the back.
For wire I used some CAT5 cable I had to hand. CAT5 has 4 pairs of wires (8 wire in total) so this was perfect to run one length of this up to the buttons. Make sure to keep it long enough to get to the furthest away button while being clipped against the edge (you don't want these wires dangling inside the oven)
My arcade buttons had a hole on their terminals so I decided to just wrap the wire around rather than soldering so I could easily remove if required.
My rotary encoder came with headers pre-soldered, I needed to un solder these and replace them with wire. Again i used a length of CAT5. The wire should be soldered from the bottom of the PCB so it fits better (as seen below)
The neopixel rings need to be attached to the bottom of the plastic hob and to the bottom of the shelf inside the oven. I used hot glue to attach these.
I made a makeshift connector for the neopixels rings using male and female headers. This is so the neopxiels rings, or even what they are attached to, could be removed from the kitchen without the need for unscrewing them from the screw terminals. This is especially important for the one attached to the hob as that may need to be removed regular to replace it's batteries etc.
Finally, I drilled a hole in the back panel to allow the power supply through (more about this in a later step)
Step 7: The Microwave
The main components for the oven mod consists of
- 1 Rotary Encoder Module
- 1 Passive Buzzer Module
- 1 TM1637 7 Segment display
- 1 Neopixel Ring
- A D1 Mini ESP8266 board.
The circuit is laid out as follows:
You should test the circuit out on a breadboard before starting assembly just to make sure everything is working as expect.
Like I did with the oven mod, When I was happy with it how it turned out, I created a board using perfboard and screw terminals.
The 7 segment display and the rotary encoder are housed in a 3D printed enclosure that is screwed in below the microwave. This is not an exact fit for the parts (I'm not good at 3D design!) but with a bit of hot glue for the 7-segment display, it does the job fine!
Just to note, that i left the buzzer attached to the perfboard, but if your buzzer is a bit quite it might be a good idea to bring it to this enclosure as well.
Similar to what we did earlier with the rotary encoder for the oven, we need to replace the pre-soldered header pins with wires for both the rotary encoder and the 7 Segment display.
I had too take off the top of the kitchen in order to screw the Neopixel ring into place insider the microwave, but you could just use glue to save yourself this step. I drilled out a hole in the back of the microwave to allow the cables from the neopixel ring out.
I screwed the perfboard to the back of the microwave and connected up all the wires.
Step 8: Powering the Kitchen and Tidying Up Wires
To power the project, I used a single laptop style 5V power supply. Seeing as there are 48 neopixels, you should be aiming for a PSU cable of supplying at least 3 Amps (the neopixels will not all be on at the one time, but better to have the extra amp room if you want them, rather than looking for them).
I used a DC Jack socket to screw terminal adaptor to take the single power supply in and then split it from there to the two perfboards. I used DC barrels connector to screw terminal adapters to connect this to each of the perfboards.
For tidying up the wires I used the mini trunkink from Ikea everywhere I could just to keep the wiring neat. This stuff is pretty cheap, can easily be cut using something like a snips and has adhesive on back so it's easy to stick up.
Step 9: Ideas to Improve It in the Future
One thing that I thought would be nice about getting the kitchen for our daughter is that it would hopefully be something she would have long time. I have been thinking of some changes that I could make to it so that it grows with her.
Display the time to the microwave 7 Segment:
My daughter can't tell the time at the moment, but the way she is growing and learning I don't feel thats too far away! One simple mod would be display the time on the 7 segment display when it's not actively in use by the microwave. No additional hardware would even be required as the ESP8266 is capable of fetching the time from the internet. Here is a sample sketch I did displaying the time on this type of a display using an ESP8266
My daughter is a big fan of "lexa" and I was thinking it would be pretty cool to add some integration between Alexa and the kitchen. I'm not sure exactly what that would be yet but I'm sure we could have some fun with it! Check out this library for using an ESP8266 with an Alexa
Do you have any other ideas that could be added?
Step 10: Things I Would Do Differently
If I was building this again, there a couple of small things I would do differently to make it easier.
D1 Mini Breakout Shield
After building 2 of pretty much the exact same perfboard for this project, I decided I never wanted to build another one like this again! I ended up designing a PCB to this job instead and I'm really happy with how it turned out. It has screw terminals for all the pins of the D1 mini plus 6 addtional ones that can be connected to circuitry on the built in prototype area. This would have saved several hours when doing this build (perfboard projects always take me longer than I think). I sell these on Tindie if you want to buy one!
Arcade button Crimp Terminal
These slot onto the arcade buttons so it makes it really easy to connect them up. Definitely would be more convenient than the wrapping of out terminals like I did!
* Affilate Link
Step 11: Conclusion
This is easily one of the most rewarding builds I have ever done. Lot's of times I make things because they are interesting or cool, but in truth they usual sit on a shelf. But this is something my daughter uses nearly every day and it means a lot to me that I could make something for her.
I was really happy with how this turned out, the finish is definitely one of my better ones! It's actually quite interesting seeing unmodified versions of the kitchen, they look kind of strange to me!
Hopefully you enjoy this guide and can make use of it. If you do make a version of one I would absolutely love to see it!
All the best,