

Sonibox
Music box
- Size
- 100 × 110 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 24
- Nets
- 66
- Pads
- 148
- Tracks, vias
- 75, 7
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 23 Jun 2024
- Updated
- 21 Feb 2026
Overview
Sonibox is an open-source printed circuit board by trappitsch, from the trappitsch/sonibox repository on GitHub, published under the MIT licence. It is a 2-layer board of 100 × 110 mm with 24 parts on 66 nets, routed with 75 tracks and 7 vias.
It is built around the DFR0299. Its parts include 7 connectors, 6 resistors, 1 IC and 1 diode. It belongs with the RP2040 boards of this library.
Main components
1README
README.mdsonibox
A music box. Plays music from a specific folder when an RFID tag is placed on the reader. If you want to build this, e.g., for your kid, I highly recommend to add more than 5 songs to any given playlist... or add more later ;)

Approximate BOM, but you can use similar parts, vary as needed!
- Raspberry Pi Pico 2040
- An MFRC522 RFID reader, e.g., this one
- DFRobot Mini MP3 player and a microSD card with music
- Speaker
- Battery pack with charging circuit
- Three triangle buttons
- USB C panel mount to charge battery from outside
- Panel mount push button soldered to battery On/Off switch for external control
- Standoffs, screws, heat inserts, wires.
- PCB (see
pcbfolder) - Laser cut enclosure (see
enclosurefolder)
PCB
The PCB is designed in KiCad, see the pcb folder.
Production files for JLCPCB are in the pcb/jlcpcb folder.
Assembly needs to be done by hand using through-hole components.
For the connectors you can use any 2.54mm pitch pin headers or similar sized Molex connectors (as a nice alternative).
Enclosure
An outline of the enclosure is shown in the enclosure folder.
This is designed for 3mm acrylic.
Many boxes are possible, this is just one example I liked.
Check out this site for more ideas!
Firmware
The firmware is written in Rust and uses embassy as the async executor. After 5 min of inactivity, the box will stop polling the RFID reader to save power, however, the current version does not put the MP3 player or the power button LED (if present) to sleep. A future version could however do that! However, using a beefy battery helps a lot even with these shortcomings.
A shout out to 1-rafael-1, the maintainer of the dfplayer-async crate. Also a big thank you to the embassy team for this amazing tool and for fostering a very friendly and helpful community!
Todo
- Add a watchdog to reset the Pico if some task gets stuck
- Add functionality to really put all power drawing components to sleep after inactivity (requires hardware mods)
- Add some better LED animations when the music plays. Something random?
License
This project is licensed under the MIT License - see the LICENSE file for details.
Parts
24| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole | MountingHole:MountingHole_3mm | H5, H6, H7, H8 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R3, R5 |
| 3 | 22112022 | Snapeda:CONN_A-6373-02A_MOL | J2, J6, J7 |
| 3 | 22112042 | Snapeda:CONN_A-6373-04A_MOL | J3, J4, J5 |
| 3 | 500 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2, R4, R6 |
| 1 | 1N5817 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1 |
| 1 | DFR0299 | Snapeda:MODULE_DFR0299 | U1 |
| 1 | RFID Reader | Snapeda:SAMTEC_TS-108-X-A-1 | J1 |
| 1 | RaspberryPi_Pico | Module:RaspberryPi_Pico_Common_Unspecified | A1 |
Questions
How big is the Sonibox PCB?
It measures 100 × 110 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Sonibox use?
24 parts, built around the DFR0299. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Sonibox KiCad files?
From the trappitsch/sonibox repository on GitHub, at the commit this page was made from: the board is pcb/sonibox.kicad_pcb and its schematic pcb/sonibox.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Sonibox design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers104.7 × 135.6 mm

- 2 layers145.4 × 70 mm

- 2 layers48.2 × 28.3 mm

- 2 layers210 × 140 mm

- 2 layers9 × 25 mm

ModularPowerSupply
Animal-Crate/Animal-Crate
This is a public repository for the Animal Crate project. Please review the README for more information.
35 parts2AGPL-3.0 - 2 layers99.1 × 99.1 mm

Bs base
MelexinVN/bs_kombo_bs
Электронная беспроводная система для проведения интеллектуальных игр на микроконтроллерах stm32 и радиомодулях nrf24l01+.
30 parts2GPL-3.0 - 2 layers25 × 100 mm

Lightsaber
BamdadKh/ArduinoLightsaber
A lightsaber prop built around an Arduino Nano on a custom PCB. It has a 144-LED blade, sound from a DFPlayer Mini, swing detection with an MPU-6050, a small OLED and two buttons. I built it for a Halloween costume.
15 parts1MIT - 2 layers127 × 83.5 mm

Audiostation
janikkaden/self-sufficient-audio-station
A solar-powered, self-sufficient audio station for outdoor exhibitions — ESP32 + DFPlayer, wakes from deep sleep on a button press and plays info tracks in three languages plus music.
28 parts1GPL-3.0