This is a simple MP3 player and FM radio for kids. Playback functions can be controlled via the knobs while more complex features can be controlled from the player's web interface. These are the features in a nutshell:
The player has the following controls: Control knob (1) and Volume knob (2). Other elements are: LED strip (3), USB-C port for charging and headphone jack from the side (4), speaker (5) and microphone (6).
Knobs can be rotated left or right. Each knob is also a button. The button can be pressed for a short time (press), or for a long time (approximately 1.5 seconds, long press). When attempting a long press the LED strip shows the necessary press duration. Both knobs can be pressed simultaneously (double long press).
Displays the visualizations and notifications. Upon start shows the battery level in red. When applicable, the strip also shows notifications as blinking edge LEDs:
  • red for low battery
  • blue for active WiFi connection to preset network
  • cyan for active WiFi access point (the player creates its own network)
  • green for charging
  • yellow for active lights settings mode or waiting telegram message
Press either control (1) or volume (2) knob for approximately 2 seconds, until the LED strip flashes white to power the player on. Afterwards battery level will be displayed in red and the last music mode (mp3, radio, disco) will start playback. The player turns itself off automatically after 5 minutes when idle, or 30 minutes when playing music.
The player operates in 5 distinct modes, summarized below:
Playback of MP3 files stored in memory. Up to 8 playlists with 1000 songs each are supported.
Plays FM radio. Stations can be selected form a predefined list, or manually tuned.
Sound can be recorded and then played back on a disco music background for a karaoke effect.
MP3 or radio playback continues, but the control determines the effect to be shown in the LED strip and its color.
Connects to a predefined WiFi network, or starts its own so that the Web UI for advanced settings can be used and turns on the walkie talkie mode. The walkie talkie mode allows recording short audio messages and sending them to other players/phones via Telegram.
Details for each mode are described in the appropriate Web UI settings. The table below then summarizes the effect of various controls in the modes:
Action MP3 Mode Radio Mode Disco Mode Lights Mode Walkie-Talkie Mode
Control Turn Selects track within playlist Manual radio tuning Selects lights color Selects received message to play
Control Press Cycles through playlists Cycles through preset stations Plays/Stops the recorded disco. Cycles through lights effect Plays/stops received messages
Control Long Press Moves to next music mode (MP3,Radio,Disco) Returns to last music mode.
Volume Turn Sets volume
Volume Press Play/Pause Starts recording when pressed, stops recording and sends/replays when released
Volume Long Press Enters the lights settings mode. Returns to the previous music mode
Double Long Press Turns on the WiFi and starts the web UI. Enters walkie-talkie mode. Turns off the WiFi and returns to the previous music mode.

Troubleshooting

To hard reseit the player, unscrew the back lid, disconnect or remove the battery and wipe the SD card clean. After powering the player on, it will detect an empty SD card and will create all necessary files with default contents.

The MP3, Radio and Lights modes are reasonably tested and should work flawlessly. The walkie-talkie and disco modes have so far received only limited testing and there can be rough edges.

Sources

All source code and hardware design are released under the MIT license and are available from GitHub. The repository contains also additional information about the workings of the player and building instructions.