Skip to the content
2 layers76 × 53 mmMp3 player pcb v1, the printed circuit board in 3D

Mp3 player pcb v1

marian-millan/mp3_player1

A retro-inspired hardware MP3 player built from scratch. Features KiCad schematics, PCB layouts, and 3D models for a physical-media-inspired music experience.

Size
76 × 53 mm
Copper layers
2
Thickness
1.6 mm
Parts
55
Nets
66
Pads
203
Tracks, vias
384, 55
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
13 Jul 2026
Updated
30 Jul 2026

Overview

Mp3 player pcb v1 is an open-source printed circuit board by marian-millan, from the marian-millan/mp3_player repository on GitHub. It is a 2-layer board of 76 × 53 mm with 55 parts on 66 nets, routed with 384 tracks and 55 vias.

It is built around the ATMEGA328P-AU, DFR0299 and DW01A, with the TP4056-42-ESOP8 and FS8205A among its other parts. Its parts include 16 resistors, 13 capacitors, 6 ICs, 5 connectors and 4 switches. It belongs with the retro computing and games boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

Portable MP3 Player

A custom, distraction-free music player inspired by retro physical media

KiCad 9 · Arduino · DFPlayer Mini · SSD1306 OLED

Overview

We love music, but wanted a way to listen without constantly reaching for a phone and getting distracted. Inspired by the tactile feel of retro physical media, we set out to build a dedicated hardware MP3 player.

This repository contains versioned hardware designs, assembled-board models, and Arduino firmware. The player combines physical transport controls and a rotary volume encoder with a compact OLED interface.

Features

  • Standalone MP3 playback through a DFRobot DFPlayer Mini
  • 128 × 64 SSD1306 OLED interface
  • Previous, play/pause, and next track buttons
  • Rotary encoder volume control
  • Custom KiCad schematic and two-layer PCB layout
  • STEP model of the assembled board

Repository Layout

PathContents
versions/v1/firmwareVersion 1 Arduino firmware
versions/v1/hardware/mp3_player_schematic_v1.kicad_schVersion 1 KiCad schematic
versions/v1/hardware/mp3_player_pcb_v1.kicad_pcbVersion 1 KiCad PCB layout
versions/v1/hardware/mp3_player_assembly_v1.stepVersion 1 assembled-board model
versions/v2Version 2 placeholder—in development
text
versions/
├── v1/
│   ├── firmware/
│   │   └── mp3_player_v1/
│   │       └── mp3_player_v1.ino
│   └── hardware/
│       ├── mp3_player_assembly_v1.step
│       ├── mp3_player_pcb_v1.kicad_pcb
│       └── mp3_player_schematic_v1.kicad_sch
└── v2/
    └── README.md

Versioning Convention

Each release keeps its firmware and hardware together under versions/v<release>. Project artifacts follow the descriptive_name_v<release>.<extension> naming pattern.

New iterations should be added as sibling directories rather than overwriting earlier versions. Arduino sketches are kept in matching directories because the Arduino IDE expects a sketch and its containing directory to share a name.

Firmware

Requirements

  • Arduino IDE or Arduino CLI
  • An Arduino-compatible board configured for the project hardware
  • DFRobotDFPlayerMini
  • U8g2

SoftwareSerial, SPI, and Wire are supplied by the Arduino platform.

Pin Map

FunctionPin
Previous track buttonD2
Play/pause buttonD3
Next track buttonD4
Rotary encoder AD8
Rotary encoder BD9
DFPlayer serialD10 / D11
OLED displayHardware I²C

The buttons use the microcontroller's internal pull-up resistors and are active low. Playback actions occur when a button is released.

Upload

  1. Install the DFRobotDFPlayerMini and U8g2 libraries with the Arduino Library Manager.
  2. Open versions/v1/firmware/mp3_player_v1/mp3_player_v1.ino.
  3. Select the correct board and serial port.
  4. Compile and upload the sketch.
  5. Insert a prepared microSD card into the DFPlayer Mini and power the player.

On startup, the firmware initializes the display, sets the volume to 20, and starts the first track. The current interface labels tracks as trackNNN.mp3 using the file number reported by the DFPlayer.

Current Status

Version 1 includes the complete design sources and an initial working firmware implementation. The firmware currently focuses on core playback, volume control, and a minimal track-number interface; metadata browsing and richer error reporting are not yet implemented.

Version 2 is currently in development. Its directory is reserved, but no hardware or firmware artifacts have been published yet.

Parts

55
QtyValueFootprintReferences
610kResistor_SMD:R_0603_1608MetricR1, R3, R7, R8, R13, R17
4, , ,
4100nFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C5
30.1uFCapacitor_SMD:C_0603_1608MetricC13, C14, C15
21kResistor_SMD:R_0603_1608MetricR5, R12
222pFCapacitor_SMD:C_0603_1608MetricC11, C12
222uFCapacitor_SMD:C_0603_1608MetricC4, C9
2330ohmResistor_SMD:R_0603_1608MetricR4, R9
25.1kResistor_SMD:R_0603_1608MetricR10, R11
2SW_Pushmp3:pushbuttonSW2, SW3
11.2kResistor_SMD:R_0603_1608MetricR6
1100kResistor_SMD:R_0603_1608MetricR15
1100ohmResistor_SMD:R_0603_1608MetricR2
1100uFCapacitor_SMD:C_0603_1608MetricC6
116MHzmp3:XTAL_X49SM_S2_YXCY1
12.2uFCapacitor_SMD:C_0603_1608MetricC8
12.2uHmp3:IND-SMD_L4.9-W4.5L1
1732kResistor_SMD:R_0603_1608MetricR16
1ATMEGA328P-AUmp3:ATPMEGA328PU1
1Bat_JST_connConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ2
1Conn_01x05_Pinmp3:rotary_encoder_socket_padsJ1
1Conn_01x05_PinConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ4
1DFR0299mp3:MODULE_DFR0299U4
1DM-OLED096-636mp3:OLED_screenU6
1DW01APackage_TO_SOT_SMD:SOT-23-6U5
1FS8205Amp3:FS2805Q1
1PJ-320D-Amp3:HRO_PJ-320D-AJ7
1Polyfuse_SmallFuse:Fuse_0805_2012MetricF1
1SB120Diode_SMD:D_0805_2012MetricD4
1SW_PushButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW1
1SW_SPDTmp3:SW-SMD_MST-12D18G4-SPDT-SLIDE-SWITCHSW4
1TP4056-42-ESOP8Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalViasU3
1TPS61023DRLRmp3:TPS61023DRLRU2
1TYPE-C 6Pmp3:CONN_TYPE-C-6P_SHNJ3
1greenLED_SMD:LED_0805_2012MetricD1
1yellowLED_SMD:LED_0805_2012MetricD2

Similar boards

  • 2 layers69.1 × 56.6 mmDFPLAYER PCB, the printed circuit board in 3D

    DFPLAYER PCB

    Erolctk/ATmega328P-DFPlayer-PCB

    Custom DFPlayer Mini PCB designed with KiCad.

    62 parts
  • 2 layers214 × 174 mmSoundBoxSTM32, the printed circuit board in 3D

    SoundBoxSTM32

    DominikNeugebauer/PCB

    All of my pcb projects i have made so far

    145 parts
  • 2 layers52 × 43 mmMP3 Player, the printed circuit board in 3D

    MP3 Player

    hackclub/reflow

    A YSWS for the northern hemisphere's summer and the aussie's winter. Run by @pmnlla, with love and loads of carrots.

    46 parts2
  • 2 layers60 × 111.3 mmSilkscreen pcb, the printed circuit board in 3D

    Silkscreen pcb

    iandchasse/silkscreen-pcb

    Silkscreen: open-hardware ESP32-S3 e-paper reader mainboard (KiCad 9). Formerly the de-link hub.

    189 parts589CERN-OHL-S-2.0
  • 2 layers61 × 61 mmESP32 FC, the printed circuit board in 3D

    ESP32 FC

    MAATHES-THILAK-K/ESP32-S3_FLIGHT_CONTROLLER

    A custom-designed flight controller based on the ESP32-S3 module, built for compatibility with the esp-fc firmware and Betaflight-like configuration.

    69 parts7Apache-2.0
  • 2 layers51.1 × 95 mmTalk e, the printed circuit board in 3D

    Talk e

    milovanpms/talk-e

    📻 — A simple LoRa-based talkie-walkie built on ESP32, operating on the 433 MHz frequency band for long-range, low-power wireless communication.

    75 parts4
  • 2 layers80 × 34 mmDji fcc, the printed circuit board in 3D

    Dji fcc

    nikolaus018/dji-fcc-esp32

    ESP32-S3 firmware that switches a DJI N1 remote to FCC mode over USB (replaces the Android app)

    69 parts3MIT
  • 2 layers30 × 25 mmProject2, the printed circuit board in 3D

    Project2

    devKOff/pcb-lipo-power-management-system

    An integrated PCB power management system for single-cell Li-Po batteries featuring onboard charging, circuit protection, and a DC-DC boost converter with selectable 5V and 12V DC outputs.

    28 parts2

Questions

How big is the Mp3 player pcb v1 PCB?

It measures 76 × 53 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Mp3 player pcb v1 use?

55 parts, built around the ATMEGA328P-AU, DFR0299, DW01A and TP4056-42-ESOP8. 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 pcb v1 KiCad files?

From the marian-millan/mp3_player repository on GitHub, at the commit this page was made from: the board is versions/v1/hardware/mp3_player_pcb_v1.kicad_pcb and its schematic versions/v1/hardware/mp3_player_schematic_v1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Mp3 player pcb v1 design in my own project?

Its repository states no licence, so its author keeps all rights: ask marian-millan before reusing the design.