As the father of a 4-year-old girl, I kept hearing the same request:“Hey Dad, can you play Elsa?” Or any other Disney song — usually via my smartphone or the Google Nest Hub.
Now, I wasn’t annoyed by the question itself — I love that she enjoys music. What bothered me was the fact that she had no way to do it on her own. Sure, there are commercial solutions with fancy figurines, but they’re expensive, locked into limited song libraries, and not very flexible.CDs and cassettes? Nostalgic, yes — but not exactly practical these days.
That’s when the idea started to take shape.I had just received a Raspberry Pi 4 for my birthday, and with three weeks of vacation ahead of me, I thought: Why not build a music player that she can use all by herself?
And so, Roomie was born.
OK so what is it?So to clarify some namings, Roomie is the music player and comes with additional wooden NFC chips.
Each music chip is a 35 mm wooden "sandwich": two wooden discs glued together with an NFC tag (NTAG) embedded in between. Inside the chip, I've also added two small 2 mm magnets placed on opposite sides. These magnets are used for song skipping detection.
Roomie reads the NFC tag via an NFC reader connected to the Pi. The tag’s unique ID is matched to a Spotify URI, which is stored in a local MariaDB SQL database. Once matched, the Raspberry Pi uses Raspotify to stream the music directly — thanks to a HiFi DAC HAT and an integrated speaker.
And here's the clever bit: if the child rotates the chip while it’s in Roomie, two Hall sensors detect the direction of the magnets — triggering either the next or previous song depending on the rotation.
Comments