mohan-bee/mini-mp3-player

Portable, battery-powered MP3 player hardware with USB charging, microSD storage, an MCU, VS10xx audio decoder, headphone output, status controls, and regulated power rails.

Version
1.2.0
License
unset
Stars
0

VALIDATION.md

# Rev B validation

This is a routed, fabrication-exported **headphone-only hardware prototype design**. It has not been assembled or bench tested. Prototype firmware 0.1.0 is included, cross-compiled and host-tested, but has not run on a physical board.

## Completed checks

| Check | Result |
|---|---|
| TypeScript | Pass |
| tscircuit build and static site | Pass, exit code 0 |
| Netlist | 0 errors, 0 warnings |
| Electrical/assembly audit | 101 assertions passed |
| Independent full DRC | 0 errors |
| PCB placement | No placement issues; 0 DRC errors or warnings |
| Automatic schematic layout | No component/net-label collision findings |
| Routing-difficulty analysis | Completed; report saved |
| Crystal-net trace-length analysis | Completed for MCU and decoder |
| BOM / CPL | Matching 100 fitted parts, all on top; 35 grouped BOM lines |
| Procurement identifiers | Every fitted part has an LCSC code |
| Stencil | 351 fitted SMD pads covered by 354 apertures, plus 4 USB shell apertures |
| Bottom stencil and test-pad paste | Excluded |
| Saved-routing guard | Rejects changed PCB geometry |

The final board is 82 × 62 mm, two layers, with 65 nets, 264 PCB trace records and 310 vias. Top-side component utilization is about 31%. There are exactly four user pushbuttons, two LEDs, one headphone connector and one microSD connector. The speaker, amplifier, their supporting parts, fifth button and reset pushbutton are absent. Reset remains on TP5. The power slide switch is retained.

## Routing and reproducibility

Normal signals were generated by the local beta_pipeline9 autorouter at 2x effort. Only crystal loops are specified as manual traces in the TSX. The decoder block was moved into the former speaker area, and bottom-layer copper keepouts keep selected routing vias clear of top-side solder pads.

The current 0.30 mm drill / 0.45 mm pad routing replaces the original small-via result. Three local via shifts and UART/ground trace adjustments clear the capacitor row; a decoder-side routing keepout is narrowed by 0.10 mm while retaining clearance from actual pads. The saved result retains an exact routing-input guard. See validation/via-clearance-repairs.json and scripts/repair-via-clearances.mjs. The earlier routing-repair.json refers to the superseded small-via routing.

To reroute an edited design, remove algorithmFn:savedAutorouting from the board's autorouter object. Rebuild, inspect and validate before replacing the saved result or making fabrication files. The underlying engine can fail to serialize junction endpoints in its own cache; the explicit saved result makes this release reproducible.

## Reviewed diagnostics

The independent DRC retains 35 metadata warnings, including 16 test points without courtyards and imported components without full power/ground/pin-role attributes. These are not unrouted connections or copper clearance errors. The explicit audit verifies critical power, ground, debug, charging and headphone connections.

The schematic checker suggests optional resistor orientations and grouping decoupling capacitors across sections. Schematic placement remains automatic as requested. Signal names beginning with VS_ may receive power-like label styling, but remain separate signal nets.

J1 and J4 lack conventional pin-1 orientation metadata. The release script verifies their pad patterns against the selected supplier footprints and uses their authored rotations. Review the assembly drawing in the assembler's placement preview.

## Fabrication and prototype testing

Use bun run release for Gerbers, drills, BOM, placement CSV and drawings. The release script supplies missing pill-pad stencil apertures, excludes bottom/test-pad paste and windows the charger exposed pad to 58.5% paste coverage. It does not change copper, drills or connectivity.

The README contains the battery specification, WCH-Link pin map and bring-up sequence. Verify rail voltages, oscillator startup, SD reads, decoder streaming, headphone DC isolation, charging and low-battery behavior on assembled hardware. Four-button volume-mode behavior and green LED indication are implemented in the included firmware; physical testing remains pending. See PROTOTYPE.md and firmware/README.md.

## Prototype release checks (2026-10-07)

The current release was regenerated with 101 assertions passing. Independent DRC: 0 errors, 35 metadata warnings. Gerber-mode short detection reports no shorts in both the compiled circuit and manufacturing/release.circuit.json. Firmware cross-compilation succeeds for RV32IMAC/CH32V203C8T6. Host tests pass for fragmented FAT16/FAT32 reads and I/O failures, SDHC/SDSC protocol/addressing, decoder transaction limits/timeouts and button bounce/rollover. Logs: validation/prototype-release.txt, prototype-release-shorts.txt, firmware-build.txt, firmware-tests.txt. These tests do not establish hardware operation.