The kit build uses through-hole parts and breakout pads only, with no surface-mount soldering. The I²C boards plug together with STEMMA QT / Qwiic cables. Everything else is point-to-point silicone wire.
No 40-pin header is fitted on the Radxa, which saves 8.5 mm of height. Wires and the STEMMA cable's male pins solder straight into the header holes.
Header pin numbers follow the Raspberry-Pi-style layout the Radxa ZERO 3E uses. Check each pin against Radxa's ZERO 3E pinout page before soldering. Pad names are as printed on each board's silkscreen; where a name could not be confirmed from a primary source, it says check silkscreen.
| Net | Gauge | Why |
|---|---|---|
| Tail USB-C VBUS → charger VBUS pad; battery → F2 → charger LIPO; charger OUT → Pololu → boost VIN; all GND returns of these | 26 AWG (Adafruit 1877/1881) | up to 1.5 A from USB, ≈ 1.6 A peak on battery |
| Boost 5 V → ideal diode → Radxa pin 2; boost 5 V → F1 → ring +V | 26 AWG | Radxa ≈ 0.8 A peak; ring ≤ 0.9 A at the brightness cap |
| Every wire to or from the lid connector | its own pigtails: 26 AWG PTFE, all white (Harwin) | cut to length and soldered to the pads; flag each with its contact number |
| Everything else: data, I²C, eye switch, motor, the lid's short links | 30 AWG (Adafruit 2051) | ≤ 100 mA |
Keep the JST-PH leads (28 AWG) short and splice to 26 AWG for the power run.
Cut list. Every wire runs pad to pad: each end is a named pad on its board, from the vendor's own board file (cad/board_pads.py, ADR-0021). Its length comes from routing it through the closed case (cad/wire_routes.py; drawn in the site's 3D model under Wires, with each pad named under Pins). Every soldered wire carries 30 mm to work with, so you can hold a board up out of its place while you solder it; wires to the lid are also cut long enough to lay the lid open beside the chassis, still plugged in. When closing, fold the spare into a small loop where the model shows it.
Pads with more than one wire are listed in out_pebble/wires.json (summary.pads_shared); a check holds their bare cores to half of each Ø1.0 mm hole.
Harwin G125, 2 × 6 at 1.25 mm: contacts 1–6 on one row, 7–12 on the other, 1 opposite 7 (Harwin C125 spec, Appendix 1). Contact 1 is at the end with the "contact 1 ident" notch. The same number joins through the pair. Every pigtail is white, so flag each lead with its number before you cut it.
| Contact | Line | Chassis end (socket pigtail) | Lid end (plug pigtail) |
|---|---|---|---|
| 1 | GND | Radxa pin 39 | NFC tag GND (the lid's ground chain starts here) |
| 2 | mic rail | mic slide switch | tail mic 3V |
| 3 | I²S BCLK | Radxa pin 12 | tail mic BCLK |
| 4 | I²S LRCL | Radxa pin 35 | tail mic LRCL |
| 5 | I²S DOUT | Radxa pin 38 (100 kΩ to pin 39) | tail mic DOUT |
| 6 | eye | Radxa pin 16 | eye switch leg 1 |
| 7 | icon 5 V | strip +V pad, through D4 | icon LED 5V |
| 8 | icon DIN | Radxa pin 19, through 470 Ω | icon LED Din (10 kΩ to gnd) |
| 9 | icon DOUT | strip DIN pad | icon LED Dout |
| 10 | 3V3 | clock VIN | NFC tag 3V3 |
| 11 | SDA | clock SDA | NFC tag SDA |
| 12 | SCL | clock SCL | NFC tag SCL |
| Run | Wire, pad to pad | AWG | Routed in the closed case (mm) | To the lid | Cut (mm) |
|---|---|---|---|---|---|
| USB-C port → charger | VBUS: USB-C port VBUS → charger VBUS | 26 AWG silicone | 156 | 220 | |
| GND: USB-C port GND → charger GND | 26 AWG silicone | 158 | 220 | ||
| Battery lead → charger | cell +: battery cell lead + (red) → charger LiPo Batt + | 26 AWG silicone | 73 | 120 | |
| cell −: battery cell lead − → charger LiPo Batt − | 26 AWG silicone | 80 | 130 | ||
| Thermistor → charger | RT1: battery thermistor → charger THERM | 30 AWG silicone | 88 | 140 | |
| RT1 GND: battery thermistor → charger GND | 30 AWG silicone | 85 | 140 | ||
| Charger → power switch module | OUT: charger OUT → power switch module VIN | 26 AWG silicone | 160 | 220 | |
| GND: charger GND → power switch module GND | 26 AWG silicone | 164 | 230 | ||
| Power switch module → boost | SW-RAIL: power switch module VOUT → 5 V boost VIN | 26 AWG silicone | 61 | 110 | |
| GND: power switch module GND → 5 V boost GND | 26 AWG silicone | 57 | 110 | ||
| Power slide → power switch module | control: power slide switch pin 2 (common) → power switch module SW | 30 AWG silicone | 88 | 140 | |
| GND: power slide switch pin 1 → power switch module GND | 30 AWG silicone | 90 | 140 | ||
| Boost → ideal diode | 5 V: 5 V boost VOUT → ideal diode VIN 1 | 26 AWG silicone | 38 | 90 | |
| GND: 5 V boost GND → ideal diode GND | 26 AWG silicone | 41 | 90 | ||
| Ideal diode → Radxa | 5 V: ideal diode Vout → Radxa (compute) 2 · 5V | 26 AWG silicone | 65 | 120 | |
| GND: ideal diode GND → Radxa (compute) 6 · GND | 26 AWG silicone | 64 | 110 | ||
| Boost → ring strip | 5 V: 5 V boost VOUT → light-ring strip +5V | 26 AWG silicone | 54 | 100 | |
| GND: 5 V boost GND → light-ring strip GND | 26 AWG silicone | 51 | 100 | ||
| Power switch module → motor | SW-RAIL: power switch module VOUT → vibration motor red lead (+) | 30 AWG silicone | 68 | 120 | |
| Radxa → motor | pin 18: Radxa (compute) 18 · GPIO → vibration motor PN2222A base | 30 AWG silicone | 80 | 130 | |
| GND: Radxa (compute) 20 · GND → vibration motor PN2222A emitter | 30 AWG silicone | 83 | 140 | ||
| STEMMA QT: Radxa → secure element | 3V3: Radxa (compute) 1 · 3V3 → secure element STEMMA QT | STEMMA QT cable | 44 | 60 | |
| GND: Radxa (compute) 9 · GND → secure element STEMMA QT | STEMMA QT cable | 46 | 70 | ||
| SDA: Radxa (compute) 3 · SDA → secure element STEMMA QT | STEMMA QT cable | 42 | 60 | ||
| SCL: Radxa (compute) 5 · SCL → secure element STEMMA QT | STEMMA QT cable | 39 | 60 | ||
| STEMMA QT: secure element → clock | 3V3: secure element STEMMA QT → clock STEMMA QT | STEMMA QT cable | 82 | 110 | |
| GND: secure element STEMMA QT → clock STEMMA QT | STEMMA QT cable | 83 | 110 | ||
| SDA: secure element STEMMA QT → clock STEMMA QT | STEMMA QT cable | 82 | 110 | ||
| SCL: secure element STEMMA QT → clock STEMMA QT | STEMMA QT cable | 81 | 100 | ||
| Radxa → mic slide | 3V3: Radxa (compute) 17 · 3V3 → mic slide switch pin 2 (common) | 30 AWG silicone | 61 | 110 | |
| Mic slide → the lid | mic rail: mic slide switch pin 1 → lid connector 2 · mic rail | 26 AWG PTFE pigtail (white) | 84 | yes | 170 |
| Radxa I²S → the lid | BCLK: Radxa (compute) 12 · I2S BCLK → lid connector 3 · BCLK | 26 AWG PTFE pigtail (white) | 70 | yes | 150 |
| LRCL: Radxa (compute) 35 · I2S LRCK → lid connector 4 · LRCL | 26 AWG PTFE pigtail (white) | 51 | yes | 150 | |
| DOUT: Radxa (compute) 38 · I2S SDI → lid connector 5 · DOUT | 26 AWG PTFE pigtail (white) | 53 | yes | 150 | |
| GND: Radxa (compute) 39 · GND → lid connector 1 · GND | 26 AWG PTFE pigtail (white) | 56 | yes | 150 | |
| Radxa → the lid: eye button | pin 16: Radxa (compute) 16 · GPIO → lid connector 6 · eye | 26 AWG PTFE pigtail (white) | 53 | yes | 100 |
| Radxa → the lid: icon LED data | pin 19: Radxa (compute) 19 · SPI MOSI → lid connector 8 · icon DIN | 26 AWG PTFE pigtail (white) | 49 | yes | 110 |
| Ring strip → the lid: icon LED power and data back | 5 V: light-ring strip +5V → lid connector 7 · icon 5 V | 26 AWG PTFE pigtail (white) | 121 | yes | 180 |
| DOUT: light-ring strip DIN → lid connector 9 · icon DOUT | 26 AWG PTFE pigtail (white) | 123 | yes | 180 | |
| Clock → the lid: NFC tag I²C | 3V3: clock VIN → lid connector 10 · 3V3 | 26 AWG PTFE pigtail (white) | 32 | yes | 80 |
| SDA: clock SDA → lid connector 11 · SDA | 26 AWG PTFE pigtail (white) | 32 | yes | 80 | |
| SCL: clock SCL → lid connector 12 · SCL | 26 AWG PTFE pigtail (white) | 30 | yes | 80 | |
| Lid connector → tail mic | mic rail: lid connector 2 · mic rail → tail mic 3V | 26 AWG PTFE pigtail (white) | 51 | 100 | |
| BCLK: lid connector 3 · BCLK → tail mic BCLK | 26 AWG PTFE pigtail (white) | 44 | 90 | ||
| LRCL: lid connector 4 · LRCL → tail mic LRCL | 26 AWG PTFE pigtail (white) | 48 | 100 | ||
| DOUT: lid connector 5 · DOUT → tail mic DOUT | 26 AWG PTFE pigtail (white) | 47 | 100 | ||
| Tail mic SEL → 3V (right channel) | SEL: tail mic SEL → tail mic 3V | 30 AWG silicone | 20 | 70 | |
| Tail mic → head mic | mic rail: tail mic 3V → head mic 3V | 30 AWG silicone | 94 | 150 | |
| GND: tail mic GND → head mic GND | 30 AWG silicone | 91 | 150 | ||
| BCLK: tail mic BCLK → head mic BCLK | 30 AWG silicone | 87 | 140 | ||
| LRCL: tail mic LRCL → head mic LRCL | 30 AWG silicone | 95 | 150 | ||
| DOUT: tail mic DOUT → head mic DOUT | 30 AWG silicone | 88 | 140 | ||
| Head mic SEL → GND (left channel) | SEL: head mic SEL → head mic GND | 30 AWG silicone | 17 | 60 | |
| Head mic → eye light | mic rail: head mic 3V → eye light + | 30 AWG silicone | 35 | 80 | |
| GND: head mic GND → eye light − | 30 AWG silicone | 35 | 80 | ||
| Lid connector → eye button | pin 16: lid connector 6 · eye → eye button leg 1 | 26 AWG PTFE pigtail (white) | 51 | 100 | |
| Eye light − → eye button | GND: eye light − → eye button leg 3 | 30 AWG silicone | 15 | 60 | |
| Lid connector → tap-icon LED | 5 V: lid connector 7 · icon 5 V → tap-icon LED 5V | 26 AWG PTFE pigtail (white) | 106 | 160 | |
| DIN: lid connector 8 · icon DIN → tap-icon LED Din | 26 AWG PTFE pigtail (white) | 102 | 160 | ||
| DOUT: lid connector 9 · icon DOUT → tap-icon LED Dout | 26 AWG PTFE pigtail (white) | 107 | 160 | ||
| Lid connector → NFC tag | 3V3: lid connector 10 · 3V3 → NFC tag 3V3 | 26 AWG PTFE pigtail (white) | 111 | 170 | |
| GND: lid connector 1 · GND → NFC tag GND | 26 AWG PTFE pigtail (white) | 116 | 170 | ||
| SDA: lid connector 11 · SDA → NFC tag SDA | 26 AWG PTFE pigtail (white) | 112 | 170 | ||
| SCL: lid connector 12 · SCL → NFC tag SCL | 26 AWG PTFE pigtail (white) | 116 | 170 | ||
| NFC tag → tap-icon LED: ground | GND: NFC tag GND → tap-icon LED gnd | 30 AWG silicone | 34 | 80 | |
| Tap-icon LED → tail mic: ground | GND: tap-icon LED − → tail mic GND | 30 AWG silicone | 51 | 100 |
Cut = routed pad to pad × 1.1 + 10 mm for the stripped ends and bends, + 30 mm to work with (enough to lift a board ≈ 25 mm off its bosses while you solder it), rounded up to 10 mm; a bought STEMMA QT cable has its own length. A run to the lid is also long enough to reach with the lid laid open beside the chassis: routed that way too, clear of every part (ADR-0021). Its wires are cut alike. Closed, every wire's spare folds into a small loop (by the lid connector for a run to the lid). From cad/wire_routes.py; drawn in the site's 3D model (Wires; Pins for the pad names; Open for the lid laid open).
LiPo BT1 (JST-PH: red = +, check with a meter) ── + ── F2 MF-R300 (3 A) ── charger U2 "Lipo Batt" JST (LIPO)
RT1 10 kΩ NTC, taped to the cell ── U2 THERM pad and GND (cut the THERM jumper first)
tail USB-C J1: VBUS ── U2 VBUS pad GND ── U2 GND (U2's own USB-C and DC jack stay unused)
U2 header OUT (4.4 V on USB, the cell's voltage without; the "Load Out" socket's net) ── U8 Pololu 2810 VIN U2 header GND ── U8 GND
U8: its own slide switch OFF · SW1 power slide (2 = common, 1) ── U8 SW and GND (shorting SW to GND turns U8 on)
U8 VOUT = SW-RAIL ── C2 100 µF (+) to GND, at the boost ── U3 boost VIN U8 GND ── U3 GND U3 EN: leave open (Pololu pulls it up to VIN)
U8 second VOUT pin = SW-RAIL ── motor M1 (+)
U3 VOUT 5 V ── U7 ideal diode VIN 1 (Adafruit 5830; tie VIN 2 as Adafruit's guide says) ── U7 Vout ── Radxa pin 2 (5 V)
U3 VOUT 5 V ── F1 MF-R110 (1.1 A) ── ring +V (at the strip's DIN end) ── D4 1N4148 (stripe toward the LED) ── lid connector 7 ── tail icon LED 5V
GND: U3 GND ── U7 GND ── Radxa pin 6; U3 second GND ── ring GND; U8 GND ── U3 GND (a star at U3)
Radxa pin 17 (3V3) ── SW2 mic slide switch (2 = common, 1) ── lid connector 2 ── MIC RAIL: MK2 3V ── MK1 3V ── D6 sequin + (resistor built in)
MK2 = tail mic: SEL ── its own 3V (right channel) MK1 = head mic: SEL ── its own GND (left channel) (goldfish/audio.py)
BCLK ── pin 12 (I2S3 SCLK) LRCL ── pin 35 (I2S3 LRCK) DOUT ── pin 38 (I2S3 SDI) ── R 100 kΩ ── pin 39 (GND)
each through the lid connector (3, 4, 5) to MK2, then pad to pad on to MK1
GND: pin 39 ── lid connector 1 ── NFC tag GND ── icon LED gnd; icon LED − ── MK2 GND ── MK1 GND ── sequin − ── eye switch leg 3
The eye light is powered by the mic rail itself, so it is lit if and only if the microphones have power. Firmware has no wire to it (S-05, S-06).
The 100 kΩ pull-down holds the data line at digital silence when the rail is cut.
Pin 1 is the STEMMA QT cable's 3V3 pin, and one hole takes one pin, so the mic switch feeds from pin 17, the header's other 3V3 pin (Radxa's pinout table; ADR-0021).
Radxa pin 19 (SPI MOSI) ── R 470 Ω ── lid connector 8 ── icon LED Din ── R 10 kΩ ── gnd
icon LED Dout ── lid connector 9 ── strip DIN (the end with the arrows pointing away; starts beside the USB-C pocket, −Y side)
strip runs round the nose on the land inside the seam, ends beside the pocket on +Y; its DOUT is left unconnected
ring +V (after F1) ── C1 100 µF (+) and C3 0.1 µF to GND, at the strip's DIN end
sim/power_sim.py: margins listed there). If the icon LED flickers, put a 74AHCT125 (DIP) between pin 19 and its DIN instead.firmware/goldfish/display.py (ring_frame) maps participants to ring segments. The SPI encoder caps brightness at 30 % (50 LEDs): the worst case is ≈ 0.97 A, under F1. Radxa: pin 1 (3V3), pin 9 (GND), pin 3 (SDA), pin 5 (SCL) ── STEMMA QT cable 4209, male pins soldered into those holes
── ATECC608 U4 (STEMMA QT) ── 200 mm cable 4401 (spare folded beside the clock) ── PCF8523 U5 (STEMMA QT)
U5 header VIN, SDA, SCL ── lid connector 10, 11, 12 ── ST25DV U6 header 3V3, SDA, SCL (U6 GND: the lid's ground chain, §2)
STEMMA QT colours: red 3V3, black GND, blue SDA, yellow SCL.
| Device | Address | Notes |
|---|---|---|
| ATECC608 (U4) | 0x60 | Secure element; keys for the forgetting chains. Config lock is permanent |
| PCF8523 RTC (U5) | 0x68 | Own CR1220 cell: keeps the forgetting schedule running while off. Fixed 10 kΩ pull-ups to its VCC |
| ST25DV64KC NFC (U6) | 0x53 user / 0x57 system | RF always on: the device writes the meeting's note when the meeting ends (ADR-0015) |
There are no address clashes. The pull-ups combine to ≈ 1.8 kΩ (1.8 mA sink, within spec). The bus is 3.3 V only, from the Radxa's pin 1. Never put 5 V on a STEMMA cable here, because the RTC's pull-ups would carry it to the Radxa's 3.63 V-max pins.
SW3 tactile (DTS-61K, in the cradle under the eye): one pair of legs ── pin 16 (GPIO, internal pull-up), the other pair ── GND
pin 18 (GPIO) ── R 470 Ω ── Q1 PN2222A base
Q1 collector ── motor M1 (−) M1 (+) ── SW-RAIL (U8's second VOUT pin) Q1 emitter ── pin 20 (GND)
D3 1N4148 across M1: stripe (cathode) to M1 (+)
Goldfish.eye_down);The Radxa's own USB-C (belly edge, inside the shell) is for flashing and for SSH over a USB gadget during development. It is not reachable with the shell closed, and v01 users never need it.
There is no RJ45 in the kit (it is removed for height), so the first boot is headless over that USB-C. See assembly.md § Bring-up.
# Wiring — v01 kit (pad level)
The kit build uses **through-hole parts and breakout pads only, with no surface-mount soldering**. The I²C boards plug together with STEMMA QT / Qwiic cables. Everything else is point-to-point silicone wire.
No 40-pin header is fitted on the Radxa, which saves 8.5 mm of height. Wires and the STEMMA cable's male pins solder straight into the header holes.
Header pin numbers follow the Raspberry-Pi-style layout the Radxa ZERO 3E uses. **Check each pin against Radxa's ZERO 3E pinout page before soldering.** Pad names are as printed on each board's silkscreen; where a name could not be confirmed from a primary source, it says *check silkscreen*.
## Wire gauge per net
| Net | Gauge | Why |
|---|---|---|
| Tail USB-C VBUS → charger VBUS pad; battery → F2 → charger LIPO; charger OUT → Pololu → boost VIN; all GND returns of these | 26 AWG (Adafruit 1877/1881) | up to 1.5 A from USB, ≈ 1.6 A peak on battery |
| Boost 5 V → ideal diode → Radxa pin 2; boost 5 V → F1 → ring +V | 26 AWG | Radxa ≈ 0.8 A peak; ring ≤ 0.9 A at the brightness cap |
| Every wire to or from the lid connector | its own pigtails: 26 AWG PTFE, all white (Harwin) | cut to length and soldered to the pads; flag each with its contact number |
| Everything else: data, I²C, eye switch, motor, the lid's short links | 30 AWG (Adafruit 2051) | ≤ 100 mA |
Keep the JST-PH leads (28 AWG) short and splice to 26 AWG for the power run.
**Cut list.** Every wire runs pad to pad: each end is a named pad on its board, from the vendor's own board file (`cad/board_pads.py`, ADR-0021). Its length comes from routing it through the closed case (`cad/wire_routes.py`; drawn in the site's 3D model under **Wires**, with each pad named under **Pins**). Every soldered wire carries 30 mm to work with, so you can hold a board up out of its place while you solder it; wires to the lid are also cut long enough to lay the lid open beside the chassis, still plugged in. When closing, fold the spare into a small loop where the model shows it.
**Pads with more than one wire** are listed in `out_pebble/wires.json` (`summary.pads_shared`); a check holds their bare cores to half of each Ø1.0 mm hole.
## Lid connector pin map (ADR-0020, ADR-0021)
Harwin G125, 2 × 6 at 1.25 mm: contacts 1–6 on one row, 7–12 on the other, 1 opposite 7 (Harwin C125 spec, Appendix 1). Contact 1 is at the end with the "contact 1 ident" notch. The same number joins through the pair. Every pigtail is white, so **flag each lead with its number before you cut it**.
| Contact | Line | Chassis end (socket pigtail) | Lid end (plug pigtail) |
|---|---|---|---|
| 1 | GND | Radxa pin 39 | NFC tag GND (the lid's ground chain starts here) |
| 2 | mic rail | mic slide switch | tail mic 3V |
| 3 | I²S BCLK | Radxa pin 12 | tail mic BCLK |
| 4 | I²S LRCL | Radxa pin 35 | tail mic LRCL |
| 5 | I²S DOUT | Radxa pin 38 (100 kΩ to pin 39) | tail mic DOUT |
| 6 | eye | Radxa pin 16 | eye switch leg 1 |
| 7 | icon 5 V | strip +V pad, through D4 | icon LED 5V |
| 8 | icon DIN | Radxa pin 19, through 470 Ω | icon LED Din (10 kΩ to gnd) |
| 9 | icon DOUT | strip DIN pad | icon LED Dout |
| 10 | 3V3 | clock VIN | NFC tag 3V3 |
| 11 | SDA | clock SDA | NFC tag SDA |
| 12 | SCL | clock SCL | NFC tag SCL |
<!-- cutlist -->
| Run | Wire, pad to pad | AWG | Routed in the closed case (mm) | To the lid | Cut (mm) |
|---|---|---|---|---|---|
| USB-C port → charger | VBUS: USB-C port **VBUS** → charger **VBUS** | 26 AWG silicone | 156 | | **220** |
| | GND: USB-C port **GND** → charger **GND** | 26 AWG silicone | 158 | | **220** |
| Battery lead → charger | cell +: battery **cell lead + (red)** → charger **LiPo Batt +** | 26 AWG silicone | 73 | | **120** |
| | cell −: battery **cell lead −** → charger **LiPo Batt −** | 26 AWG silicone | 80 | | **130** |
| Thermistor → charger | RT1: battery **thermistor** → charger **THERM** | 30 AWG silicone | 88 | | **140** |
| | RT1 GND: battery **thermistor** → charger **GND** | 30 AWG silicone | 85 | | **140** |
| Charger → power switch module | OUT: charger **OUT** → power switch module **VIN** | 26 AWG silicone | 160 | | **220** |
| | GND: charger **GND** → power switch module **GND** | 26 AWG silicone | 164 | | **230** |
| Power switch module → boost | SW-RAIL: power switch module **VOUT** → 5 V boost **VIN** | 26 AWG silicone | 61 | | **110** |
| | GND: power switch module **GND** → 5 V boost **GND** | 26 AWG silicone | 57 | | **110** |
| Power slide → power switch module | control: power slide switch **pin 2 (common)** → power switch module **SW** | 30 AWG silicone | 88 | | **140** |
| | GND: power slide switch **pin 1** → power switch module **GND** | 30 AWG silicone | 90 | | **140** |
| Boost → ideal diode | 5 V: 5 V boost **VOUT** → ideal diode **VIN 1** | 26 AWG silicone | 38 | | **90** |
| | GND: 5 V boost **GND** → ideal diode **GND** | 26 AWG silicone | 41 | | **90** |
| Ideal diode → Radxa | 5 V: ideal diode **Vout** → Radxa (compute) **2 · 5V** | 26 AWG silicone | 65 | | **120** |
| | GND: ideal diode **GND** → Radxa (compute) **6 · GND** | 26 AWG silicone | 64 | | **110** |
| Boost → ring strip | 5 V: 5 V boost **VOUT** → light-ring strip **+5V** | 26 AWG silicone | 54 | | **100** |
| | GND: 5 V boost **GND** → light-ring strip **GND** | 26 AWG silicone | 51 | | **100** |
| Power switch module → motor | SW-RAIL: power switch module **VOUT** → vibration motor **red lead (+)** | 30 AWG silicone | 68 | | **120** |
| Radxa → motor | pin 18: Radxa (compute) **18 · GPIO** → vibration motor **PN2222A base** | 30 AWG silicone | 80 | | **130** |
| | GND: Radxa (compute) **20 · GND** → vibration motor **PN2222A emitter** | 30 AWG silicone | 83 | | **140** |
| STEMMA QT: Radxa → secure element | 3V3: Radxa (compute) **1 · 3V3** → secure element **STEMMA QT** | STEMMA QT cable | 44 | | **60** |
| | GND: Radxa (compute) **9 · GND** → secure element **STEMMA QT** | STEMMA QT cable | 46 | | **70** |
| | SDA: Radxa (compute) **3 · SDA** → secure element **STEMMA QT** | STEMMA QT cable | 42 | | **60** |
| | SCL: Radxa (compute) **5 · SCL** → secure element **STEMMA QT** | STEMMA QT cable | 39 | | **60** |
| STEMMA QT: secure element → clock | 3V3: secure element **STEMMA QT** → clock **STEMMA QT** | STEMMA QT cable | 82 | | **110** |
| | GND: secure element **STEMMA QT** → clock **STEMMA QT** | STEMMA QT cable | 83 | | **110** |
| | SDA: secure element **STEMMA QT** → clock **STEMMA QT** | STEMMA QT cable | 82 | | **110** |
| | SCL: secure element **STEMMA QT** → clock **STEMMA QT** | STEMMA QT cable | 81 | | **100** |
| Radxa → mic slide | 3V3: Radxa (compute) **17 · 3V3** → mic slide switch **pin 2 (common)** | 30 AWG silicone | 61 | | **110** |
| Mic slide → the lid | mic rail: mic slide switch **pin 1** → lid connector **2 · mic rail** | 26 AWG PTFE pigtail (white) | 84 | yes | **170** |
| Radxa I²S → the lid | BCLK: Radxa (compute) **12 · I2S BCLK** → lid connector **3 · BCLK** | 26 AWG PTFE pigtail (white) | 70 | yes | **150** |
| | LRCL: Radxa (compute) **35 · I2S LRCK** → lid connector **4 · LRCL** | 26 AWG PTFE pigtail (white) | 51 | yes | **150** |
| | DOUT: Radxa (compute) **38 · I2S SDI** → lid connector **5 · DOUT** | 26 AWG PTFE pigtail (white) | 53 | yes | **150** |
| | GND: Radxa (compute) **39 · GND** → lid connector **1 · GND** | 26 AWG PTFE pigtail (white) | 56 | yes | **150** |
| Radxa → the lid: eye button | pin 16: Radxa (compute) **16 · GPIO** → lid connector **6 · eye** | 26 AWG PTFE pigtail (white) | 53 | yes | **100** |
| Radxa → the lid: icon LED data | pin 19: Radxa (compute) **19 · SPI MOSI** → lid connector **8 · icon DIN** | 26 AWG PTFE pigtail (white) | 49 | yes | **110** |
| Ring strip → the lid: icon LED power and data back | 5 V: light-ring strip **+5V** → lid connector **7 · icon 5 V** | 26 AWG PTFE pigtail (white) | 121 | yes | **180** |
| | DOUT: light-ring strip **DIN** → lid connector **9 · icon DOUT** | 26 AWG PTFE pigtail (white) | 123 | yes | **180** |
| Clock → the lid: NFC tag I²C | 3V3: clock **VIN** → lid connector **10 · 3V3** | 26 AWG PTFE pigtail (white) | 32 | yes | **80** |
| | SDA: clock **SDA** → lid connector **11 · SDA** | 26 AWG PTFE pigtail (white) | 32 | yes | **80** |
| | SCL: clock **SCL** → lid connector **12 · SCL** | 26 AWG PTFE pigtail (white) | 30 | yes | **80** |
| Lid connector → tail mic | mic rail: lid connector **2 · mic rail** → tail mic **3V** | 26 AWG PTFE pigtail (white) | 51 | | **100** |
| | BCLK: lid connector **3 · BCLK** → tail mic **BCLK** | 26 AWG PTFE pigtail (white) | 44 | | **90** |
| | LRCL: lid connector **4 · LRCL** → tail mic **LRCL** | 26 AWG PTFE pigtail (white) | 48 | | **100** |
| | DOUT: lid connector **5 · DOUT** → tail mic **DOUT** | 26 AWG PTFE pigtail (white) | 47 | | **100** |
| Tail mic SEL → 3V (right channel) | SEL: tail mic **SEL** → tail mic **3V** | 30 AWG silicone | 20 | | **70** |
| Tail mic → head mic | mic rail: tail mic **3V** → head mic **3V** | 30 AWG silicone | 94 | | **150** |
| | GND: tail mic **GND** → head mic **GND** | 30 AWG silicone | 91 | | **150** |
| | BCLK: tail mic **BCLK** → head mic **BCLK** | 30 AWG silicone | 87 | | **140** |
| | LRCL: tail mic **LRCL** → head mic **LRCL** | 30 AWG silicone | 95 | | **150** |
| | DOUT: tail mic **DOUT** → head mic **DOUT** | 30 AWG silicone | 88 | | **140** |
| Head mic SEL → GND (left channel) | SEL: head mic **SEL** → head mic **GND** | 30 AWG silicone | 17 | | **60** |
| Head mic → eye light | mic rail: head mic **3V** → eye light **+** | 30 AWG silicone | 35 | | **80** |
| | GND: head mic **GND** → eye light **−** | 30 AWG silicone | 35 | | **80** |
| Lid connector → eye button | pin 16: lid connector **6 · eye** → eye button **leg 1** | 26 AWG PTFE pigtail (white) | 51 | | **100** |
| Eye light − → eye button | GND: eye light **−** → eye button **leg 3** | 30 AWG silicone | 15 | | **60** |
| Lid connector → tap-icon LED | 5 V: lid connector **7 · icon 5 V** → tap-icon LED **5V** | 26 AWG PTFE pigtail (white) | 106 | | **160** |
| | DIN: lid connector **8 · icon DIN** → tap-icon LED **Din** | 26 AWG PTFE pigtail (white) | 102 | | **160** |
| | DOUT: lid connector **9 · icon DOUT** → tap-icon LED **Dout** | 26 AWG PTFE pigtail (white) | 107 | | **160** |
| Lid connector → NFC tag | 3V3: lid connector **10 · 3V3** → NFC tag **3V3** | 26 AWG PTFE pigtail (white) | 111 | | **170** |
| | GND: lid connector **1 · GND** → NFC tag **GND** | 26 AWG PTFE pigtail (white) | 116 | | **170** |
| | SDA: lid connector **11 · SDA** → NFC tag **SDA** | 26 AWG PTFE pigtail (white) | 112 | | **170** |
| | SCL: lid connector **12 · SCL** → NFC tag **SCL** | 26 AWG PTFE pigtail (white) | 116 | | **170** |
| NFC tag → tap-icon LED: ground | GND: NFC tag **GND** → tap-icon LED **gnd** | 30 AWG silicone | 34 | | **80** |
| Tap-icon LED → tail mic: ground | GND: tap-icon LED **−** → tail mic **GND** | 30 AWG silicone | 51 | | **100** |
Cut = routed pad to pad × 1.1 + 10 mm for the stripped ends and bends, + 30 mm to work with (enough to lift a board ≈ 25 mm off its bosses while you solder it), rounded up to 10 mm; a bought STEMMA QT cable has its own length. A run to the lid is also long enough to reach with the lid laid open beside the chassis: routed that way too, clear of every part (ADR-0021). Its wires are cut alike. Closed, every wire's spare folds into a small loop (by the lid connector for a run to the lid). From `cad/wire_routes.py`; drawn in the site's 3D model (Wires; Pins for the pad names; Open for the lid laid open).
<!-- /cutlist -->
## 1. Power
```
LiPo BT1 (JST-PH: red = +, check with a meter) ── + ── F2 MF-R300 (3 A) ── charger U2 "Lipo Batt" JST (LIPO)
RT1 10 kΩ NTC, taped to the cell ── U2 THERM pad and GND (cut the THERM jumper first)
tail USB-C J1: VBUS ── U2 VBUS pad GND ── U2 GND (U2's own USB-C and DC jack stay unused)
U2 header OUT (4.4 V on USB, the cell's voltage without; the "Load Out" socket's net) ── U8 Pololu 2810 VIN U2 header GND ── U8 GND
U8: its own slide switch OFF · SW1 power slide (2 = common, 1) ── U8 SW and GND (shorting SW to GND turns U8 on)
U8 VOUT = SW-RAIL ── C2 100 µF (+) to GND, at the boost ── U3 boost VIN U8 GND ── U3 GND U3 EN: leave open (Pololu pulls it up to VIN)
U8 second VOUT pin = SW-RAIL ── motor M1 (+)
U3 VOUT 5 V ── U7 ideal diode VIN 1 (Adafruit 5830; tie VIN 2 as Adafruit's guide says) ── U7 Vout ── Radxa pin 2 (5 V)
U3 VOUT 5 V ── F1 MF-R110 (1.1 A) ── ring +V (at the strip's DIN end) ── D4 1N4148 (stripe toward the LED) ── lid connector 7 ── tail icon LED 5V
GND: U3 GND ── U7 GND ── Radxa pin 6; U3 second GND ── ring GND; U8 GND ── U3 GND (a star at U3)
```
- **Charger (ADR-0014): Adafruit 4755, bq24074.** Leave its defaults: **1.0 A charge** (0.25 C for the 4000 mAh cell) and a **1.5 A input limit** (EN2 high, 1 kΩ on ILIM). Cut only the THERM jumper, for RT1.
- **Running from a phone charger.** USB powers the device first, through the charger's power path, and the cell charges with the rest; above 1.5 A the cell tops up the difference. J1's 5.1 kΩ CC resistors ask any USB-C charger for up to 3 A at 5 V. Plugging in and pulling out never resets the Radxa.
- **No safety timer.** The 4755 ties the bq24074's TMR pin to ground, so a long charge can't time out half-way; termination, RT1 and the cell's own protection still apply.
- **Why the Pololu 2810 and not the boost's EN pin.** Pololu states that the U3V40F5 passes its input straight to VOUT when disabled. EN would therefore leave the Radxa at ≈ 3.7 V and the ring powered. The 2810 cuts everything after the charger, and the shell's slide switch only pulls its control terminal low (µA). Its off-state current is not published, so measure it at bring-up.
- **U7** stops a host on the Radxa's own USB-C (debug only) from back-feeding the boost, with well under 0.1 V of drop.
- **The cell's protection circuit** cuts off below 3.0 V under load (EREMIT); firmware shuts down at 3.0 V. **F2** protects against a pinched wire upstream of everything.
## 2. Microphones (I²S, stereo pair) and the eye light
```
Radxa pin 17 (3V3) ── SW2 mic slide switch (2 = common, 1) ── lid connector 2 ── MIC RAIL: MK2 3V ── MK1 3V ── D6 sequin + (resistor built in)
MK2 = tail mic: SEL ── its own 3V (right channel) MK1 = head mic: SEL ── its own GND (left channel) (goldfish/audio.py)
BCLK ── pin 12 (I2S3 SCLK) LRCL ── pin 35 (I2S3 LRCK) DOUT ── pin 38 (I2S3 SDI) ── R 100 kΩ ── pin 39 (GND)
each through the lid connector (3, 4, 5) to MK2, then pad to pad on to MK1
GND: pin 39 ── lid connector 1 ── NFC tag GND ── icon LED gnd; icon LED − ── MK2 GND ── MK1 GND ── sequin − ── eye switch leg 3
```
The eye light is powered by the mic rail itself, so it is lit **if and only if** the microphones have power. Firmware has no wire to it (S-05, S-06).
The 100 kΩ pull-down holds the data line at digital silence when the rail is cut.
Pin 1 is the STEMMA QT cable's 3V3 pin, and one hole takes one pin, so the mic switch feeds from pin 17, the header's other 3V3 pin (Radxa's pinout table; ADR-0021).
## 3. Light ring (ADR-0009) — the tail icon LED goes first
```
Radxa pin 19 (SPI MOSI) ── R 470 Ω ── lid connector 8 ── icon LED Din ── R 10 kΩ ── gnd
icon LED Dout ── lid connector 9 ── strip DIN (the end with the arrows pointing away; starts beside the USB-C pocket, −Y side)
strip runs round the nose on the land inside the seam, ends beside the pocket on +Y; its DOUT is left unconnected
ring +V (after F1) ── C1 100 µF (+) and C3 0.1 µF to GND, at the strip's DIN end
```
- **The first pixel is the level shifter.** Fed through a 1N4148 (≈ 4.3 V), the icon LED accepts the Radxa's 3.3 V data and re-drives it at its own supply for the 5 V ring (`sim/power_sim.py`: margins listed there). If the icon LED flickers, put a 74AHCT125 (DIP) between pin 19 and its DIN instead.
- **Cut the strip** to 50 LEDs across the copper pads at a cut line, leaving half a pad on each side. Tin the DIN-end pads before soldering.
- **Pixel order:** pixel 0 is the icon; pixels 1–50 are the ring, starting at the first LED after the USB-C pocket on −Y. `firmware/goldfish/display.py` (`ring_frame`) maps participants to ring segments. The SPI encoder caps brightness at 30 % (50 LEDs): the worst case is ≈ 0.97 A, under F1.
- **Off the record:** when the room is off the record, the whole ring glows a low red.
## 4. I²C bus (pins 3 SDA / 5 SCL, 3V3) — plug-in
```
Radxa: pin 1 (3V3), pin 9 (GND), pin 3 (SDA), pin 5 (SCL) ── STEMMA QT cable 4209, male pins soldered into those holes
── ATECC608 U4 (STEMMA QT) ── 200 mm cable 4401 (spare folded beside the clock) ── PCF8523 U5 (STEMMA QT)
U5 header VIN, SDA, SCL ── lid connector 10, 11, 12 ── ST25DV U6 header 3V3, SDA, SCL (U6 GND: the lid's ground chain, §2)
```
STEMMA QT colours: red 3V3, black GND, blue SDA, yellow SCL.
| Device | Address | Notes |
|---|---|---|
| ATECC608 (U4) | 0x60 | Secure element; keys for the forgetting chains. Config lock is permanent |
| PCF8523 RTC (U5) | 0x68 | Own CR1220 cell: keeps the forgetting schedule running while off. Fixed 10 kΩ pull-ups to its VCC |
| ST25DV64KC NFC (U6) | 0x53 user / 0x57 system | RF always on: the device writes the meeting's note when the meeting ends (ADR-0015) |
There are no address clashes. The pull-ups combine to ≈ 1.8 kΩ (1.8 mA sink, within spec). **The bus is 3.3 V only**, from the Radxa's pin 1. Never put 5 V on a STEMMA cable here, because the RTC's pull-ups would carry it to the Radxa's 3.63 V-max pins.
## 5. Eye button and haptic
```
SW3 tactile (DTS-61K, in the cradle under the eye): one pair of legs ── pin 16 (GPIO, internal pull-up), the other pair ── GND
pin 18 (GPIO) ── R 470 Ω ── Q1 PN2222A base
Q1 collector ── motor M1 (−) M1 (+) ── SW-RAIL (U8's second VOUT pin) Q1 emitter ── pin 20 (GND)
D3 1N4148 across M1: stripe (cathode) to M1 (+)
```
- **PN2222A legs.** With the flat face toward you and the legs down, they are **E B C** on the onsemi and CDIL parts. Check the datasheet of the part you have.
- **The DTS-61K's four legs** are two connected pairs. Use one leg from each side (diagonal legs are always on opposite contacts).
- **Firmware (ADR-0015):**
- a press takes the room off the record as it goes down, and never turns it back on (`Goldfish.eye_down`);
- a double press within 0.6 s, when the room was already off, brings it back on, provisionally;
- a hold of 2 s or longer shows the battery on the ring;
- the phone transfer needs no button: the note goes into the always-readable tag when the meeting ends.
## 6. Debug
The Radxa's own USB-C (belly edge, inside the shell) is for flashing and for SSH over a USB gadget during development. It is not reachable with the shell closed, and v01 users never need it.
There is no RJ45 in the kit (it is removed for height), so the first boot is headless over that USB-C. See `assembly.md` § Bring-up.