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:
@@ -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)
|
||||
@@ -0,0 +1,116 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Device Tree Overlay for PCM1808 ADC + PCM5102 DAC I2S combo
|
||||
// Pi Multi-FX Pedal — Ourpad Networks
|
||||
//
|
||||
// PCM1808: 24-bit stereo ADC (we use single-channel mono guitar input)
|
||||
// - I2S slave mode (BCLK + LRCK from RPi)
|
||||
// - FMT = GND (I2S, 24-bit left-justified)
|
||||
// - MD1 = 3.3V (48kHz sampling rate)
|
||||
// - MD0 = GND (standby disabled, always active)
|
||||
//
|
||||
// PCM5102: 32-bit stereo DAC
|
||||
// - I2S slave mode (BCLK + LRCK from RPi)
|
||||
// - FLT = GND (normal operation, low-latency filter)
|
||||
// - DEMP = GND (no de-emphasis)
|
||||
// - XSMT = 3.3V (unmuted, always active)
|
||||
//
|
||||
// Wiring:
|
||||
// GPIO18 (BCLK) → PCM1808 pin 8 (BCK) → PCM5102 pin 14 (BCK)
|
||||
// GPIO19 (LRCLK) → PCM1808 pin 7 (LRCK) → PCM5102 pin 13 (LRCK)
|
||||
// GPIO20 (DIN) ──────────────────────────→ PCM5102 pin 12 (DIN)
|
||||
// GPIO21 (DOUT) → PCM1808 pin 9 (DOUT)
|
||||
// 3.3V → PCM1808 VCC → PCM5102 Vin
|
||||
// GND → PCM1808 GND → PCM5102 GND
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2711"; // RPi 4B
|
||||
|
||||
fragment@0 {
|
||||
target = <&i2s>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
// PCM1808 ADC — captured via I2S DOUT (GPIO21)
|
||||
fragment@1 {
|
||||
target = <&i2s>;
|
||||
__overlay__ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pcm1808: pcm1808@0 {
|
||||
compatible = "ti,pcm1808";
|
||||
reg = <0>; // I2S device 0 (first codec on bus)
|
||||
status = "okay";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// PCM5102 DAC — driven via I2S DIN (GPIO20)
|
||||
fragment@2 {
|
||||
target = <&i2s>;
|
||||
__overlay__ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pcm5102: pcm5102@1 {
|
||||
compatible = "ti,pcm5102a";
|
||||
reg = <1>; // I2S device 1 (second codec on bus)
|
||||
status = "okay";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// Simple audio card binding ADC + DAC
|
||||
fragment@3 {
|
||||
target = <&sound>;
|
||||
__overlay__ {
|
||||
compatible = "simple-audio-card";
|
||||
status = "okay";
|
||||
|
||||
simple-audio-card,name = "pcm1808-pcm5102-hat";
|
||||
|
||||
// RPi is I2S master
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,bitclock-master = <&cpu_dai>;
|
||||
simple-audio-card,frame-master = <&cpu_dai>;
|
||||
|
||||
// 48kHz / 24-bit
|
||||
simple-audio-card,mclk-fs = <256>; // 48kHz * 256 = 12.288MHz
|
||||
|
||||
cpu_dai: simple-audio-card,cpu {
|
||||
sound-dai = <&i2s>;
|
||||
};
|
||||
|
||||
// PCM1808 ADC — capture path
|
||||
pcm1808_dai: simple-audio-card,codec@0 {
|
||||
sound-dai = <&pcm1808>;
|
||||
format = "i2s";
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
};
|
||||
|
||||
// PCM5102 DAC — playback path
|
||||
pcm5102_dai: simple-audio-card,codec@1 {
|
||||
sound-dai = <&pcm5102>;
|
||||
format = "i2s";
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
bclk-pin = <&i2s>,"bcm,pin-functions:18";
|
||||
lrclk-pin = <&i2s>,"bcm,pin-functions:19";
|
||||
din-pin = <&i2s>,"bcm,pin-functions:20";
|
||||
dout-pin = <&i2s>,"bcm,pin-functions:21";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,79 @@
|
||||
(kicad_pcb (version 20240124) (generator "kicad")
|
||||
(general
|
||||
(thickness 1.6)
|
||||
(drawings 0)
|
||||
(tracks 0)
|
||||
(zones 0)
|
||||
(modules 0)
|
||||
(nets 12)
|
||||
)
|
||||
(page A4 portrait)
|
||||
(title_block
|
||||
(title "Pi Multi-FX Pedal — PCM1808+PCM5102 I2S HAT")
|
||||
(date "2026-06-07")
|
||||
(rev "1.0")
|
||||
(company "Ourpad Networks")
|
||||
)
|
||||
(layers
|
||||
(0 "F.Cu" signal)
|
||||
(31 "B.Cu" signal)
|
||||
(36 "B.Paste" user)
|
||||
(37 "F.Paste" user)
|
||||
(38 "B.SilkS" user)
|
||||
(39 "F.SilkS" user)
|
||||
(40 "B.Mask" user)
|
||||
(41 "F.Mask" user)
|
||||
(44 "Edge.Cuts" user)
|
||||
)
|
||||
(setup
|
||||
(stackup
|
||||
(layer (name "F.Cu") (type "copper") (thickness 0.035))
|
||||
(layer (name "dielectric 1") (type "prepreg") (thickness 0.25)
|
||||
(material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
||||
(layer (name "B.Cu") (type "copper") (thickness 0.035))
|
||||
)
|
||||
(pad_to_mask_clearance 0.05)
|
||||
(soldermask_min_width 0.1)
|
||||
)
|
||||
(net 0 "")
|
||||
(net 1 "GND")
|
||||
(net 2 "+5V")
|
||||
(net 3 "+3.3V")
|
||||
(net 4 "I2S_BCLK")
|
||||
(net 5 "I2S_LRCLK")
|
||||
(net 6 "I2S_DIN")
|
||||
(net 7 "I2S_DOUT")
|
||||
(net 8 "AUDIO_IN")
|
||||
(net 9 "AUDIO_OUT")
|
||||
(net 10 "PREAMP_OUT")
|
||||
(net 11 "GATE_SW")
|
||||
|
||||
;; Board outline — 65x56mm (standard 1590B footprint)
|
||||
(gr_rect (start -0.5 -0.5) (end 65 56) (layer "Edge.Cuts") (width 0.15) (fill none))
|
||||
|
||||
;; Mounting holes — 4x 3.2mm at corners
|
||||
(module "MountingHole_3.2mm" (at 3.175 3.175 0)
|
||||
(layer "F.Cu") (uuid "mh-1")
|
||||
(fp_text reference "MH1" (at 3.175 3.175) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15))))
|
||||
(pad "" np_thru_hole circle (at 0 0) (size 3.2 3.2) (layers *.Cu *.Mask))
|
||||
)
|
||||
(module "MountingHole_3.2mm" (at 61.825 3.175 0)
|
||||
(layer "F.Cu") (uuid "mh-2")
|
||||
(fp_text reference "MH2" (at 61.825 3.175) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15))))
|
||||
(pad "" np_thru_hole circle (at 0 0) (size 3.2 3.2) (layers *.Cu *.Mask))
|
||||
)
|
||||
(module "MountingHole_3.2mm" (at 3.175 52.825 0)
|
||||
(layer "F.Cu") (uuid "mh-3")
|
||||
(fp_text reference "MH3" (at 3.175 52.825) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15))))
|
||||
(pad "" np_thru_hole circle (at 0 0) (size 3.2 3.2) (layers *.Cu *.Mask))
|
||||
)
|
||||
(module "MountingHole_3.2mm" (at 61.825 52.825 0)
|
||||
(layer "F.Cu") (uuid "mh-4")
|
||||
(fp_text reference "MH4" (at 61.825 52.825) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15))))
|
||||
(pad "" np_thru_hole circle (at 0 0) (size 3.2 3.2) (layers *.Cu *.Mask))
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,29 @@
|
||||
(kicad_project (version 20240124) (host (id "kicad") (version 8.0))
|
||||
(title_block
|
||||
(title "Pi Multi-FX Pedal — Custom PCM1808+PCM5102 I2S HAT")
|
||||
(date "2026-06-07")
|
||||
(rev "1.0")
|
||||
(company "Ourpad Networks")
|
||||
(comment 1 "Custom I2S Audio HAT for RPi 4B guitar pedal")
|
||||
(comment 2 "PCM1808 ADC + PCM5102 DAC + TL072 guitar preamp")
|
||||
(comment 3 "Stompbox form factor, 1590B compatible")
|
||||
)
|
||||
(boards (board (uuid "a1b2c3d4-e5f6-7890-abcd-ef1234567890")))
|
||||
(cvpcb
|
||||
(equivalence_files)
|
||||
)
|
||||
(design_settings
|
||||
(rules (defaults (track_width 0.254) (clearance 0.2) (via_dia 0.6) (via_drill 0.3)))
|
||||
(layers
|
||||
(layer (number 0) (name "F.Cu") (type "signal"))
|
||||
(layer (number 31) (name "B.Cu") (type "signal"))
|
||||
(layer (number 36) (name "B.Paste") (type "paste"))
|
||||
(layer (number 37) (name "F.Paste") (type "paste"))
|
||||
(layer (number 38) (name "B.SilkS") (type "user"))
|
||||
(layer (number 39) (name "F.SilkS") (type "user"))
|
||||
(layer (number 40) (name "B.Mask") (type "mask"))
|
||||
(layer (number 41) (name "F.Mask") (type "mask"))
|
||||
(layer (number 44) (name "Edge.Cuts") (type "user"))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,224 @@
|
||||
(kicad_sch (version 20240124) (generator "kicad")
|
||||
(uuid "00000000-0000-0000-0000-000000000000")
|
||||
(title_block
|
||||
(title "Pi Multi-FX Pedal — PCM1808+PCM5102 I2S HAT")
|
||||
(date "2026-06-07")
|
||||
(rev "1.0")
|
||||
(company "Ourpad Networks")
|
||||
(comment 1 "Guitar input → TL072 preamp → PCM1808 ADC → RPi I2S → PCM5102 DAC → output")
|
||||
)
|
||||
|
||||
;; ======================================================================
|
||||
;; Sheet: Page 1 — Power & Regulation
|
||||
;; ======================================================================
|
||||
(symbol (lib_id "power:GND") (at 50.8 88.9 0) (unit 1)
|
||||
(uuid "pwr-gnd-main")
|
||||
(property "Reference" "#PWR00" (at 50.8 93.98 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "GND" (at 50.8 91.44 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "power:+5V") (at 50.8 71.12 0) (unit 1)
|
||||
(uuid "pwr-5v-main")
|
||||
(property "Reference" "#PWR01" (at 50.8 67.31 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "+5V" (at 50.8 68.58 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; AMS1117-3.3 regulator
|
||||
(symbol (lib_id "Regulator_Linear:AMS1117-3.3") (at 50.8 76.2 0) (unit 1)
|
||||
(uuid "u-reg-ams1117")
|
||||
(property "Reference" "U1" (at 50.8 82.55 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "AMS1117-3.3" (at 50.8 83.82 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
;; Decoupling caps — input
|
||||
(symbol (lib_id "Device:C_Small") (at 50.8 73.66 0) (unit 1)
|
||||
(uuid "c-dec-in-1")
|
||||
(property "Reference" "C1" (at 50.8 71.12 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10µF" (at 50.8 72.39 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "Device:C_Small") (at 50.8 83.82 0) (unit 1)
|
||||
(uuid "c-dec-in-2")
|
||||
(property "Reference" "C2" (at 50.8 81.28 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "100nF" (at 50.8 82.55 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
;; Output caps on 3.3V rail
|
||||
(symbol (lib_id "Device:C_Small") (at 165.1 66.04 0) (unit 1)
|
||||
(uuid "c-dec-out-1")
|
||||
(property "Reference" "C3" (at 165.1 63.5 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10µF" (at 165.1 64.77 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "Device:C_Small") (at 165.1 72.39 0) (unit 1)
|
||||
(uuid "c-dec-out-2")
|
||||
(property "Reference" "C4" (at 165.1 69.85 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "100nF" (at 165.1 71.12 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; ======================================================================
|
||||
;; Sheet: Page 2 — RPi 40-pin Header (J1)
|
||||
;; ======================================================================
|
||||
(symbol (lib_id "Connector_Generic:Conn_02x20_Odd_Even") (at 190.5 121.92 0) (unit 1)
|
||||
(uuid "j-rpi-header")
|
||||
(property "Reference" "J1" (at 190.5 111.76 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "RPi_40Pin_HDR" (at 190.5 113.03 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; I2S signals from RPi header — wired via global labels
|
||||
;; GPIO18 (BCLK) → pin 12
|
||||
;; GPIO19 (LRCLK) → pin 35
|
||||
;; GPIO20 (DIN) → pin 38
|
||||
;; GPIO21 (DOUT) → pin 40
|
||||
|
||||
;; ======================================================================
|
||||
;; Sheet: Page 3 — Guitar Input Preamp (TL072)
|
||||
;; ======================================================================
|
||||
(symbol (lib_id "Amplifier_Operational:TL072") (at 193.04 175.26 0) (unit 1)
|
||||
(uuid "u-preamp")
|
||||
(property "Reference" "U2" (at 193.04 170.18 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "TL072" (at 193.04 171.45 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; Input jack (guitar input)
|
||||
(symbol (lib_id "Connector_Generic:Jack_sound") (at 134.62 167.64 0) (unit 1)
|
||||
(uuid "j-input")
|
||||
(property "Reference" "J2" (at 134.62 162.56 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "Guitar_Input" (at 134.62 163.83 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; Input resistor R1 (1MΩ pulldown)
|
||||
(symbol (lib_id "Device:R_Small") (at 157.48 167.64 0) (unit 1)
|
||||
(uuid "r-input-pd")
|
||||
(property "Reference" "R1" (at 157.48 164.08 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "1M" (at 157.48 165.35 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; R2 (10k input resistor to op-amp non-inverting input)
|
||||
(symbol (lib_id "Device:R_Small") (at 162.56 177.8 0) (unit 1)
|
||||
(uuid "r-input-series")
|
||||
(property "Reference" "R2" (at 162.56 174.24 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10k" (at 162.56 175.51 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; R3, R4 — feedback network for gain switching
|
||||
;; Non-inverting gain = 1 + Rf/Rg
|
||||
;; Gain stage 1: Rf=100k, Rg=10k → gain = 11 (~20dB)
|
||||
(symbol (lib_id "Device:R_Small") (at 200.03 193.04 0) (unit 1)
|
||||
(uuid "r-feedback")
|
||||
(property "Reference" "R3" (at 200.03 189.48 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "100k" (at 200.03 190.75 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "Device:R_Small") (at 208.28 193.04 0) (unit 1)
|
||||
(uuid "r-gnd-feedback")
|
||||
(property "Reference" "R4" (at 208.28 189.48 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10k" (at 208.28 190.75 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; DC-blocking cap on op-amp output before ADC
|
||||
(symbol (lib_id "Device:C_Small") (at 176.53 175.26 0) (unit 1)
|
||||
(uuid "c-dc-block")
|
||||
(property "Reference" "C5" (at 176.53 171.7 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10µF" (at 176.53 172.97 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; ======================================================================
|
||||
;; Sheet: Page 4 — PCM1808 ADC + PCM5102 DAC
|
||||
;; ======================================================================
|
||||
|
||||
;; PCM1808 ADC (as generic IC — custom symbol)
|
||||
(symbol (lib_id "Device:IC") (at 149.86 233.68 0) (unit 1)
|
||||
(uuid "u-adc")
|
||||
(property "Reference" "U3" (at 149.86 227.07 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "PCM1808" (at 149.86 228.34 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; PCM5102 DAC (as generic IC)
|
||||
(symbol (lib_id "Device:IC") (at 223.52 233.68 0) (unit 1)
|
||||
(uuid "u-dac")
|
||||
(property "Reference" "U4" (at 223.52 227.07 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "PCM5102" (at 223.52 228.34 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; ADC decoupling
|
||||
(symbol (lib_id "Device:C_Small") (at 139.7 231.14 0) (unit 1)
|
||||
(uuid "c-adc-dec1")
|
||||
(property "Reference" "C6" (at 139.7 227.58 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "100nF" (at 139.7 228.85 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "Device:C_Small") (at 139.7 238.76 0) (unit 1)
|
||||
(uuid "c-adc-dec2")
|
||||
(property "Reference" "C7" (at 139.7 235.2 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10µF" (at 139.7 236.47 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; DAC decoupling
|
||||
(symbol (lib_id "Device:C_Small") (at 223.52 246.38 0) (unit 1)
|
||||
(uuid "c-dac-dec1")
|
||||
(property "Reference" "C8" (at 223.52 242.82 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "100nF" (at 223.52 244.09 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "Device:C_Small") (at 223.52 254 0) (unit 1)
|
||||
(uuid "c-dac-dec2")
|
||||
(property "Reference" "C9" (at 223.52 250.44 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10µF" (at 223.52 251.71 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; Output jack
|
||||
(symbol (lib_id "Connector_Generic:Jack_sound") (at 241.3 233.68 0) (unit 1)
|
||||
(uuid "j-output")
|
||||
(property "Reference" "J3" (at 241.3 228.6 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "Audio_Output" (at 241.3 229.87 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; PCM5102 output filter RC (hiss reduction)
|
||||
(symbol (lib_id "Device:R_Small") (at 236.22 246.38 0) (unit 1)
|
||||
(uuid "r-dac-filter")
|
||||
(property "Reference" "R5" (at 236.22 242.82 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "330" (at 236.22 244.09 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; ======================================================================
|
||||
;; Page 4b — I2S routing (labels)
|
||||
;; ======================================================================
|
||||
;; Global labels for I2S bus
|
||||
(symbol (lib_id "Device:C_Polarized_Small") (at 170.18 231.14 0) (unit 1)
|
||||
(uuid "c-dac-output-dc")
|
||||
(property "Reference" "C10" (at 170.18 227.58 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10µF" (at 170.18 228.85 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; ======================================================================
|
||||
;; Sheet: Page 5 — Output stage
|
||||
;; ======================================================================
|
||||
;; Output buffer (second half of TL072)
|
||||
(symbol (lib_id "Amplifier_Operational:TL072") (at 193.04 256.54 0) (unit 2)
|
||||
(uuid "u-output-buffer")
|
||||
(property "Reference" "U2" (at 193.04 251.46 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "TL072" (at 193.04 252.73 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R_Small") (at 200.03 269.24 0) (unit 1)
|
||||
(uuid "r-output-rf")
|
||||
(property "Reference" "R6" (at 200.03 265.68 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "10k" (at 200.03 266.95 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
|
||||
;; ======================================================================
|
||||
;; Global Net Labels — I2S bus
|
||||
;; ======================================================================
|
||||
(symbol (lib_id "Device:C_Small") (at 165.1 231.14 0) (unit 1)
|
||||
(uuid "label-bclk")
|
||||
(property "Reference" "Net-" (at 165.1 231.14 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "I2S_BCLK" (at 165.1 231.14 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "Device:C_Small") (at 165.1 235.71 0) (unit 1)
|
||||
(uuid "label-lrclk")
|
||||
(property "Reference" "Net-" (at 165.1 235.71 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "I2S_LRCLK" (at 165.1 235.71 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "Device:C_Small") (at 165.1 240.28 0) (unit 1)
|
||||
(uuid "label-din")
|
||||
(property "Reference" "Net-" (at 165.1 240.28 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "I2S_DIN" (at 165.1 240.28 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(symbol (lib_id "Device:C_Small") (at 165.1 244.85 0) (unit 1)
|
||||
(uuid "label-dout")
|
||||
(property "Reference" "Net-" (at 165.1 244.85 0) (effects (font (size 1.27 1.27))))
|
||||
(property "Value" "I2S_DOUT" (at 165.1 244.85 0) (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
Reference in New Issue
Block a user