Skip to the content
4 layers46.2 × 89 mmProjekt 1, the printed circuit board in 3D

Lol im just bored and building a selfmade Mp3 player

Size
46.2 × 89 mm
Copper layers
4
Thickness
1.6 mm
Parts
67
Nets
250
Pads
475
Tracks, vias
748, 148
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Aug 2026
Updated
7 Nov 2026

Overview

Projekt 1 is an open-source printed circuit board by Pertifiatus, from the Pertifiatus/MP3-Player repository on GitHub. It is a 4-layer board of 46.2 × 89 mm with 67 parts on 250 nets, routed with 748 tracks and 148 vias.

Its parts include 25 capacitors, 16 resistors, 7 diodes, 6 ICs and 2 connectors. It belongs with the Raspberry Pi (Linux) boards of this library.

README

README.md

MP3-Player

A compact DIY music player, smaller than an iPod Touch, built around a Raspberry Pi Compute Module 4 on a custom PCB. It syncs your YouTube Music library straight to the device, no home server needed.

Concept

  • Front: round GC9A01 display for menus and navigation
  • Back: monochrome SSD1306 OLED for music visualizations
  • Audio: mainly Bluetooth A2DP, plus a 3.5 mm headphone jack (ES8388 codec)
  • Controls: button box (SX1509 GPIO expander) + IMU (QMI8658A) for orientation and shake gestures
  • Power: Li-ion battery, USB-C charging (RT9466) with an 80% charge limit, fuel gauge (MAX17048), soft power button
  • Lighting: SK6812 status ring

Hardware

PartDetails
ComputeRaspberry Pi CM4 Lite Wireless (boots from microSD), on 2× Hirose mezzanine connectors
PowerTPS63020 buck-boost, RT9466 charger, MAX17048 fuel gauge
AudioES8388 codec over I2S
DisplaysGC9A01 (SPI0), SSD1306 (SPI4)
PCBsMain board + ButtonBox, designed in KiCad (KiCad/Projekt 1)
CaseFusion 360 (CAD/Player.f3z)

Software (Software/)

Python on Raspberry Pi OS, running as systemd services:

FilePurpose
main.pyMain UI loop (front display, buttons, IMU)
player.pyPlayback
sync_youtube.pyYouTube Music library sync
connectivity.pyWiFi / Bluetooth connections
ui_state.py, ui_render.pyUI state machine and rendering
ui_views.py, ui_common.pyScreen content as plain data, shared drawing helpers
themes/8 switchable designs (Einstellungen → Anzeige → Design): Klassik, Cybercore, Y2K, Glas, Neumorph, Bento, Pixelhaus, Cyberpunk
preview_themes.pyPreview sheet per design (previews/), --bench render timings
fonts/, assets/Bundled OFL fonts, Pixelhaus house image
buttonbox.py, qmi8658.py, es8388.py, max17048.py, rt9466.pyHardware drivers
charge_control.py, power_button.pyCharging logic and soft shutdown
led_control.py, led_service.pyStatus ring LEDs
setup_pi.sh, *.service, sdcard-boot-*Pi setup and boot configuration
test_*.pyTests

Status

Work in progress. Board 2 boots reliably; the software bring-up and debugging of battery operation are ongoing. Detailed notes on hardware, pinout, config.txt and lessons learned are in CLAUDE.md and Software/NOTES_FOR_PER.md.

Repository structure

text
CAD/        Fusion 360 case
KiCad/      Main board + ButtonBox (schematics, PCB, 3D models)
Software/   Python application, drivers, services, tests
docs/       Design specs and plans (status ring, quick connect, design themes)

Parts

67
QtyValueFootprintReferences
9100nFEasyEDA_Lib:C0402C2, C3, C7, C9, C11, C14, C16, C19, C23
6~EasyEDA_Lib:LED-SMD_4P-L3.2-W2.8-LS5.9_SK6812MINI-ELED1, LED2, LED3, LED4, LED5, LED6
310uFEasyEDA_Lib:C0402C13, C17, C25
32.2uFEasyEDA_Lib:C0402C1, C18, C20
322uFEasyEDA_Lib:C0402C4, C5, C6
34.7uFEasyEDA_Lib:C0402C21, C24, C26
35.1kΩEasyEDA_Lib:R0603R1, R10, R11
3~EasyEDA_Lib:CONN-TH_B8B-PH-K-S-LF-SN4PinfuerBoard1, RundesDisplay1, Visualizer1
20ΩEasyEDA_Lib:R0603R6, R7
2100kΩEasyEDA_Lib:R0603R13, R14
2100uFEasyEDA_Lib:C0805C8, C10
233ΩEasyEDA_Lib:R0603R2, R5
250kΩEasyEDA_Lib:R0603R15, R16
11.5uHEasyEDA_Lib:IND-SMD_L4.0-W4.0-AL1
11.6MΩEasyEDA_Lib:R0603R4
110ΩEasyEDA_Lib:R0603R8
1178ΩEasyEDA_Lib:R0603R9
1180kΩEasyEDA_Lib:R0603R3
11uFEasyEDA_Lib:C0603C12
11uHEasyEDA_Lib:L2520L2
1220ΩEasyEDA_Lib:R0603R12
147nFEasyEDA_Lib:C0402C15
1Boot ButtonConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1
1ComputeModule4-CM4Pertificatus:CONN-SMD_DF40HC-3.0-100DS-0.4V-51Module1
1SwitchConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ2
1~EasyEDA_Lib:LGA-14_L3.0-W2.5-P0.50-TLU5
1~EasyEDA_Lib:AUDIO-SMD_PJ-327C-4AAUDIO1
1~EasyEDA_Lib:QFN-28_L4.0-W4.0-P0.45-BL-EPU2
1~EasyEDA_Lib:TF-SMD_TF-PUSHCARD1
1~EasyEDA_Lib:SOT-23_L2.9-W1.3-P1.90-LS2.4-BRQ1
1~EasyEDA_Lib:WQFN-24_L4.0-W4.0-P0.50-TL-EP2.5U4
1~EasyEDA_Lib:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BRU6
1~EasyEDA_Lib:VSON-14_L4.0-W3.0-P0.50-BL-EP_TI_DSJU3
1~EasyEDA_Lib:TDFN-8_L2.0-W2.0-P0.50-BL-EP1.2U1
1~EasyEDA_Lib:USB-C_SMD-TYPE-C-31-M-12_1USBC1
1~EasyEDA_Lib:SOD-123F_L2.7-W1.6-LS3.8-RDD1
1~EasyEDA_Lib:CONN-TH_B2B-PH-K-SBattery1

More from Pertifiatus/MP3-Player

1
  • 2 layers42.3 × 13.8 mmButtonBox, the printed circuit board in 3D

    ButtonBox

    Pertifiatus/MP3-Player

    Lol im just bored and building a selfmade Mp3 player

    20 parts

Similar boards

  • 4 layers22 × 15 mmAmp cpw hmc311, the printed circuit board in 3D

    Amp cpw hmc311

    loxodes/vna

    Under development open hardware microwave vector network analyzer

    67 parts205
  • 4 layers51.4 × 60.6 mmGb rp2040 cart, the printed circuit board in 3D

    Gb rp2040 cart

    deltabeard/DBGC

    A Game Boy cartridge using the Raspberry Pi RP2040 with RTC and MBC support.

    67 parts57
  • 4 layers100 × 40 mmMotor controller, the printed circuit board in 3D

    Motor controller

    reubenstr/zuko

    A quadruped robot dog!

    67 parts51MIT
  • 4 layers49 × 43 mmSk005-monitor resyncer, the printed circuit board in 3D

    Sk005-monitor resyncer

    mirdej/synkie

    The Synkie is a modular open source analog video processor, developed by Michael Egger, Max Egger and Flo Kaufmann

    67 parts47
  • 4 layers30 × 26.5 mmDriver tmc2208, the printed circuit board in 3D

    Driver tmc2208

    calithameridi/corevus

    High-flexibility, low-cost mechatronics controller for 3D printers

    67 parts25
  • 4 layers50.3 × 33 mm154-watch, the printed circuit board in 3D

    154-watch

    martinberlin/H-spi-adapters

    PCB design for SPI adapters (HATs)

    67 parts23
  • 4 layers82.3 × 37.2 mmRIDE, the printed circuit board in 3D

    RIDE

    LIV2/RIDE

    To add the A0 Bonus RAM to the system you will need to use the addram command included in the RIDE-Software adf/lha found under Releases.

    67 parts17
  • 4 layers76 × 76.5 mmNumbpad, the printed circuit board in 3D

    Numbpad

    calvin-mcd/travaulta

    topre pcb for the vault35

    67 parts16

Questions

How big is the Projekt 1 PCB?

It measures 46.2 × 89 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Projekt 1 use?

67 parts. 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 Projekt 1 KiCad files?

From the Pertifiatus/MP3-Player repository on GitHub, at the commit this page was made from: the board is KiCad/Projekt 1/Projekt 1.kicad_pcb and its schematic KiCad/Projekt 1/ButtonBox/ButtonBox.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Projekt 1 design in my own project?

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