You are here

Katootjes Jukebox

The plan

My daughter Kato started liking music at a very young age, dancing and singing along with any music that happened to be playing. At some point, I started thinking it would be nice to give her her own music player, so that she could choose her own songs to play. However, at 2 years of age, there are a few constraints on any toys you give to your children:

  • They should be solid, things fall on the floor or get thrown around without consideration
  • They should be extremely easy to use; displays with text and selection buttons are not (yet) of much use to a 2 year old

Looking around on the internet, there were no ready made products that fulfilled all criteria. However, I stumbled upon a blog post by someone who made something that fit the bill perfectly: the contact-free jukebox. I decided to give it a shot: "Katootjes jukebox" is an implementation of the contact-free jukebox; it was my first venture into Arduino territory, in 2012, and it is still popular with her and with her little brother to this day (2015).

The execution

There are two parts to the jukebox: the music playing and RFID part (arduino + wave shield + RFID reader) and the power supply.

Playing music

The wave shield came from Adafruit as a kit, so the challenge was to assemble it correctly. This worked out fine, Adafruit has a good step-by-step guide that makes this easy even if you don't have much soldering experience. Preparing the SD card for use with the shield was also a breeze.

The RFID part was a bit trickier, since that involved working directly with the Arduino's GPIO pins, which I had no experience with. It took a while, but some experimentation and failed attempts later this was also working. One thing I needed to do here was write a custom sketch to read off the numbers from the SD cards and display them in the console, since the cards are not marked.

After these steps, the jukebox worked as expected when connected to a USB cable and power supply. However, for a toy it has to be self-contained, so there was an additional power supply component to be completed.

Power supply

The power supply consist of a lithium-polymer battery that is connected to a charge controller board (both from Adafruit). The power from the charge controller board is fed into a 5V booster board from Sparkfun, to turn the battery voltage into a stable 5V supply for the arduino and the wave shield. In between the charge controller and the booster board I placed the on-off switch.

Assembly was not difficult, but not having much experience means that it was pretty much hacked together on a breadboard. It worked, but it didn't stand up to abuse and I had to fix it several times already. Here is the power supply board:

The battery is taped underneath the breadboard. The board on the left is the charge controller for the battery; it has a mini-USB connector to connect external power, that has to be exposed on the outside of the jukebox. The small red board on the right is the step-up converter to convert the battery voltage to 5V suitable for the Arduino and the wave shield. The rest of the board has some jumper wires to wire in the on-off switch and to connect the different boards together.

Connecting it all

The whole rig looks like this:

The case

A toy for a child needs to be put in nice (solid!) box. I made a 20cm x 12cm x 9cm box of 12mm thick wood, and used 3mm MDF to make front and back panels. I also put a nice leather handle on the top.

Back cover with electronics mounted to it
Backside of front panel, with speaker and RFID sensor
Front view of the finished jukebox
Rear view of the finished jukebox