A kid-friendly DIY jukebox
• Published:I grew up in the music CD era, which meant I could take a look at our family CD collection, pick what I wanted to listen to, pop it into a CD player and voila, music! The collection was not that big, it was music that my parents liked, but at least I had agency. I could listen to music without involving anyone else from a very young age.
Today, most kids aren't that lucky. All they can do is ask their parents to play something for them on their phone/TV. Or what is even worse, they have their own phone/tablet with YouTube. Additionally, they are tracked, have to be online and have to interact with screens.
The solution?
Build an offline screen-free jukebox together with your kids. It's fun, you'll learn something and the kids will love using it.
Who is this guide for
I think this DIY project is quite approachable, that said, what is easy for me might be hard for you and vice versa. Also, I have quite a few years of Linux experience, I've completed projects with Raspberry Pis before and I have soldered a few PCBs in my time. So I generally knew what I needed to do going in.
You will need to know how to:
- find the IP of a machine on your network
- SSH into that machine
- run (copy/pasted) commands on that machine
- do some light soldering
As always, if you need help with anything feel free to email me.
What kind of jukebox
A PhonieBox!
It's a free, open-source, DIY jukebox aimed at kids. Everything you need to build it can be found at their GitHub repository.
Basically you use a Raspberry Pi, attach a speaker and a card reader to it. Then you install PhonieBox software on it, copy over the music files and link them with RFID cards. The kids can then tap the cards to the card reader and music starts playing. Simple as that!
Let's build it.
What you'll need
Now I've had a few of these things lying at home already. I just had to buy the card reader, RFID cards and some jumper cables totaling 18,47€.

I've bought them from az-delivery.de:
- a card reader
- to read the cards
- 6,49€
- jumper cables
- to connect the reader to the Pi
- 6,99€
- some RFID cards
- to associate them with songs/folders/playlists/actions
- 4,99€
What you probably already have:
- Raspberry Pi 1
- the brains of the operation
- any Pi works, PhonieBox folks suggest either a 2 or a 3
- an SD card (or MicroSD + SD Adapter)
- it's where we'll install the OS and put the files
- An old JBL speaker box
- on mine, the battery is dead, but that is okay, since it will be powered by the Pi via MicroUSB
- has an AUX input
- AUX-to-AUX cable
- to connect the Pi and the JBL
- 2 x USB-to-MicroUSB cable
- one for powering the Pi and another for powering the JBL
- USB Power Adapter
- provides power to the Pi
- a nice box for the whole thing
- card sleeves and some paper for marking the cards
As for the tools:
- a soldering iron
- some tape
- a marker pen
The hardware assembly
Solder the pin headers to the card reader and attach the jumper cables. Note the colors of the jumper cables, as we'll connect it to the Pi next.

It's a bit fiddly to connect the cables to the Pi. Here is how the end result looks like.


Note: If you have different version of the Pi, please adjust the jumper cables connections on the Pi side according to your pinout diagram.
That was the hard part.
Next, just connect the JBL speaker with AUX and USB cable to the Pi, to get sound and power.
Here is how it looks like assembled, lots of wires:

Installing the OS + PhonieBox software
Here, I would direct you to the official PhonieBox installation docs. It guides you through formatting the SD card, setting up SSH access and so on. There are some specifics, so read the fine print as well.
Your installation choices will vary based on your Pi version and network setup. I have not set up any WiFi or WiFi AP, since the Pi 1 does not have any WiFi capabilities built-in. Instead, I'm using a good old Ethernet cable to connect to the Pi when I need to.
On the Raspberry Pi 1 the installation took a long time, I think around an hour or so.
If you've botched something during installation, just delete the ~/RPi-Jukebox-RFID folder and try again.
Worked for me.
Uploading your music
When I want to add some music to the jukebox, I take it out of its box and connect it with an Ethernet cable.
Then I can copy the files over with rsync and manage it via its WebUI accessible on its LAN IP.
Here is the command to copy over everything in episodes folder to the zverinice folder on the Pi:
# replace <username> and <IP> with your username and IP of the jukebox
rsync -avz --progress episodes/ <username>@<IP>:~/RPi-Jukebox-RFID/shared/audiofolders/zverinice/
I had a bit of trouble finding where to upload the files to.
You can create music folders at ~/RPi-Jukebox-RFID/shared/audiofolders/ and playlists go to ~/RPi-Jukebox-RFID/shared/playlists/.
It's always a fun family activity when we add new files to the jukebox. My wife is responsible for putting the cards into sleeves together with the name and a drawing of the music/episode and sealing them, then my kid is responsible for booping the cards on the card reader, so that I can pair it to the correct music/episode on the PhonieBox WebUI.
When using the WebUI on an under-powered device like the Raspberry Pi 1, give it some time and be patient.
This can be especially visible when listing the files in the audiofolders folder.
The first load takes time, but after that, subsequent requests are much faster.
The playback on the Pi 1 is instant, so overall I don't regret using the old Pi.
Putting it into a nice box
When we were building it this year in August, I didn't know if this is something that my kid is going to use or not, so we just took a simple box and put everything in there. I've then asked my kid to paint it as he wants, all I did was add the indication of where to press the cards.
Here is the final result:




Next steps
You'll notice that our version of the PhonieBox has no buttons. Not all PhonieBoxes are built the same. Check out the Calendar section on the project page. There is a huge variety of them.
I first wanted to build a super simple version, to see if it works, how well it works, how much usage it will get and so on.
That said, our version is not so bad either. The JBL speaker has built-in buttons for volume control; though I was sad that the play/pause button is not getting picked up on the Pi. Still, nothing an extra RFID card can't fix. We also have cards for Previous and Next song, Shuffle, Stop and so on, but they are rarely used.
I also bought a rotary encoder for volume control and I have some mechanical keyboard switches lying around that I can use for buttons, so that will probably happen once I decide to create a better box for it.
Conclusion
There are lots of nicer jukeboxes out there, but this one is completely ours! We built it and we're proud of it.
It works completely offline, does not track us, has no ads and we have 100% control over what we can or can't listen to on it. Building it was so much fun and took us less than one afternoon. My kid was very engaged in the process and helped me throughout.
Thanks to the great PhonieBox software that makes this possible.