Skip to the content
PCBKitNew board
4 layers52 × 115.7 mmMp3-player, the printed circuit board in 3D

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

12

README

README.md
render

{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

pcbcad

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.

firmware

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-sdk
    • PICO_TOOLCHAIN_PATH -> path to an arm-none-eabi toolchain (Applications/ArmGNUToolchain/15.2.rel1/arm-none-eabi/bin on 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.


readme-pic0 readme-pic1 readme-pic2 readme-pic3 readme-pic4

Parts

143
QtyValueFootprintReferences
2510kResistor_SMD:R_0402_1005MetricR10, R11, R12, R17, R18, R22, R25, R27, R28, R29, R31, R35, R39, R40, R41, R42 +9
22100nfCapacitor_SMD:C_0402_1005MetricC4, C10, C11, C12, C13, C14, C15, C16, C19, C22, C27, C32, C43, C44, C46, C47 +6
710ufCapacitor_SMD:C_0603_1608MetricC26, C31, C33, C37, C38, C49, C50
733Resistor_SMD:R_0402_1005MetricR1, R32, R33, R38, R48, R49, R50
51ufCapacitor_SMD:C_0402_1005MetricC24, C25, C29, C42, C55
5SW_Pusheasyeda2kicad:SW-SMD_4P-L6.2-W6.2-P4.00-LS6.8SW3, SW4, SW5, SW8, SW9
44.7uCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C5
44.7ufCapacitor_SMD:C_0603_1608MetricC28, C30, C41, C53
3100kResistor_SMD:R_0402_1005MetricR19, R26, R30
31kResistor_SMD:R_0402_1005MetricR4, R6, R16
32.2ufCapacitor_SMD:C_0402_1005MetricC23, C45, C48
322ufCapacitor_SMD:C_0603_1608MetricC34, C35, C36
3BSS138Package_TO_SOT_SMD:SOT-23Q2, Q3, Q4
3EVQPUL02KEVQPUL02K:KEY-SMD_4P-L4.7-W3.5-P1.70-LS6.4-EHSW1, SW7, SW10
210ufCapacitor_SMD:C_0805_2012MetricC52, C57
215pCapacitor_SMD:C_0402_1005MetricC20, C21
22.2nfCapacitor_SMD:C_0805_2012MetricC39, C40
227Resistor_SMD:R_0402_1005MetricR2, R3
24.7kResistor_SMD:R_0402_1005MetricR36, R37
2470Resistor_SMD:R_0603_1608MetricR23, R24
25.1kResistor_SMD:R_0402_1005MetricR13, R14
2D_SchottkyDiode_SMD:D_SOD-123D2, D3
11.5uhInductor_SMD:L_Sunlord_MWSA0402SL2
110uhInductor_SMD:L_TechFuse_SL0420L3
1150kResistor_SMD:R_0603_1608MetricR21
1200nfCapacitor_SMD:C_0402_1005MetricC54
13.3ueasyeda2kicad:IND-SMD_L2.0-W1.6_AOTA-B201610S3R3-101-TL1
1330Resistor_SMD:R_0402_1005MetricR51
1470kResistor_SMD:R_0603_1608MetricR20
16.8Resistor_SMD:R_0603_1608MetricR34
1820Resistor_SMD:R_0603_1608MetricR15
1ABM8-272-T3_C20625731easyeda2kicad:CRYSTAL-SMD_4P-L3.2-W2.5-BLU1
1APS6404L-SQRx-ZRPackage_SON:Winbond_USON-8-1EP_3x2mm_P0.5mm_EP0.2x1.6mmU4
1AudioJack3_Ground_SwitchTReasyeda2kicad:AUDIO-SMD_PJ-342-141J7
1BQ24075RGTPackage_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mmU8
1Conn_01x02Connector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ5
1Conn_01x05misc:test_padsJ3
1Conn_01x42easyeda2kicad:FPC-SMD_AFC07-S40FCC00J6
1FSC-BT1114QIfeasycom:FSC-BT1114QIU2
1LEDLED_SMD:LED_0603_1608MetricD4
1LP5907MFX-3.3Package_TO_SOT_SMD:SOT-23-5U10
1MAX17048G_T10misc:SON50P200X200X80-9NU9
1MBR0540T1GDiode_SMD:D_SOD-123D1
1PCM5102APackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU5
1RP2350BPackage_DFN_QFN:QFN-80-1EP_10x10mm_P0.4mm_EP3.4x3.4mmU6
1SD_Card_Receptacleeasyeda2kicad:SD-SMD_SD-006MJ1
1TCA9555RTWRPackage_DFN_QFN:WQFN-24-1EP_4x4mm_P0.5mm_EP2.45x2.45mmU12
1TPS61165DRVPackage_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mmU11
1TPS63070RNMRmisc:VREG_TPS63070RNMRU7
1TS-1088-AR02016easyeda2kicad:SW-SMD_L3.9-W3.0-P4.45SW11
1USB_C_Receptacle_USB2.0_16Peasyeda2kicad:USB-C-SMD_GT-USB-7047CJ2
1W25Q128JVEPackage_SON:WSON-8-1EP_8x6mm_P1.27mm_EP3.4x4.3mmU3

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 mmBottom board palmtop, the printed circuit board in 3D

    Bottom board palmtop

    ZeroPhone/Snowdive-PCB

    ZeroPhoneNext PCBs

    407 parts2CERN-OHL-S-2.0
  • 2 layers60.6 × 24.1 mmBlep audio, the printed circuit board in 3D

    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 mmCarradio peripheral rev05, the printed circuit board in 3D

    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 mmAudioPicoBare, the printed circuit board in 3D

    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 mmControlCardRP, the printed circuit board in 3D

    ControlCardRP

    abinash18/KBUltra

    The ultimate custom keyboard (for me).

    153 partsGPL-3.0
  • 4 layersOpen motion light, the printed circuit board in 3D

    Open motion light

    ademuri/open-motion-light

    Open-source motion sensor light

    99 parts2Apache-2.0
  • 4 layers79.4 × 119.4 mmPokeboy hw, the printed circuit board in 3D

    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 mmGrow light, the printed circuit board in 3D

    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