Hacking some sense into the Little Tikes Goofy Giggles ...
The Little Tikes Goofy Giggles is a really strange toy. The whole thing is obviously designed to attract the attention of overstimulated 2-3 three year olds by being colorful, loud and fun. It succeeds in some respect by grabbing one's attention but unfortunately the fun is short lived ... all it does is giggle and go plop!
However, the Giggles has some overly complex internals that just beg to be hacked. So when my kids and wife sorted it out to be binned I decided to give it a second chance.
I had a single free weekend to turn it into something useful ...
- Not 1, not 2 but 3 action packed games
- Lovely monster button style game controller
- Single-player and multi-player modes with level system
- 5 different faces
- Extra low fidelity sound effects
- Would survive a nuclear blast
The goofy giggles has a few things going for it ... it has three buttons, a battery compartment, a speaker, overly complex mechanics as well as a fancy release mechanism that allows the buttons to pop back out again. On top of that, it appears to be indestructible since it survived the steep-upper-staircase-crash-test a few times.
From the electronics perspective, I found a little PCB with a single COB chip inside that was in charge of sound, sensing and actuation. Furthermore, there are 4 switches (3 to detect button press/lock events and one to detect a successful button release event), a motor (to drive the release mechanism) and a speaker. The thing to do was obvious ... replace the PCB with some microcontroller and use this beautifully overengineered toy for something awesome.
I had my workbench littered with various LCDs from a previous project so it took only a short amount of time to find one with the right size (Nokia 5110), cut a hole in the ball and epoxy it in place.
As the brains I chose an Arduino Mini Pro knock-off from china, partly because I wanted a low power design and partly because I didn't know if some of the code I wanted to use would work with my favorite ESP8266.
The electronics part is very simple really ... I put an ULN2003 on a small prototyping board and soldered it upside down onto the Arduino Mini Pro (the reset switch still works that way btw). The ULN2003 is used to drive the motor, the speaker as well as LCD.
All the switches are directly connected to Arduino's GPIO pins whereby I added 4 10k Ohm pull-down resistors to each input. The other terminals of the switches are connected to VCC. I also put a 10 Ohm resistor between the ULN and the speaker to delay my kids' first tinnitus experience to their first rock concert.
Finally, I used some filler and sandpaper to smoothen the gap between the LCD and the plastic. A lousy paint job and voilà ... hardware done.
The game I came up with is rather simple ... but in a good way. I wanted to build something that allows the kids to take mathematics into their own hands (literally). For it to have any chance at all, it also had to be fun and approachable. It works like this: random mathematics questions are presented and three possible answers can be selected using one of the three buttons.
There is a choice of multiplication, addition and subtraction questions. To spice things up, visuals and sound effects let the player know if the answer is correct or not (check out the video at the end).
I later added a level system that works like this (not shown in the video): If a player scores five correct answers in a row, the level is increased by one. The level hereby represents the number-space the random questions are generated from. For example, level 5 in addition would mean the two summands are within the interval 0-5. Hence, the difficulty of the game adapts to the abilities of the player.
I was a bit anxious that the kids would just see it as another goofy giggles and ignore it. But as it turns out, the combination of power-on-to-gameplay in 5 seconds as well as funny sounds and graphics hit the mark somehow. My 3 and 5 year old just love to pick it up after lunch, sit on the sofa and play a few rounds together. I couldn't have hoped for a better response.
One key element of the success is also the Giggles ability to deal with frustration. When the kids get fed up with it, they slam in the buttons, throw it on the carpet, press all buttons at once or simply sit on it ... the Giggles takes it all.
The video below shows an intermediate software version without the player and/or level system (see code).
Bill of materials
Prices include delivery
- Little Tikes Goofy Giggles (second hand) - 5 EUR
- Nokia 5110 LCD (Aliexpress) - 2 EUR
- Arduino Mini Pro 328 - 2 EUR
- ULN2003 - 0.1 EUR
- TOTAL: 10 EUR