HOW TO READ THIS PRINT: exactly like a building print. The plan shows where everything sits. The lead sheet shows every wire as a lead you trace with your finger — pin to pin, both ends labeled — before you solder anything. Stages run in number order. Every stage ends in a ✔ CHECK. Do not skip a check.
Ritz’s box (the donor shell follows the same logic). Positions are the engineering — the ears get the top, the voice gets a sealed room, the brain gets air and a clear antenna corner.
The only soldered subassembly: the amp’s header pins (Stage 3). Everything after that is jumpers and plugs. Count Pi header pins from the pin-1 end (the end nearest the board edge / SD card). Miscounting the header by one row is THE classic fault — count twice.
| Pi 5 header | Lead | → Amp pin | What it carries |
|---|---|---|---|
| PIN 2 · 5V | ■■■ power | VIN | Amp power (same 5V rail as pin 4 — pin 2 keeps the lead dressed clear of the signals) |
| PIN 39 · GND | ■■■ ground | GND | Amp ground — the ground closest to the signal pins, so returns run short with them |
| PIN 12 · GPIO18 | ■■■ BCLK | BCLK | I2S bit clock |
| PIN 35 · GPIO19 | ■■■ LRC | LRC | I2S word select (some clone boards print “WS” — ours is genuine Adafruit #3006, prints LRC) |
| PIN 40 · GPIO21 | ■■■ DIN | DIN | I2S audio data, Pi → amp |
| — | no lead | GAIN | LEAVE FLOATING = default 9 dB gain. Safe middle for an unmetered driver; can rise later. |
| — | no lead | SD | LEAVE FLOATING = amp ON, mono (L+R)/2. Never tie SD to GND — that kills the amp. |
| Amp | → | Rule |
|---|---|---|
| SPEAKER + | Driver #1, terminal A | Bridge-tied outputs: BOTH legs are live. Speaker − is NOT ground — never to GND, never to the box, never to another amp. |
| SPEAKER − | Driver #1, terminal B |
| Plug leads — no solder | From → To |
|---|---|
| EARS | XVF3800 → Pi USB-A (its own USB cable). Case/USB version only — a “reSpeaker Flex” (Seeed’s separate split-design robotics board) is a different part, send it back. |
| COOLER | Active Cooler → Pi’s 4-pin fan header (keyed, fits one way — NOT a GPIO pin). |
| FACE (only if screen is in the build) | Pi micro-HDMI port 0 (nearest the USB-C) → display HDMI · Pi USB-A → display power. If undervoltage ever shows with the screen on, the screen gets its own 5V wall wart — that’s the planned fallback, not a failure. |
| POWER IN | Official 27W USB-C PSU → Pi USB-C. The build’s ONLY power inlet. |
| NEVER WIRED | GPIO 27/28 (reserved ID pins) · all other GPIO · the Pi’s 3.3V pins (nothing in this build drinks 3.3V from the header). |
Stages 1–6 happen OUTSIDE the box, on the bench. The box only receives a proven stack.
microSD in · cooler plugged · official PSU only.
✔ CHECK: Pi boots, Pinky confirms over the network. Undervoltage warning = STOP — bad supply or board, not wiring.
Ohms across each harvested driver’s terminals. Flex each cone gently.
✔ CHECK: sane reading ≈ 3–15 Ω. Open (∞) or ~0 Ω = dead/shorted — that driver NEVER gets wired; tell Ritz. Cone scraping = same verdict. This gate protects everything after it.
The one board-level solder job: header strip onto the MAX98357A.
✔ CHECK: no bridges (meter: VIN↔GND must NOT beep) · joints shiny, none cold/balled.
The 5 leads from Sheet B + speaker leads to Driver #1.
✔ CHECK: tug-test every jumper · re-trace every lead against Sheet B, pin by pin, counted from pin 1.
Power on. Pinky plays a test voice clip.
✔ CHECK: clean voice, low volume. Hum that changes when you touch wires = dressing/ground — shorten, re-dress. Distortion at low volume = STOP, check BCLK/LRC aren’t swapped. Never “test it loud.”
XVF3800 into USB. Speak from 3–4 m away.
✔ CHECK: Pinky confirms clean capture + LED ring reacts. Muffled = ports blocked or board upside-down — fix NOW, not after the box.
Micro-HDMI port 0 → screen · USB power lead.
✔ CHECK: lights, right-side up, touch answers. Undervoltage ONLY with screen on → screen moves to its own 5V wart.
Everything into the box per Sheet A. Power OFF. Nothing final-fastened.
✔ CHECK: antenna corner ≥ 2 cm clear · mic ports open · I2S ≤ 15 cm, speaker < 20 cm · vents open · USB-C reachable. Photograph the layout → Pinky (build record).
Full stack live in the box. Repeat Stage 5 + 6 checks in the box.
✔ CHECK: new buzz = a wire touching a driver surround or panel — re-dress. Then 30-min soak: voice playing, fan cycling normal, no thermal warnings.
Unit lives in its room an evening, TV/music on. Pinky arms the wake log.
✔ CHECK: zero-to-few false “Hey Pinky” fires = pass. Threshold tuning is Pinky’s code-side job — hardware doesn’t change after this stage without re-running Stage 9.
A burnt-out house, rebuilt. Alexa’s burned wiring (her sealed board, her brain, her cloud) comes OUT. Her keepable bones — the shell, two speaker drivers, the passive radiator — STAY. Into the empty house goes a new panel (the Pi), new ears (the mic array), and a voice muscle (the amp) driving her kept speakers. The Pi carries a key (a token on the SD card Pinky flashes). On boot it knocks on our house over Wi-Fi, shows the key, and gets recognized — then the thing on the counter answers to “Hey Pinky,” holds a conversation, and reads the morning report out loud. Everything you wire is the body. Everything that makes it someone is programming — Pinky’s side of the wall.
Pi board 2.4A · USB rail 1.5A (mic ~0.5 + screen ~1.0, under the Pi’s 1.6A cap) · amp 0.7A peak · cooler 0.1A → 4.7A ≤ 5.0A ✔. The board + screen figures are conservative planning allocations (Pi publishes 800 mA typical + the 5A supply recommendation); every rail, cap and pin on this print was load-tested Oct 27 against the manufacturers’ own documents — report: load-test-oct27. Idling/listening sits far below.