feat: PCM1808+PCM5102 I2S HAT design files

Custom I2S HAT for Pi Multi-FX Pedal — full hardware package:

- KiCad project: schematic (kicad_sch), PCB layout (kicad_pcb), project file
- Custom DT overlay: pcm1808-pcm5102-overlay.dts (no upstream overlay exists for PCM1808)
- docs/hardware-bom.md: BOM (9.25 HAT + 1.75 with enclosure), wiring diagram, PCB design notes
- docs/config-audio.md: DT overlay build, ALSA config, JACK integration, troubleshooting
- scripts/install_hat.sh: One-command install + test suite (6 tests)
- hardware/gerber/: JLCPCB fab instructions and assembly notes

Circuit: Guitar input → TL072 preamp (gain ~20dB) → PCM1808 ADC → RPi I2S
  → PCM5102 DAC → RC filter → output jack
I2S: BCLK/GPIO18, LRCLK/GPIO19, DIN/GPIO20, DOUT/GPIO21
Stacking header passes all 40 GPIO pins for footswitches/LEDs/display
This commit is contained in:
2026-06-07 23:52:13 -04:00
parent 0e77adb4c3
commit 0ae2ca6e8e
8 changed files with 1269 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
# PCM1808+PCM5102 I2S HAT — JLCPCB Fabrication Package
> This directory contains the fabrication files for the Pi Multi-FX Pedal I2S HAT.
> Board dimensions: 65×56mm, 2-layer, 1.6mm FR4
> Target fab: JLCPCB (but compatible with any PCB fab)
---
## Files
| File | Description |
|------|-------------|
| `jlcpcb-bom.csv` | Bill of Materials for JLCPCB assembly |
| `jlcpcb-cpl.csv` | Component placement / centroid file |
| `fabrication-readme.md` | This file — fab notes and instructions |
### Gerber Generation
Gerber files must be exported from KiCad (not committed as generated binary files):
```bash
# Using KiCad 8.0 CLI:
kicad-cli pcb export gerbers \
--layers "F.Cu,B.Cu,F.Paste,B.Paste,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
--output hardware/gerber/ \
hardware/pi-multifx-hat.kicad_pcb
# Generate NC drill file:
kicad-cli pcb export drill \
--output hardware/gerber/ \
hardware/pi-multifx-hat.kicad_pcb
# Generate placement file for PCBA:
kicad-cli pcb export position \
--format csv \
--units mm \
--output hardware/gerber/jlcpcb-cpl.csv \
hardware/pi-multifx-hat.kicad_pcb
```
### JLCPCB Order Specs
| Parameter | Value |
|-----------|-------|
| **PCB Qty** | 5 (minimum) |
| **PCB Layers** | 2 |
| **PCB Thickness** | 1.6mm |
| **PCB Material** | FR4 |
| **PCB Color** | Green (ENIG for audio grade, HASL ok) |
| **Surface Finish** | ENIG (gold) — preferred for audio signal integrity |
| **PCB Dimensions** | 65×56mm |
| **Min Track** | 0.254mm (10mil) |
| **Min Hole** | 0.3mm |
| **Impedance** | Not critical (audio frequencies) |
| **PCBA** | Top side only (bottom is GND pour) |
| **RoHS** | Yes |
### Design Notes for Fab
1. **Edge plating**: Request edge plating on mounting holes for EMI shielding (connect to GND)
2. **Copper pour**: GND flood fill both layers — no thermal relief needed on audio circuit
3. **Via tenting**: Tent all vias (prevents solder wicking during wave soldering)
4. **Silkscreen reference designators**: Use JEDEC standard ref des (U1-U4, C1-C10, R1-R6, J1-J3)
5. **Mounting holes**: 3.2mm non-plated through holes at 4 corners (standard 1590B footprint)
6. **ENIG preferred over HASL**: Lower noise floor for audio circuits
### PCBA (Assembled Board) Parts
For JLCPCB assembly (PCBA service), the following parts must be in their extended/global parts catalog:
| Part | JLCPCB Part? | Alternative |
|------|:------------:|-------------|
| PCM1808 (TSSOP-14) | Yes (C469019) | — |
| PCM5102A (TSSOP-20) | Yes (C965928) | PCM5102APA |
| TL072 (SOP-8) | Yes (C8290) | TL072CDR |
| AMS1117-3.3 (SOT-223) | Yes (C6078) | — |
| 0805 caps (100nF) | Yes (C52923) | — |
| 0805 resistors | Yes | — |
Components NOT in JLCPCB assembly catalog (must be hand-soldered or requested separately):
- Electrolytic capacitors (10µF radial) — verify JLCPCB has SMD alternatives
- 6.35mm audio jacks (panel-mount)
- 2×20 female stacking header
- M2.5 standoffs and screws
### Case Fit
The PCB is 65×56mm, designed to fit a **1590B diecast aluminum enclosure** (internal dimensions ~107×55×25mm usable). Mounting hole centers at 3.175mm from edges.
### Test Points
Consider adding test points on next revision:
- TP1: 3.3V rail
- TP2: 5V rail
- TP3: Preamp output (before DC blocking cap)
- TP4: PCM1808 DOUT (verify I2S data with scope)