

Mp3-player
a minimalist open source pocket sized¹ mp3 player
- Size
- 52 × 115.7 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 143
- Nets
- 169
- Pads
- 639
- Tracks, vias
- 2,455, 273
- Pours
- 6
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 12 May 2026
- Updated
- 21 Sep 2026
Overview
Mp3-player is an open-source printed circuit board by espcaa, from the espcaa/mp3-player repository on GitHub. It is a 4-layer board of 52 × 115.7 mm with 143 parts on 169 nets, routed with 2,455 tracks and 273 vias.
It is built around the RP2350B, TPS63070RNMR and W25Q128JVEIQ, with the ABM8-272-T3, BQ24075RGT and FSC-BT1114QI among its other parts. Its parts include 55 capacitors, 51 resistors, 12 ICs, 9 switches and 6 connectors. It belongs with the RP2350 boards of this library.
Main components
12RP2350B
QFN-80-EP(10x10)48 Power-on reset (POR)、Watchdog reset、External pin reset (NRST)、Built-in general-purpose timer、Integrated LDO、True random number generator (TRNG)、Hardware ECC check、Independent watchdog (IWDG) QFN-80-EP(10x10) Microcontrollers (MCU/MPU/SOC) ROHSRaspberry PiMicrocontrollers (MCU/MPU/SOC)TPS63070RNMR
VQFN-15-HR(2.5x3)-40℃~+125℃@(TJ) 1 2.4MHz 2.5V~9V 2A 2V~16V 50uA Adjustable Buck-Boost Buck-Boost Built-in Yes VQFN-15-HR(2.5x3) DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersW25Q128JVEIQ
WSON-8-EP(6x8)-40℃~+85℃ 100,000 cycles 10uA 128Mbit 133MHz 2.7V~3.6V 20 Years Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection、Power lock protection SPI WSON-8-EP(6x8) NOR FLASH ROHSWinbondNAND FLASHABM8-272-T3
SMD3225-4P-40℃~+85℃ 10pF 12MHz 50Ω SMD crystal oscillator ±30ppm ±30ppm SMD3225-4P Crystals ROHSAbraconCrystalsBQ24075RGT
QFN-16-EP(3x3)-40℃~+125℃ 1.5A 4.2V 4.35V~6.4V 6.5uA Charging IC Lithium Battery Not supported Support QFN-16-EP(3x3) Battery Management ROHSTexas InstrumentsBattery ManagementFSC-BT1114QI
SMD,12x17mmSMD,12x17mm SMT ROHSeasycomUncategorisedLP5907MFX-3.3
SOT-23-5-40℃~+125℃@(Tj) 1 10uVrms 12uA 250mA 250mV@(250mA) 3.3V 5.5V 82dB@(1kHz) Fixed Positive Short Circuit Protection、Thermal shutdown、Enable control、Input under-voltage protection、Output discharge SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsPCM5102APW
TSSOP-20-25℃~+85℃ 1.8V~3.3V 2 32 384kHz 500uA 50MHz Audio Decoder Digital filtering、Power-down mode I2S TSSOP-20 ADCs/DACs - Special Purpose ROHSTexas InstrumentsADCs/DACs - Special PurposeTCA9555RTWR(UMW)
VQFN-24-EP(4x4)I/O ExpandersUMWTPS61165DRV
UncategorisedTexas InstrumentsBSS138
SOT-23-55℃~+150℃ 1 N-channel 1.1Ω@10V、1.2Ω@4.5V 1.2V 1.7nC@10V 17.5pF 340mA 350mW 50V 6.5pF N-Channel SOT-23 MOSFETs ROHShongjiachengMOSFETsEVQPUL02K
SMD-4P,4.7x4.5mm-20℃~+70℃ 1.65mm 1.6N 100,000 cycles 12V 4.5mm 4.7mm 50mA PC Pin Rectangular Button SPST Surface Mount, Right Angle SMD-4P,4.7x4.5mm Tactile Switches ROHSPanasonicTactile Switches
README
README.md
{BOM} - {JOURNAL} - {PCB} - {FIRMWARE} - {CAD}
mp3-player
A minimalist open source pocket sized¹ mp3 player
(¹ if your pocket is big enough to fit a 115mmx50mmx20mm brick)
Why did I even build this?
I bring my phone every time, everywhere I go. My main excuse is that I need it for music, but that's not usually what ends up happening... So I built this to have a dedicated music player that I could bring with me when I don't need a phone! (mainly high school or going for a walk)
I also wanted to learn how to design a more complex & integrated pcb!
If you find this cool, you should read the journal I kept while designing this!
Overview
Specs:
- mcu: rp2350b
- bluetooth module: fsc-BT1114QI
- dac: PCM5102A
- power: 505050 battery + BQ24075 power path ic
- pcb: 4 layer (signal, ground, power, signal) 115mmx50mm
- case: 3d printed
Features:
- full size sdcard slot
- 2.8 inch high definition color display (480x640, around 286 dpi)
- custom themes
- 3.5mm headphone jack
- bluetooth le + classic support
- modern and clean ui
Hardware

pcb & cad screenshots
The brain is a 4 layer hand routed pcb, designed to be compact & cheap to manufacture (jlcpcb 4 layers basic tolerances).
I first planned to use a nrf chip for the audio but finally moved to a feasycom module to support classic A2DP bluetooth audio (basically everything that is not recent/high end) because I realized my headphones were not le compatible (but now my new ones are!).
Full size sdcard support is because I wanted to be able to use my mac's sdcard reader to easily transfer new music + not lose super small micro sd cards.
I also originally wanted to make the case in transparent resin, but I ended up choosing 3d printing for multiple reasons:
- way cheaper
- faster to iterate on
- petg is way more shock resistant than resin
- faster to get a finished project
explore the board & schematics in your browser
Firmware
warning: this is a wip and some parts of the firmware have been ai generated to get a poc working quickly, but I plan to rewrite it very soon.
The firmware is written in c and uses the pico sdk. I also wrote a desktop simulator that allows you to test ui changes without reflashing all the time/having the device.
Building to run on device:
If you just need an already built uf2, you can just grab it from the releases page or directly from the actions tab (action runs on every commit inside src/firmware)
(You need cmake, a pico sdk, an arm-none-eabi toolchain, pico-extras installed)
- clone this repo
- export these env vars:
PICO_SDK_PATH-> path to pico-sdkPICO_TOOLCHAIN_PATH-> path to an arm-none-eabi toolchain (Applications/ArmGNUToolchain/15.2.rel1/arm-none-eabi/binon my laptop)PICO_EXTRAS_PATH-> path to pico-extras
- go to src/firmware/ & run
./build_pico.sh --clean - flash the uf2 via usb (hold BOOTSEL while plugging in the device, then drag the uf2 to the mounted drive)
Building to run on desktop:
(this allows you to run/test the same ui on your computer without flashing the device!)
(you need sdl2 installed)
- go to src/firmware/ & run
./run_emulator.sh --clean
License
Firmware is MIT, hardware is CERN-OHL-S, and the 3d files + docs are CC-BY-SA.
See LICENSE for details.

Parts
143| Qty | Value | Footprint | References |
|---|---|---|---|
| 25 | 10k | Resistor_SMD:R_0402_1005Metric | R10, R11, R12, R17, R18, R22, R25, R27, R28, R29, R31, R35, R39, R40, R41, R42 +9 |
| 22 | 100nf | Capacitor_SMD:C_0402_1005Metric | C4, C10, C11, C12, C13, C14, C15, C16, C19, C22, C27, C32, C43, C44, C46, C47 +6 |
| 7 | 10uf | Capacitor_SMD:C_0603_1608Metric | C26, C31, C33, C37, C38, C49, C50 |
| 7 | 33 | Resistor_SMD:R_0402_1005Metric | R1, R32, R33, R38, R48, R49, R50 |
| 5 | 1uf | Capacitor_SMD:C_0402_1005Metric | C24, C25, C29, C42, C55 |
| 5 | SW_Push | easyeda2kicad:SW-SMD_4P-L6.2-W6.2-P4.00-LS6.8 | SW3, SW4, SW5, SW8, SW9 |
| 4 | 4.7u | Capacitor_SMD:C_0402_1005Metric | C1, C2, C3, C5 |
| 4 | 4.7uf | Capacitor_SMD:C_0603_1608Metric | C28, C30, C41, C53 |
| 3 | 100k | Resistor_SMD:R_0402_1005Metric | R19, R26, R30 |
| 3 | 1k | Resistor_SMD:R_0402_1005Metric | R4, R6, R16 |
| 3 | 2.2uf | Capacitor_SMD:C_0402_1005Metric | C23, C45, C48 |
| 3 | 22uf | Capacitor_SMD:C_0603_1608Metric | C34, C35, C36 |
| 3 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q2, Q3, Q4 |
| 3 | EVQPUL02K | EVQPUL02K:KEY-SMD_4P-L4.7-W3.5-P1.70-LS6.4-EH | SW1, SW7, SW10 |
| 2 | 10uf | Capacitor_SMD:C_0805_2012Metric | C52, C57 |
| 2 | 15p | Capacitor_SMD:C_0402_1005Metric | C20, C21 |
| 2 | 2.2nf | Capacitor_SMD:C_0805_2012Metric | C39, C40 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R2, R3 |
| 2 | 4.7k | Resistor_SMD:R_0402_1005Metric | R36, R37 |
| 2 | 470 | Resistor_SMD:R_0603_1608Metric | R23, R24 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R13, R14 |
| 2 | D_Schottky | Diode_SMD:D_SOD-123 | D2, D3 |
| 1 | 1.5uh | Inductor_SMD:L_Sunlord_MWSA0402S | L2 |
| 1 | 10uh | Inductor_SMD:L_TechFuse_SL0420 | L3 |
| 1 | 150k | Resistor_SMD:R_0603_1608Metric | R21 |
| 1 | 200nf | Capacitor_SMD:C_0402_1005Metric | C54 |
| 1 | 3.3u | easyeda2kicad:IND-SMD_L2.0-W1.6_AOTA-B201610S3R3-101-T | L1 |
| 1 | 330 | Resistor_SMD:R_0402_1005Metric | R51 |
| 1 | 470k | Resistor_SMD:R_0603_1608Metric | R20 |
| 1 | 6.8 | Resistor_SMD:R_0603_1608Metric | R34 |
| 1 | 820 | Resistor_SMD:R_0603_1608Metric | R15 |
| 1 | ABM8-272-T3_C20625731 | easyeda2kicad:CRYSTAL-SMD_4P-L3.2-W2.5-BL | U1 |
| 1 | APS6404L-SQRx-ZR | Package_SON:Winbond_USON-8-1EP_3x2mm_P0.5mm_EP0.2x1.6mm | U4 |
| 1 | AudioJack3_Ground_SwitchTR | easyeda2kicad:AUDIO-SMD_PJ-342-141 | J7 |
| 1 | BQ24075RGT | Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mm | U8 |
| 1 | Conn_01x02 | Connector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_Horizontal | J5 |
| 1 | Conn_01x05 | misc:test_pads | J3 |
| 1 | Conn_01x42 | easyeda2kicad:FPC-SMD_AFC07-S40FCC00 | J6 |
| 1 | FSC-BT1114QI | feasycom:FSC-BT1114QI | U2 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D4 |
| 1 | LP5907MFX-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U10 |
| 1 | MAX17048G_T10 | misc:SON50P200X200X80-9N | U9 |
| 1 | MBR0540T1G | Diode_SMD:D_SOD-123 | D1 |
| 1 | PCM5102A | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U5 |
| 1 | RP2350B | Package_DFN_QFN:QFN-80-1EP_10x10mm_P0.4mm_EP3.4x3.4mm | U6 |
| 1 | SD_Card_Receptacle | easyeda2kicad:SD-SMD_SD-006M | J1 |
| 1 | TCA9555RTWR | Package_DFN_QFN:WQFN-24-1EP_4x4mm_P0.5mm_EP2.45x2.45mm | U12 |
| 1 | TPS61165DRV | Package_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mm | U11 |
| 1 | TPS63070RNMR | misc:VREG_TPS63070RNMR | U7 |
| 1 | TS-1088-AR02016 | easyeda2kicad:SW-SMD_L3.9-W3.0-P4.45 | SW11 |
| 1 | USB_C_Receptacle_USB2.0_16P | easyeda2kicad:USB-C-SMD_GT-USB-7047C | J2 |
| 1 | W25Q128JVE | Package_SON:WSON-8-1EP_8x6mm_P1.27mm_EP3.4x4.3mm | U3 |
Questions
How big is the Mp3-player PCB?
It measures 52 × 115.7 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Mp3-player use?
143 parts, built around the RP2350B, TPS63070RNMR, W25Q128JVEIQ and ABM8-272-T3. 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 Mp3-player KiCad files?
From the espcaa/mp3-player repository on GitHub, at the commit this page was made from: the board is src/kicad/mp3player.kicad_pcb and its schematic src/kicad/audio.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Mp3-player design in my own project?
Its repository states no licence, so its author keeps all rights: ask espcaa before reusing the design.
Similar boards
- 2 layers110 × 89 mm

- 2 layers60.6 × 24.1 mm

Blep audio
CRImier/MyKiCad
My KiCad boards. Can't be bothered uploading individually anymore, so here you go.
76 parts253GPL-3.0 - 4 layers100 × 100 mm

Carradio peripheral rev05
gschuurman/android_vendor_gschuurman_vehicle_interfaces
vehicle interfaces for android automotive for a custom headunit
211 parts - 4 layers132.8 × 75.8 mm

AudioPicoBare
elrir01/AudioPico
This board receive audio from a BT source like a phone and outputs via a DAC the audio. It's an old project of mine but I've decided to publish it just now, so the full description is not ready and will be updated in…
84 partsGPL-3.0 - 4 layers53.5 × 49.5 mm

- 4 layers

- 4 layers79.4 × 119.4 mm

Pokeboy hw
cameo-5958/pokeboy
Game Boy handheld with its own emulator and a Gen 1 Pokemon battle AI that runs on the device
111 partsMIT - 4 layers50 × 50 mm

Grow light
GeoffreyKassis/led_grow_light
USB-C PD grow light in two assemblies: an FR-4 controller (MAINBOARD/) and a one-layer aluminum LED panel (LEDBOARD/), joined by an 8-wire 2×4 IDC harness.
73 parts