DevBriX
Consumer Electronics · Audio

Jellyfish Music Toy

Built a playful embedded audio device where children press physical buttons to play songs, adjust volume, and trigger colorful LED effects without needing a screen or app.

Jellyfish Music Toy

Overview

Jellyfish is a child-friendly music toy with eight-button control, MP3 playback from SD card, song-synchronized RGB lighting, USB-C song updates, and deep-sleep battery behavior.

Highlights

  • Eight-button, screen-free interaction
  • Song-synced seven-color LED ring
  • USB-C drag-and-drop MP3 updates
  • Deep sleep with button wake-up

Challenges

  • Allow song updates over USB without corrupting the SD card.
  • Prevent simultaneous access when the PC and ESP32 both need the same storage.
  • Make USB mode deliberate so a child cannot trigger it accidentally.
  • Keep audio, buttons, LEDs, and power states reliable in a simple toy UX.

Solutions

  • Gated USB mass-storage mode behind a two-second POWER hold.
  • Used mount and unmount callbacks to hand SD card ownership safely between PC and firmware.
  • Kept a persistent audio pipeline for responsive playback after wake.
  • Implemented deep sleep so the toy consumes minimal power when idle.

Features

  • Button-only play/pause, song select, and volume control
  • MP3 storage on SD card
  • USB-C update workflow
  • Song-color mapping
  • Deep-sleep idle mode

Key Results

  • Created a simple no-app toy experience for children and parents.
  • Reduced accidental USB-mode entry while keeping updates easy for adults.
  • Delivered hardware and firmware as one integrated product.

Jellyfish is a child-friendly music toy with eight-button control, MP3 playback from SD card, song-synchronized RGB lighting, USB-C song updates, and deep-sleep battery behavior.

Gated USB mass-storage mode behind a two-second POWER hold.

Used mount and unmount callbacks to hand SD card ownership safely between PC and firmware.

Created a simple no-app toy experience for children and parents.