When I was a child, if there was one thing I loved, it was listening to records or cassettes for hours. Our kids also love music, and luckily, famous arias from The Magic Flute are a hit, but so are Kraftwerk’s The Robots or Herman van Veen’s quirky adventures. But how can we give toddlers access to “their” music in a world dominated by Spotify and Sonos?
A Toniebox wasn’t an option for us, even though its user interface is very child-friendly. Fortunately, there are open-source alternatives, and what’s even better, many of the components needed for this project I already had at home. One such project is the Arduino-based Tonuino, which has the big advantage of being very power-efficient and having an extremely quick boot time. The other project, which I replicated, is the Phoniebox, based on a Raspberry Pi 3. It has a longer boot time of more than a minute if the box is unplugged, and of course, it consumes more power. The big advantage for me here is that music can be managed via a web interface. Plus, I can easily turn the volume down when the kids get too excited 🙂
How does it work? On the SD card, folders are created in a specific directory, where music files or stream URLs are stored. The RFID cards are linked to these folders, so each card “triggers” the playback of the music in the respective folder. No data is saved on the card itself, and you can always reconfigure the card-linking. You can paint or sticker the cards so the kids have a reference for which music, audiobook, or stream corresponds to a card.
The shopping list on the Phoniebox site was a bit confusing and sometimes unsuitable. Here’s what I purchased:
- Small speakers, powered via USB 2.0, sound via a small 3.5mm jack: €9.99
- A noise filter (essential): €10.99
- Neuftech RFID card reader: €10.69
- 50 RFID cards with 125KHz: €13.50
- 64GB Micro-SD card with adapter: €8.99
- A Raspberry Pi 3 (I had one already, cost me €39.99 back then, though now the Pi 4 is available for the same price. But the Pi 3 is more than sufficient if you can get one used!)
Total: €94.15. For comparison, a Toniebox costs €79.90. It comes with one Tonie, with additional pre-recorded Tonies priced at €14.99 and creative Tonies for €11.99. If I understand the concept correctly, you can load 90 minutes of content onto a Creative Tonie via the cloud, and while you can use them offline, the content is still managed online. With my 50 RFID cards, I essentially already have 50 Tonies, just without content. The content can be either something I already have (I had many of my old cassettes digitized because I couldn’t get them as CDs) or can be sourced cheaply. So, an RFID card can also be linked to a Spotify song, album, or even a radio station. Overall, it’s cheaper if you have more content, plus you’re independent from any platform. Building a box with Arduino would likely be much cheaper, and the battery would probably last much longer too.
The setup of the PhonieBox took me about 90 minutes:
- Flash the Raspbian Buster image onto the SD card.
- Pre-configure SSH and WiFi so I wouldn’t need a monitor or keyboard.
- Assemble the components and connect the power.
- Log in via SSH and start the installation with a one-liner.
- The box is then ready to use!
Here’s what it looks like when initially assembled without a case:
Most of my time was spent loading the cards with content. You can either upload the audio files directly via SMB to the drive or through the web interface. However, not all MP3s were immediately recognized.
I hadn’t initially planned for a case, as I wanted to first check if I could even assemble the Phoniebox and if the kids could manage it. Therefore, the first version didn’t turn out very pretty, but hey, it’s a Minimum Viable Product 🙂
Much nicer boxes can be seen here:
- Olaf Splitt’s Box #1
- Olaf Splitt’s Box #2
- Olaf’s collection of boxes from other users
- The PhonieBox calendar
What are the experiences after a few hours/days?
- The box is loved dearly and sometimes even fiercely contested. So definitely a second box is needed.
- At 2 1/2 years old, the kids don’t fully understand that multiple songs can be played with one card, and that the card needs to be placed back on the reader to move to the next track (if configured this way). So, I’ve set it up to restart the song from the beginning when the card is used.
- It’s also a good idea to start with only a small selection of cards; otherwise, it can be overwhelming for the little ones. Our cards include:
- “Zu Hilfe, zu Hilfe” from Die Zauberflöte
- “Der Vogelfänger bin ich ja” from Die Zauberflöte
- “Weg da” by Herman van Veen
- “Das Lied der Schlümpfe” by Vader Abraham
- “Die Roboter” by Kraftwerk
- “The Young Person’s Guide to the Orchestra”
- “Peter and the Wolf,” narrated by Loriot
- One of the kids has hidden the card for the first track in the list—it’s his greatest treasure, which he barely lets go of.
- I can’t recommend an Anker PowerBank, as it doesn’t charge while supplying power to the Raspberry Pi. Therefore, for version 0.2, I’ll switch to this model. This will make the device an additional 33€ more expensive.
My next version:
- Will be built in a proper wooden box.
- I will also upgrade to better speakers and use the HifiBerry MiniAmp.
- I want to add a socket to the case for charging the battery.
- I plan to avoid buttons for now; the more parts there are, the more that can break.
- Finally, the two boxes should also be able to synchronize, and there is a guide by Olaf Splitt for that.
And here’s the post about my second Phoniebox!