Phoniebox: From MVP to the Real Deal (Toniebox Alternative)


Preliminary: The first Phoniebox, my MVP (Minimum Viable Product) in a cardboard box, was an instant hit. The RFID cards, which were decorated and painted, are treated like the greatest treasure, sometimes even hidden or brought to the table. So, it’s time to turn the MVP into a proper box. If you haven’t read the first part about my MVP, the Phoniebox is an open-source alternative to the Toniebox that you can build yourself. The advantage is that you don’t have to buy expensive Tonies but can use cheap RFID cards or stickers to play your own selected music files.

I’m not particularly handy, and the question of how to make holes in the wooden box had me stumped. I didn’t want to just drill small holes again, especially since I wanted better speakers this time. And that’s how things escalated. This box ended up being considerably more expensive. What did I buy?

Total: approximately €200! The saw attachment can be used again, and handier people may already have such tools at home. But you should be aware that the Phoniebox can initially be much more expensive than the Toniebox. However, if you were to buy multiple Tonies for the Toniebox, and let’s just take the Creative Tonies at €11.99 each as an example, you’d be at the same price after 10 Tonies. From the 11th card onwards, the Phoniebox becomes cheaper. In terms of sound quality, my box is definitely in a different league than the small Toniebox.

Activating the MiniAmp wasn’t entirely straightforward. Olaf Splitt describes the necessary steps very well here. However, it seems I had already installed the Toniebox software, which unfortunately occupies some of the GPIO pins. These need to be disabled. What was confusing was that the Raspberry Pi detects the sound card, and you can adjust the volume, but unfortunately, no sound comes out. This made troubleshooting tricky. But the sound, combined with the speakers, is really great. I initially assembled the parts without the box just to check if everything works.

The EasyAcc power bank is one of the few that can provide enough power while also charging. This ensures uninterrupted music enjoyment. However, I haven’t had good experiences yet in terms of more power being pumped into the battery than is being used by the Raspberry Pi. Olaf Splitt doesn’t address this point clearly in his otherwise great guides. He even mentions weeks (!!) before needing to recharge the power bank. The big difference is probably that I’m using a Raspberry Pi 4, and it drains the EasyAcc power bank faster than it can recharge. The power bank can theoretically be charged with 5V 4A, but only if both USB ports are used for charging. Otherwise, it remains at 5V 2.4A. The Raspberry Pi 4 is typically powered with a 5V 3A power supply, but it should also run with 5V 2.5A, depending on the peripherals connected. In my case, that’s the MiniAmp and the USB card reader. I may end up replacing the Raspberry Pi 4 with a Raspberry Pi 3.

Here’s the final result, though the video doesn’t quite reflect the actual, really good sound quality.

 

This is what the inside looks like:

Other DIYers had removed the card reader from its plastic casing and glued it directly inside. However, it works well like this too, as the box wall isn’t so thick that the card signal wouldn’t work. An additional Wi-Fi antenna wasn’t necessary either, but our apartment’s Wi-Fi signal is also very strong.

I haven’t installed the USB port yet. In the next step, I also plan to add a power switch that will properly shut down the box before cutting off the power.

Phoniebox, the Affordable Alternative to the Toniebox (My First Prototype and MVP)


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:

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:

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!