diff --git a/hardware/BOM.csv b/hardware/BOM.csv new file mode 100644 index 0000000..03df903 --- /dev/null +++ b/hardware/BOM.csv @@ -0,0 +1,36 @@ +Ref,Block,Part,Manufacturer,MPN,Qty,Approx_USD_ea,Notes +U1,MCU,RP2350A microcontroller,Raspberry Pi,RP2350A,1,1.10,QFN-60; mind E9 input-latch erratum (external pulldowns) +U2,MCU,16MB QSPI flash,Winbond,W25Q128JVSIQ,1,1.20,genuine part; firmware wear-levels history.json +Y1,MCU,12MHz crystal,Abracon,ABM8-272-12.000MHZ,1,0.30,+/-30ppm +U3,Power,3V3 IO LDO,Diodes Inc,AP2112K-3.3TRG1,1,0.25,digital domain +L1,Power,RP2350 core SMPS inductor,TDK,VLS3012,1,0.15,per RP2350 reference +U4,Power,Dual boost/inverter +/-18V,Texas Instruments,TPS65131RGER,1,2.50,raw +/-18V from 5V; guarded corner +U5,Power,Ultra-low-noise +15V LDO,Texas Instruments,TPS7A4901DGNR,1,1.80,post-regulates +18 to clean +15 +U6,Power,Ultra-low-noise -15V LDO,Texas Instruments,TPS7A3001DGNR,1,1.90,post-regulates -18 to clean -15 +J1,Power/USB,USB-C receptacle (TH-anchored),GCT,USB4085-GF-A,1,0.60,through-hole anchor tabs for strain +U7,Power/USB,USB ESD protection array,STMicroelectronics,USBLC6-2SC6,1,0.30,D+/D-/CC/VBUS +FL1,Power/USB,USB common-mode choke,Wurth,744232090,1,0.35,data-pair EMI +U8,Click,I2S audio DAC,Texas Instruments,PCM5102APWR,1,2.20,Burr-Brown; reliability-first +X1,Click,Low-jitter audio oscillator,Abracon,ASEM1-24.576MHZ-LR-T,1,1.40,dedicated MCLK; not PIO-jittered +U9,Audio-in,Balanced line receiver,THAT Corp,THAT1240W16-U,1,3.20,laser-trimmed; high CMRR +U10,Audio-in,JFET Hi-Z instrument buffer,Texas Instruments,OPA1641AID,1,1.60,>=1Mohm DI buffer + gain +U11,Audio-mix,Dual audio op-amp (sum/filter),Texas Instruments,OPA1612AIDR,1,2.40,signal-path low noise +U12,Audio-out,Balanced line driver,THAT Corp,THAT1646W16-U,1,3.30,near-zero source; 47ohm build-out per leg +RV1,Audio-out,Output level cal trimmer 25-turn,Bourns,3296W-1-103LF,1,0.70,factory-set DAC FS -> +4dBu +U13,Indicator,Dual comparator (sig/clip),Texas Instruments,LM393DR,1,0.15,peak-detect -> RP2350 GPIO + LED lines +K1,Audio-in,Signal relay line/inst (DPDT gold),Panasonic,TQ2SA-5V,1,1.30,sealed gold bifurcated contacts +K2,Audio-out,Mute relay (fail-safe DPDT gold),Panasonic,TQ2SA-5V,1,1.30,de-energized=muted +K3,Audio-out,Ground-lift relay (gold),Panasonic,TQ2SA-5V,1,1.30,series with face panel switch; soft-lift 100R||10nF +U14,Control,Relay driver array,Texas Instruments,ULN2003ADR,1,0.20,drives K1-K3 with flyback +U15,RTC,Real-time clock (integrated xtal),Micro Crystal,RV-8803-C7,1,1.50,I2C on touch bus; drift irrelevant +BT1,RTC,CR2032 holder (socketed),Keystone,1066,1,0.30,user-replaceable +U16,MIDI(DNP),Opto-isolator MIDI IN,Vishay,H11L1M,1,0.55,DNP populate-option +U17,MIDI(DNP),Hex Schmitt buffer MIDI OUT/THRU,Nexperia,74LVC14APW,1,0.20,DNP populate-option +U18,Speaker(DNP),Class-D mono amp,Diodes Inc,PAM8302AASCR,1,0.35,DNP monitor option per face +J2,Interconnect,Digital ribbon header 2x13 shrouded keyed,Wurth,61303421821,1,0.45,Pico-pinout-compatible +J3,Interconnect,Analog audio header 2x5 shrouded keyed,Wurth,61301021821,1,0.35,twisted/shielded; away from digital +J4,Interconnect,MIDI header 1x6,Wurth,61300611121,1,0.20,used only if DNP MIDI populated +J5,Debug,SWD Cortex-Debug 2x5 1.27mm,Samtec,FTSH-105-01-L-DV-K,1,0.50,service header +D-arr,ESD,Interconnect ESD clamp arrays,Texas Instruments,TPD2E2U06DCKR,3,0.10,on user-touchable lines +PASS,Passives,Film caps / 0.1% thin-film R / clamp diodes / ferrites,various,various,1,4.00,WIMA film signal caps; Panasonic ERA 0.1%; no electrolytics in signal path +PCB,Fabrication,4-layer PCB ENIG finish,JLCPCB/PCBWay,custom,1,3.00,gold finish; qty-dependent diff --git a/hardware/DESIGN.md b/hardware/DESIGN.md new file mode 100644 index 0000000..35a3793 --- /dev/null +++ b/hardware/DESIGN.md @@ -0,0 +1,211 @@ +# PM_K-1 Core Board ("brain") — design-of-record + +VARASYS PolyMeter · heirloom pro-audio · modular brain/face architecture +Status: **design-of-record / pre-layout.** Component selection complete; PCB routing is the +remaining interactive step (see [Open items](#open-items)). + +--- + +## 1. Philosophy + +This is meant to be a device people hand down to their great-grandkids. The core board carries +**all the active electronics** and is specced to pro/audiophile tier with longevity and +serviceability as first-class goals. We do **not** value-engineer the audio path. + +The user selects the face/enclosure/connector components; this document specs only the **core**. + +## 2. Architecture — modular brain/face + +- **Core ("brain"):** RP2350 + power + RTC + the full pro-audio analog chain + control logic. + One core design is reused across every form factor. +- **Face ("form factor"):** display, touch, joystick, buttons, LED, speaker, the physical + audio/MIDI connectors, panel switches, enclosure. **The core never decides connector type.** +- **Two interconnects, deliberately separate** (§7): + 1. a **digital ribbon** whose pinout mirrors the Raspberry Pi Pico, so a stock Pico/Pico 2 on a + test adapter can drive any face board for bring-up; + 2. an **analog interconnect** (+ a small MIDI interconnect) kept physically away from the fast + digital ribbon, because a balanced audio signal must never run parallel to the 24 MHz display SPI. + +## 3. Block diagram + +``` +USB-C 5V ─┬─► 3V3 LDO ──────────────────────► RP2350 (core reg + ext L) + W25Q128 16MB + RV-8803 RTC(+CR2032) + │ │ I²S + low-jitter MCLK + └─► TPS65131 ±18V ─► TPS7A49/30 LDO ─► clean ±15V ▼ + PCM5102A DAC ──► [summing: click + input] + │ + bal IN ─[ESD/DC-block/clamp/series-R]─► [LINE/INST relay] ─┬─ THAT1240 receiver ──┘ + (analog interconnect) └─ OPA1641 Hi-Z DI buffer (+gain) + │ + THAT1646 balanced driver ─[47Ω build-out]─► [MUTE relay]─► bal OUT + shield ─[panel SW]─[GND-LIFT relay]─ gnd + sig/clip peak detect ─► LM393 ─► RP2350 GPIO (UI) + LED lines (interconnect) + RP2350 UART ─► [DNP: H11L1 opto IN + 74LVC14 buffer OUT] ─► MIDI interconnect (USB-MIDI = default) +``` + +## 4. Functional blocks + +### 4.1 MCU + digital +- **RP2350A** (QFN-60, 30 GPIO). Chosen over RP2040 as the newest in-house part: dual M33+RISC-V, + 520 KB RAM, secure boot, longest production runway. Firmware runs unchanged. + - **Erratum E9:** high-impedance inputs can latch — every input we read (face switches, buttons) + gets an **external pulldown**, never relies on the internal pad alone. + - Core supply via the RP2350 on-chip switched-mode regulator (external inductor); 3V3 IO from an + external LDO (AP2112K-3.3 / TLV75533). +- **Flash:** Winbond **W25Q128JV** (16 MB) — genuine part; the CircuitPython appliance bundles the + editor + tracks on a USB drive. Firmware does wear-leveling for `history.json`. +- **Crystal:** 12 MHz ±30 ppm. +- **Debug/service:** SWD 2×5 Cortex-Debug header + labeled test points (rails, I²S, audio nodes). + +### 4.2 Click source (DAC) +- **TI/Burr-Brown PCM5102A** I²S DAC — reliability-first, widely stocked for future repair. +- Fed by a **dedicated low-jitter audio oscillator** (22.5792/24.576 MHz MEMS XO), **not** an MCLK + jittered out of the RP2350 PIO — jitter is audible as a raised noise floor. + +### 4.3 Analog audio chain (the heart) +- **Input (balanced, switchable line/instrument):** + - **Line mode:** THAT1240 laser-trimmed balanced receiver (~high CMRR, no hand-matched resistors). + - **Instrument mode:** OPA1641 JFET Hi-Z buffer (≥1 MΩ) + ~+10–15 dB gain (active DI). + - Selected by a **gold-contact signal relay** on the core (1 GPIO; touchscreen toggle, optional + face panel switch on a separate GPIO input). + - **Protection (non-negotiable):** series DC-blocking film cap (blocks +48 V phantom — the real + input-killer), clamp diodes/TVS to the rails, series current-limit resistor. A wrong-mode plug + then only *sounds* wrong; nothing is damaged. +- **Mix:** digital/firmware (touchscreen). Analog stage at unity; click level set via the DAC. +- **Output driver:** THAT1646 balanced line driver, **47 Ω build-out per leg** for + cable-capacitance stability and short-circuit tolerance (§5.1). +- **No electrolytics in the signal path** — film coupling caps (WIMA). 0.1 % thin-film resistors. + +### 4.4 Output protection / conditioning +- **Power-up/down mute relay** — fail-safe, **de-energized = muted** (shorts hot+cold to gnd). A + hardware rail supervisor + RC turn-on delay un-mutes only after ±15 V settles; on power loss the + coil drops and mutes *faster than the rails can thump*. **Not MCU-dependent.** The MCU can *also* + assert mute (for clean line/inst flips and DAC reconfig). +- **Ground-lift** — both a **face panel switch** and a **core GPIO relay**, wired in **series** in + the shield-ground path: bonded only when both closed, either opening lifts it. **Soft lift = + 100 Ω ∥ 10 nF** (not a hard open) so RF/safety keeps a path. + +### 4.5 RTC +- **Micro Crystal RV-8803** (integrated 32.768 kHz crystal → no second crystal near the RP2350's + own) + **CR2032 in a socketed holder**. Shares the touch I²C bus (no extra GPIO). Drift is + irrelevant for a practice-log timestamp; reliability and zero-fuss layout win. + +### 4.6 MIDI (default USB, hardware optional) +- **USB-MIDI is the default** and already in firmware — IN/OUT/THRU are software routing to a + computer/tablet host. Zero extra parts. +- **Dedicated DIN/TRS MIDI is a DNP populate-option:** the RP2350 UART lines route to the MIDI + interconnect with **H11L1 opto IN + 74LVC14 buffered OUT/THRU footprints left unpopulated**. + A "stage" face can populate them for laptop-free hardware sync. (USB-MIDI can't peer-to-peer with + standalone DIN gear — the device is a USB *peripheral*, not a host — which is why the hardware + option stays available.) Analog pulse/clock sync: **not included** (MIDI only). + +### 4.7 Monitor speaker +- **DNP-optional** class-D amp (PAM8302) footprint on the core; speaker +/- routed on the analog + interconnect. Populated only for form factors that want a built-in monitor. + +## 5. The five remaining pro details (decided) + +### 5.1 Output impedance & level calibration +- THAT1646 source impedance is near-zero; **47 Ω build-out resistors** per leg give stable driving + into long/capacitive cables and survive a shorted output. +- **Level calibration:** a 25-turn precision trimmer (Bourns 3296W) in the driver gain network, + factory-set so DAC full-scale → **+4 dBu nominal**, leaving ~**+24 dBu** peak headroom on ±15 V. + Set-and-forget on the core; not a face control. + +### 5.2 Signal / clip indication +- A peak detector (Schottky + hold cap) on the input (signal-present, ~−40 dBu) and on the + driver-input/summing node (clip, within ~3 dB of rail) feeds an **LM393** dual comparator. +- Comparator outputs go to **RP2350 GPIOs** (clip/signal shown on the touchscreen) **and** are + mirrored to **SIG/CLIP LED drive lines on the digital interconnect** so a face can fit discrete LEDs. + +### 5.3 ESD / EMI hardening +- **USB-C:** USBLC6-2SC6 (or TPD4E05U06) ESD array on D±/CC/VBUS; common-mode choke on the data + pair; shell bonded to chassis via RC; ferrite + TVS + bulk on VBUS. +- **Interconnects:** ~33 Ω series on fast SPI lines for edge-rate control; ESD clamp arrays on any + line reaching a user-touchable cable; interleaved ground pins; ferrite beads where 3V3/5V cross + into the analog domain. +- **Board:** full ground planes + stitching vias; the boost/inverter switcher lives in a guarded + corner away from the analog section; analog/digital grounds meet at a single **star point**. +- **Heirloom option:** conformal coating for humidity/longevity (build-time choice). + +### 5.4 Chassis / strain-relief (core-side) +- 4× **M3 mounting holes** with keep-outs; a dedicated chassis-ground pad/pin. +- **Through-hole-anchored USB-C** jack (SMD-only tabs shear off with cable wiggle — unacceptable for + a 50-year device). +- **Shrouded, keyed, latching** interconnect headers (can't insert backward or vibrate loose). +- Panel strain-relief and connector mounting live on the face/enclosure. + +### 5.5 Interconnect pinout — see §7. + +## 6. Power tree + +| Rail | Source | Part | Notes | +|---|---|---|---| +| +5 V | USB-C VBUS | — | ferrite + TVS + bulk | +| +3V3 (IO) | LDO from 5 V | AP2112K-3.3 / TLV75533 | digital domain | +| +1.1 V core | RP2350 internal SMPS | (external inductor) | per RP2350 ref | +| ±18 V (raw) | dual boost/inverter from 5 V | **TPS65131** | switcher, guarded corner | +| **±15 V (clean)** | ultra-low-noise LDO | **TPS7A4901 (+) / TPS7A3001 (−)** | feeds all audio op-amps | + +## 7. Interconnect pinouts + +### 7.1 Digital ribbon — 2×13 (26-pin) IDC, Pico-pinout-compatible +Grounds interleaved around SPI. A Pico/Pico 2 test adapter maps these to the listed GP. + +| Pin | Signal | GP | | Pin | Signal | GP | +|----|--------|----|--|----|--------|----| +| 1 | +5V | — | | 2 | GND | — | +| 3 | +3V3 | — | | 4 | GND | — | +| 5 | SPI_SCK | GP2 | | 6 | GND | — | +| 7 | SPI_MOSI | GP3 | | 8 | LCD_CS | GP5 | +| 9 | LCD_DC | GP6 | | 10 | LCD_RST | GP7 | +| 11 | GND | — | | 12 | I2C_SDA | GP8 | +| 13 | I2C_SCL | GP9 | | 14 | GND | — | +| 15 | JOY_X (ADC0) | GP26 | | 16 | JOY_Y (ADC1) | GP27 | +| 17 | BTN_A | GP15 | | 18 | BTN_B | GP14 | +| 19 | WS2812 | GP12 | | 20 | GND | — | +| 21 | GNDLIFT_SW (in) | GP21 | | 22 | LINEINST_SW (in) | GP22 | +| 23 | SIG_LED | GP19 | | 24 | CLIP_LED | GP20 | +| 25 | GND | — | | 26 | GND | — | + +*I²S (BCK/LRCK/DOUT), the relays (line/inst route GP16, mute GP18, gnd-lift GP17), and MCLK stay +on-core — they are not on the ribbon. A Pico test brain drives the digital/face I/O above but +**cannot** drive the analog chain (DAC/op-amps are core-only).* + +### 7.2 Analog audio interconnect — 2×5 (10-pin), twisted/shielded, away from digital +| Pin | Signal | | Pin | Signal | +|----|--------|--|----|--------| +| 1 | AOUT_HOT | | 2 | AGND | +| 3 | AOUT_COLD | | 4 | CHASSIS/SHIELD (face side of ground-lift) | +| 5 | AIN_HOT | | 6 | AGND | +| 7 | AIN_COLD | | 8 | SPK+ (DNP) | +| 9 | AGND | | 10 | SPK− (DNP) | + +### 7.3 MIDI interconnect — 1×6, only if DNP MIDI populated +| Pin | Signal | +|----|--------| +| 1 | MIDI_OUT_A (TRS-A tip/ring leg) | +| 2 | MIDI_OUT_B | +| 3 | MIDI_IN_A (to opto) | +| 4 | MIDI_IN_B | +| 5 | +5V (OUT drive) | +| 6 | GND / shield | + +## 8. BOM +Full part list with manufacturer numbers and rough costs in **`hardware/BOM.csv`**. Headline parts: +RP2350A · W25Q128JV · PCM5102A · THAT1240 + THAT1646 · OPA1641 · OPA1612 · TPS65131 + TPS7A4901/3001 · +RV-8803 · USBLC6-2SC6 · 3× Panasonic TQ2SA gold-contact relays · H11L1 (DNP). + +## 9. Manufacturing +- **PCB:** ENIG (gold) finish — non-negotiable for decades of reliable contacts/solderability. +- **Assembly:** JLCPCB/PCBWay PCBA, ~5-board prototype minimum; ~$80–200 first run. Core parts cost + ~$25–40/board one-off (pro op-amps + relays dominate), trending toward ~$15–20 at qty 100. +- Most expensive items are the THAT audio ICs and the relays — that's where "heirloom" lives. + +## 10. Open items +- **PCB layout/routing is the interactive next step** — placement, controlled-impedance USB pair, + star ground, switcher isolation, copper pours, DRC. The KiCad project under `hardware/kicad/` + is a documented schematic canvas + design-of-record; symbol placement and wiring happen in + Eeschema. `kicad-cli` is used here for ERC and PDF export verification. +- Confirm the exact 3.5" ST7796/GT911 panel connector (FPC vs header) before finalizing the face. +- Decide MIDI connector (TRS-MIDI Type-A vs DIN-5) per form factor — face decision. diff --git a/hardware/kicad/.gitignore b/hardware/kicad/.gitignore new file mode 100644 index 0000000..e1f523b --- /dev/null +++ b/hardware/kicad/.gitignore @@ -0,0 +1,7 @@ +# KiCad generated/derived outputs +*.pdf +*.net +*-bak +*.kicad_prl +fp-info-cache +~*.lck diff --git a/hardware/kicad/pm_k1_core.kicad_pro b/hardware/kicad/pm_k1_core.kicad_pro new file mode 100644 index 0000000..4b78c4a --- /dev/null +++ b/hardware/kicad/pm_k1_core.kicad_pro @@ -0,0 +1,92 @@ +{ + "board": { + "design_settings": { + "defaults": {}, + "rules": {}, + "track_widths": [], + "via_dimensions": [] + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "rule_severities": {}, + "rule_severitiesV2": {} + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "pm_k1_core.kicad_pro", + "version": 1 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.25, + "via_diameter": 0.8, + "via_drill": 0.4, + "wire_width": 6 + } + ], + "meta": { + "version": 3 + } + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "specctra_dsn": "", + "step": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "drawing": {}, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "net_format_name": "", + "page_layout_descr_file": "", + "plot_directory": "", + "spice_current_sheet_as_root": false, + "spice_external_command": "spice \"%I\"", + "spice_model_current_sheet_as_root": true, + "spice_save_all_currents": false, + "subpart_first_id": 65, + "subpart_id_separator": 0 + }, + "sheets": [ + [ + "743b8308-6a69-48de-a6ff-2336bc6c804f", + "" + ] + ], + "text_variables": {} +} diff --git a/hardware/kicad/pm_k1_core.kicad_sch b/hardware/kicad/pm_k1_core.kicad_sch new file mode 100644 index 0000000..913c4e1 --- /dev/null +++ b/hardware/kicad/pm_k1_core.kicad_sch @@ -0,0 +1,56 @@ +(kicad_sch (version 20230121) (generator eeschema) + (uuid 743b8308-6a69-48de-a6ff-2336bc6c804f) + (paper "A3") + (title_block + (title "PM_K-1 Core Board (brain) - VARASYS PolyMeter") + (date "2026-05-30") + (rev "A") + (company "VARASYS") + (comment 1 "Heirloom pro-audio modular core: RP2350 + +/-15V studio audio + balanced click-injector") + (comment 2 "Design-of-record canvas - see hardware/DESIGN.md. Symbol placement + wiring = interactive TODO in Eeschema.") + ) + (lib_symbols) + (text "PM_K-1 CORE BOARD (\"brain\")\nHeirloom pro-audio modular core - design-of-record canvas.\nFull spec, BOM and interconnect pinouts: hardware/DESIGN.md + hardware/BOM.csv." + (at 20 18 0) + (effects (font (size 2.2 2.2)) (justify left top)) + (uuid 00109097-7760-4eb7-b299-bd3f64383aab) + ) + (text "POWER TREE\nUSB-C 5V -> AP2112K 3V3 (digital IO)\nRP2350 internal SMPS -> 1.1V core (ext L)\nTPS65131 dual boost/inverter -> raw +/-18V\nTPS7A4901 / TPS7A3001 LDO -> CLEAN +/-15V (audio)\nStar ground; switcher in a guarded corner." + (at 20 45 0) + (effects (font (size 1.6 1.6)) (justify left top)) + (uuid 4e184999-041e-4c11-9e86-faad487f2bad) + ) + (text "MCU + DIGITAL\nRP2350A (QFN-60) - mind E9 erratum: external pulldowns on read inputs.\nW25Q128JV 16MB QSPI flash (wear-leveled).\n12MHz crystal. SWD 2x5 + labeled test points.\nI2S BCK/LRCK/DOUT + low-jitter 24.576MHz MCLK stay ON-CORE." + (at 110 45 0) + (effects (font (size 1.6 1.6)) (justify left top)) + (uuid 43233868-23ee-43fa-b873-a47bffeacf5f) + ) + (text "CLICK SOURCE\nPCM5102A I2S DAC (Burr-Brown).\nFed by dedicated low-jitter audio XO (ASEM1-24.576MHz),\nnot PIO-jittered MCLK." + (at 200 45 0) + (effects (font (size 1.6 1.6)) (justify left top)) + (uuid a62ad51b-a1a9-4c34-b3d7-314c107afc7a) + ) + (text "ANALOG INPUT (switchable line / instrument)\nProtection (non-negotiable): series DC-block film cap (blocks +48V phantom),\nclamp diodes/TVS to rails, series current-limit R.\nLINE: THAT1240 balanced receiver (laser-trimmed CMRR).\nINST: OPA1641 JFET Hi-Z buffer (>=1Mohm) + ~+10..15dB gain.\nK1 gold relay selects path (GPIO; touchscreen or optional face switch)." + (at 20 80 0) + (effects (font (size 1.6 1.6)) (justify left top)) + (uuid 737ed14f-66db-4799-a337-21438143ce09) + ) + (text "MIX + OUTPUT\nMix = digital/firmware (click level via DAC); analog stage at unity.\nTHAT1646 balanced driver + 47ohm build-out per leg.\nOutput level: Bourns 3296W 25-turn trim -> DAC FS = +4dBu (~+24dBu headroom).\nMUTE relay K2: fail-safe (de-energized = muted); HW supervisor, not MCU-dependent.\nGROUND-LIFT: face panel switch IN SERIES with core relay K3; soft-lift 100ohm||10nF.\nNO electrolytics in signal path - WIMA film caps, 0.1% thin-film R." + (at 110 80 0) + (effects (font (size 1.6 1.6)) (justify left top)) + (uuid 99fe482f-1fde-4dd1-9579-56113dcb21bc) + ) + (text "INDICATORS / MIDI / SPEAKER\nSIG/CLIP: peak detect -> LM393 -> RP2350 GPIO (UI) + LED lines on interconnect.\nMIDI: USB-MIDI default (firmware). DNP hardware option: H11L1 opto IN + 74LVC14 OUT/THRU.\nSpeaker: PAM8302 class-D, DNP per form factor.\nESD/EMI: USBLC6-2 on USB + CM choke; series R + ESD arrays on interconnect; ferrites at analog crossing." + (at 20 120 0) + (effects (font (size 1.6 1.6)) (justify left top)) + (uuid 03eeefa8-7728-4e14-90c0-6d0496a0d207) + ) + (text "INTERCONNECTS (see DESIGN.md s7)\nJ2 DIGITAL RIBBON 2x13 - Pico-pinout-compatible (SPI/I2C/ADC/buttons/LED + GNDLIFT_SW/LINEINST_SW/SIG_LED/CLIP_LED).\nJ3 ANALOG 2x5 - AOUT H/C, AIN H/C, AGND, CHASSIS/SHIELD, SPK+/- (DNP). Kept away from the fast digital ribbon.\nJ4 MIDI 1x6 - OUT A/B, IN A/B, +5V, GND (only if DNP MIDI populated).\nRelays + I2S + MCLK are core-only and NOT on the ribbon; a Pico test brain drives digital I/O but not the analog chain." + (at 110 120 0) + (effects (font (size 1.5 1.5)) (justify left top)) + (uuid 0b1d2c3e-4f5a-6b7c-8d9e-0a1b2c3d4e5f) + ) + (sheet_instances + (path "/" (page "1")) + ) +)