Kids player (with RFID control)

Hi there. My name is David, I am living in Germany and I would like to present my first Volumio project: a Kids player with RFID control.
There are already some open-source projects (e.g. Phoenibox or Tonuino) and commercial products (e.g. Hoerbert or Tonies) out there trying to enable a smooth interaction between a child and its media player. If the child cannot read, the interaction must work using colors (buttons), images or voices/tones. RFID tags in combination with pictures are an easy way to give your child full control of the player. This solution is chosen by Phoenibox, Tonuino and Tonies. I decided to do the same but using volumio as software platform. This is how it looks.

Housing

Front:


Back:


Hardware

I am using the following hardware components:

  1. RaspberryPi Zero
  2. Hifiberry Miniamp
  3. RFID Reader
  4. RGB LED
  5. Rotary encoder
  6. Speaker
  7. Small breadboard
  8. Colorful arcade buttons

Wiring

The Raspberry Pi pinout was taken from the official Raspberry Pi website.

Power consumption

At the moment the whole setup is powered with a 5V cellphone charger or a power bar. The current drain is approx. 0.3A (1.5 Watts). I would like to integrate the power bar (batteries) into the housing of the player in the future.

Software

I am using the following software:

  1. Volumio 2.834
  2. Volumio plugins
    2.1 GPIO Buttons 0.8.1
    2.2 Rotary encoder 1.2.2
    2.3 Spotify 2.0.2
    2.4 Podcast 0.3.0
    2.5 Volumio Spotify Connect2 1.0.5
    2.6 NFC Reader 0.2.6 Source

Software adaptions

I had to adapt the NFC reader plugin to get it running on my system. I will publish the source code on my GitHub account.
I also added one line of code in the GPIO buttons plugin to get it working with the Volumio Spotify Connect2 plugin.

Features

  • The GPIO Buttons plugin is reacting on the arcade buttons on the top (play, forward, backward).
  • The rotary encoder KY-040 is controlled by the rotary encoder plugin. I am using the built-in switch to mute the player and holding the switch for more than a second to shut down the system.
  • Using the NFC reader plugin you can program different playlists to different RFID tags. If you move the card close to the player, the linked playlist will be started. This works with Spotify tracks as well as web radio stations (I have a web radio station playlist, that can be played with a RFID tag and afterwards you can choose the station with the forward/backward buttons).
  • My kids are using the RFID cards to start their favorite music, radio play or audio book. This works quite well.

Further development

  • The boot-up time is very long. No child would accept such a long boot-up time. If anybody knows how this can be improved, I would be happy to hear about it.
  • I would like to start a podcast using the RFID method (Somehow the episodes of one podcast must be in a playlist).
  • The RGB LED is not yet working (it is just shining blue light). Is there already a plugin capable of controlling a LED based on the ws281x chipset? If not I plan to write a new plugin using the rpi-ws281x-v2 npm module.
1 Like

Happy New Year! Very nice project.

Everything expertly worked and documented. I think also for children very well operable and ergonomically designed!

I am interested in your settings on the GPIO Buttons plugin. Could you upload a screenshot of it?

Hi @beu-ys.

Thank you. I wish you also a happy new year. Here is a screenshot of the settings:

1 Like

Love this project. You mentioned that you made adaptions to the NFC reader plugin and I was wondering what changes you made and where you published the source code.

Hi @Dunsun,

So I am actually not sure if the adaptions were actually needed or not. My node experience is quite limited and I am learning the trial and error way (with a decreasing failure rate). Anyway the changes I made worked for me. It is mainly updating the node module mfrc522-rpi to a newer version. My changes are published here: GitHub - chasquiwan/volumio-plugins .
So the original code came from @mrsimpson : GitHub - mrsimpson/volumio-plugins: NFC reader for volumio . He also has a nice description of his project: GitHub - mrsimpson/jukepi: Scripts for a Pi-Based jukebox

David

1 Like

Hi @chasquiwan
I’m very interested in your solution. But instead of a NFC reader I have only an USB RFID reader (125khz). Is there a way to use your solution with that one too? Is your solution able to play local mp3 playlists as well?

Thanks in advance for your answer

Tobi from Switzerland

I didn’t notice this post the first time round, but I am really impressed with the idea. Well done! In terms of speeding things up, I would think you really should think about using a RPi (2/)3/4. I love RPi0s, but you must recognise their limitations.

Hi Tobi,
The plugin that I am using in my player is designed for this specific RFID reader. Adapting the software of the plugin for your USB reader might be possible, but it is hard to say how complicated this would be. You can play anything that can be put into a volumio playlist: I am mainly using it for local media (mp3), spotify playlists (using the spotify plugin) and radio stations.

Cheers, David

Hi @chsims1,

Thanks for the feedback. I guess using a RPI 3/4 would already be better in terms of startup time, but my son is getting used to wait for the green light. The RPI 0 is the best choice in terms of power consumption (for battery powered solutions).

Cheers, David

yep definitely … swings & roundabouts (appropriate for a “Kids player” :wink: ).

Hi there,

This is a great project! Nice work! I’ve built a couple of Phonieboxes and am very interested in getting a similar finctionality but using Volumio - is there a way you’ve encountered to playback individual albums stored locally? The solutions I’ve seen seem to only work with Spotify links or playlists - I’d love to have something that played albums stored on a local hard drive.

Hi @mistersunshine ,

My solution is to generate a playlist for every album I would like to link to a card.

Cheers, David

UPDATE: I had to update my Volumio firmware due to this issue (Spotify plugin was not working anymore). I am now using volumio system version 2.917 . I also updated to the Spotify plugin to version 2.0.3. All plugins seems to work with the new system version.