Skip to the content
PCBKitNew board
4 layers62.8 × 61.7 mmCf mp3-player, the printed circuit board in 3D

A simple MP3/WAV/FLAC player using CF card

Size
62.8 × 61.7 mm
Copper layers
4
Thickness
1.6 mm
Parts
119
Nets
126
Pads
522
Tracks, vias
835, 322
Pours
20
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
27 Sep 2026
Updated
27 Sep 2026

Overview

Cf mp3-player is an open-source printed circuit board by will127534, from the will127534/cf-mp3-player repository on GitHub, published under the MIT licence. It is a 4-layer board of 62.8 × 61.7 mm with 119 parts on 126 nets, routed with 835 tracks and 322 vias.

It is built around the RP2354B, TPSM82821SILR and APS6404L-3SQR-SN, with the BQ24075RGT, ECS-2520MV-240-DN-TR and LP5912-3.3DRVR among its other parts. Its parts include 44 capacitors, 42 resistors, 8 ICs, 6 connectors and 6 switches. It belongs with the RP2350 boards of this library.

Main components

12

README

hardware/README.md

Hardware (rev3)

KiCad 8 design files for the rev3 CF MP3 Player board, the board the firmware in this repository targets (BOARD_REV3=1, the default build). The silkscreen reads "CF Card MP3 Player V2.1"; the firmware and docs call this board rev3.

TopBottom (seen from below)
Board topBoard bottom

Schematic

The schematic is also available as a PDF.

Files

FileContents
cf_mp3_player.kicad_pro, .kicad_sch, .kicad_pcbKiCad 8 project: schematic and 4-layer PCB
cf_mp3_player.kicad_sym, sym-lib-tableProject symbol library (CompactFlash True IDE connector J2, TAC5212 codec U9)
cf_mp3_player_schematic.pdfSchematic
cf_mp3_player.step3D model of the assembled board
bom/cf_mp3_player_bom.csvBill of materials, grouped by part
bom/cf_mp3_player_ibom.htmlInteractive BOM (open it in a browser)
fabrication/cf_mp3_player_rev3_gerbers.zipGerber X2 and Excellon drill files
fabrication/cf_mp3_player_rev3_pos.csvPick-and-place positions (DNP parts excluded)
images/Board renders and schematic image
export_outputs.pyRegenerates everything above except the STEP file

The Gerbers match the fabricated rev3 boards. Compared with the set sent to fab on 2026-06-19, the only differences are the board's position on the sheet and one F.Cu copper-pour outline that moved by up to 0.12 mm when the zones were refilled. Tracks, pads, vias, mask, paste, silkscreen, outline and drill hits are unchanged.

Board: 62.8 x 61.7 mm, 4 layers, 1.6 mm, four M2 mounting holes.

Regenerating the outputs

Needs KiCad 8 (kicad-cli) and Python 3 with numpy, Pillow and PyMuPDF. The interactive BOM also needs the InteractiveHtmlBom plugin; the script skips it if the plugin is not installed.

sh
python hardware/export_outputs.py

BOM notes

  • ICs, connectors and switches carry Manufacturer and MPN fields in the schematic. Passives are listed by value and package only.
  • Value notation: resistors 4.7K / 1M / 22R, capacitors 100nF / 10uF / 15pF.
  • Do not populate: R35, an optional 0R link from the battery's third contact to the charger TS input; R36 (10K) is fitted instead.
  • U5 is the RP2354B (RP2350B with 2 MB of flash in the package), so there is no external boot flash. U3 is the 8 MB PSRAM on QMI CS1, with C5 as its decoupling capacitor and R11 as its chip-select pull-up.
  • The U4 front-end values (R9 47K, R39 3.9K, R29 1M) come from the bench notes. The fitted values are still to be confirmed; see docs/TONE_DECODE.md.
  • Several footprints reference vendor 3D models (${KIPRJMOD}/*.step) that are not in this repository, so KiCad's 3D viewer leaves those parts out. cf_mp3_player.step contains the complete assembly.

TAC5212 support components vs. datasheet

Compared against the TAC5212 datasheet (SLASF23A, Figure 9-1 and the 9.4.2 layout example). The typical-application figure there is labelled "TAC5212 / TAC5112" because the two parts share a pinout.

PinDatasheetThis board
AVDD (23)10 uF + 0.1 uFC8 10 uF at the pin; C33 1 uF (LDO output) nearby. No 0.1 uF.
IOVDD (6)10 uF + 0.1 uFC3 10 uF at the pin; C1 100 nF 3.6 mm away.
DREG (1)10 uF + 0.1 uFC38 10 uF. No 0.1 uF.
VREF (24)1 uF minimumC36 1 uF
MICBIAS (14)1 uF, low ESRC40 1 uF
IN1P / IN1M (15/16)AC coupling; quick-charge default assumes up to 1 uFC44 / C28 1 uF, IN1M grounded after its capacitor (single-ended AC-coupled, Figure 7-17)

The headset mic (jack sleeve, MIC_IN) is biased from MICBIAS through R30 (2.2K), AC-coupled into IN1P, and DC-coupled into IN2M so the firmware can read the remote buttons with the incremental ADC. With the default 5 kohm input impedance the 1 uF coupling capacitor puts the high-pass corner at about 32 Hz. Use low-voltage-coefficient (X7R) capacitors for C44 and C28.

AVDD runs at 3.3 V: the firmware leaves AVDD_MODE at its 3.3 V setting and programs VREF to 2.5 V, which the datasheet only allows with a 3.3 V AVDD. U7 is therefore the LP5912-3.3.

For a future spin: add 0.1 uF capacitors next to AVDD and DREG.

Board-level details the firmware depends on

All of these are in the design files:

  • Headphone output wired single-ended and AC-coupled: OUT2P to the jack tip (left), OUT1P to ring1 (right), headphone return to board ground.
  • Rotary encoder on GP15/GP14 with its centre push switch on GP46.
  • U4 tone comparator front end dimensioned so GP7 receives the Apple remote's ultrasonic carrier (values in docs/TONE_DECODE.md; fit a TLV3201).
  • Battery voltage sense through a /2 divider on GP47 (ADC7).
  • TAC5212 DOUT used as the codec IRQ on GP9 (GP6 is not connected to it).

Pin map and codec routing: docs/HARDWARE.md. Known board-level limitations (cold power-on click, Microdrive read coupling, VBAT reference): docs/HARDWARE.md.

Parts

119
QtyValueFootprintReferences
16100nFCapacitor_SMD:C_0402_1005MetricC1, C5, C13, C14, C15, C16, C17, C18, C19, C20, C23, C24, C25, C30, C34, C35
1110KResistor_SMD:R_0402_1005MetricR7, R11, R27, R28, R31, R32, R33, R34, R36, R37, R38
71uFCapacitor_SMD:C_0402_1005MetricC2, C28, C32, C33, C36, C40, C44
727RResistor_SMD:R_0402_1005MetricR16, R17, R20, R21, R22, R23, R24
64.7KResistor_SMD:R_0402_1005MetricR3, R18, R19, R40, R41, R42
410uFCapacitor_SMD:C_0402_1005MetricC3, C8, C31, C38
44.7uFCapacitor_SMD:C_0603_1608MetricC4, C41, C42, C43
45.1KResistor_SMD:R_0402_1005MetricR1, R2, R5, R8
4MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
4TestPointTestPoint:TestPoint_Pad_D1.5mmTP5, TP6, TP7, TP8
347KResistor_SMD:R_0402_1005MetricR4, R6, R9
3EVQ-PUM02KButton_Switch_SMD:Panasonic_EVQPUM_EVQPUDSW3, SW4, SW5
2100KResistor_SMD:R_0402_1005MetricR15, R25
2100uFCapacitor_SMD:C_1812_4532MetricC26, C27
215pFCapacitor_SMD:C_0402_1005MetricC6, C7
21KResistor_SMD:R_0402_1005MetricR12, R13
222RResistor_SMD:R_0402_1005MetricR10, R26
222uFCapacitor_SMD:C_0805_2012MetricC37, C39
24.7uFRP2350_80QFN_minimal:C_0402_1005Metric_small_padsC9, C10
24.7uFCapacitor_SMD:C_0402_1005MetricC11, C12
2LEDLED_SMD:LED_0603_1608MetricD3, D4
2SM03B-SRSS-TBConnector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ4, J8
10RResistor_SMD:R_0402_1005MetricR35
1100uFCapacitor_Tantalum_SMD:CP_EIA-6032-20_AVX-FC21
110uFCapacitor_SMD:C_0603_1608MetricC22
11MResistor_SMD:R_0402_1005MetricR29
12.2KResistor_SMD:R_0402_1005MetricR30
13.3uHRP2350_80QFN_minimal:L_pol_2016L1
13.9KResistor_SMD:R_0402_1005MetricR39
133RResistor_SMD:R_0402_1005MetricR14
1434133025816Button_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816SW2
147pFCapacitor_SMD:C_0402_1005MetricC29
1ABM8-272-T3Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1APS6404L-3SQR-SNPackage_SON:Winbond_USON-8-1EP_3x2mm_P0.5mm_EP0.2x1.6mmU3
1BL-5C_ContactsBL-4C:bl-4CJ6
1BQ24075RGTPackage_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mmU8
1CompactFlashConnector_Card:CF-Card_3M_N7E50-A516xx-30J2
1ECS-2520MV-240-DN-TROscillator:Oscillator_SMD_Abracon_ASDMB-4Pin_2.5x2.0mmU1
1JS102011SAQNButton_Switch_SMD:SW_SPDT_CK_JS102011SAQNSW6
1LP5912-3.3DRVPackage_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mm_ThermalViasU7
1LTST-C235KGKRKTLED_SMD:LED_LiteOn_LTST-C235KGKRKTD2
1PJ-320DConnector_Audio:Jack_3.5mm_PJ320D_HorizontalJ7
1RP2354BRP2350_80QFN_minimal:RP2350-QFN-80-1EP_10x10_P0.4mm_EP3.4x3.4mm_ThermalViasU5
1SIQ-02FVS3footprints:SW_Mitsumi_SIQ-02FVS3_Encoder_Slide_SMDSW1
1TAC5212IRGERfootprints:VQFN24_RGE_CORNERPADS_TEXU9
1TLV3201AIDBVRPackage_TO_SOT_SMD:SOT-23-5U4
1TPSM82821SILRfootprints:TPSM82821SILRU2
1U262-161N-4BVC11Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11J1

Questions

How big is the Cf mp3-player PCB?

It measures 62.8 × 61.7 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Cf mp3-player use?

119 parts, built around the RP2354B, TPSM82821SILR, APS6404L-3SQR-SN and BQ24075RGT. 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 Cf mp3-player KiCad files?

From the will127534/cf-mp3-player repository on GitHub, at the commit this page was made from: the board is hardware/cf_mp3_player.kicad_pcb and its schematic hardware/cf_mp3_player.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Cf mp3-player 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

  • 4 layers86.3 × 25 mmHdmi snake, the printed circuit board in 3D

    Hdmi snake

    Ajstros/hdmi-snake

    Hardware design for playing snake over HDMI.

    62 parts
  • 6 layers32 × 32 mmBoard latest, the printed circuit board in 3D

    Board latest

    dennisss/dacha

    Monorepo for awesome tools/projects/libraries

    69 parts397Apache-2.0
  • 6 layers37.9 × 37.9 mmOpenFC, the printed circuit board in 3D

    OpenFC

    OpenDrone-hw/OpenFC-Lite

    Open-source Betaflight flight controller. RP2354B, 30.5x30.5 mm, 6-layer, 3-8S, CERN-OHL-S-2.0.

    164 parts85CERN-OHL-S-2.0
  • 4 layers32 × 74 mmFrankless, the printed circuit board in 3D

    Frankless

    arlaneenalra/pi-pico-boards

    A place to keep various pi-pico-board experiments

    124 parts
  • 4 layers21 × 51 mmMetalclaw pico rp2, the printed circuit board in 3D

    Metalclaw pico rp2

    renzbagaporo/metalclaw-pico-rp2

    An RP2354B board for testing firmware on a Raspberry Pi Pico or Pico 2. Metalclaw firmware provides Python-controlled peripheral emulation and a USB debug probe.

    132 partsCC-BY-SA-4.0
  • 4 layersAL MAWJA, the printed circuit board in 3D

    AL MAWJA

    m0-hassan/AL-MAWJA

    KiCad mixed-signal I/Q analog front-end board — work in progress

    214 parts
  • 2 layers63 × 89.5 mmRobot, the printed circuit board in 3D

    Robot

    sidstuff/robot

    A KiCad PCB for an obstacle avoiding robot.

    71 parts5MIT
  • 2 layers59.3 × 24.5 mmAnchor, the printed circuit board in 3D

    Anchor

    WaltTeb/BareTag_Tool_Tracker

    PDR draft of SDP final report

    35 parts3