Skip to content

System Wiring Diagram

Spec hygiene (canonical-spec.md rule 1). This is a connection map, not a values sheet — it never restates canonical values (voltages, capacities, pin assignments). Those live in the Canonical Hardware Specification and the per-subsystem hardware docs. If a label here contradicts a canonical value, the canonical value wins — fix the diagram.


Block-level connection map of the KN-86 Deckline: the power rail, the data / command links, the audio path, and the input fan-out. Authored in Mermaid so it diffs in Git and renders on the docs site.

flowchart LR
  subgraph POWER["POWER (ADR-0038)"]
    ADP["12.6V 2A adapter"]
    CELLS["3x 18650 series"]
    UPS["Waveshare UPS 3S"]
    ADP -->|charge 12.6V| UPS
    CELLS --> UPS
  end
  UPS ==>|"5V / 5A rail"| PI["Pi Zero 2 W"]
  UPS ==>|5V| PICO["Pi Pico 2"]
  UPS ==>|5V| AMP["WM8960 codec"]
  UPS ==>|5V| HUB["Internal USB hub"]
  UPS ==>|5V| LCD["Elecrow 7in LCD"]
  UPS -->|"INA219 / I2C"| PI

  PI <-->|"UART0 (1 Mbps)"| PICO
  PI -->|"mini-HDMI (video)"| LCD
  PI -->|UART1| TRRS["TRRS jack (deck link)"]
  PI <-->|"USB OTG"| HUB

  PICO -->|"I2S + I2C config"| AMP
  PICO -->|"OLED bus"| OLED["SSD1322 OLED (CIPHER-LINE)"]

  AMP -->|"headphone amp (stereo)"| TRS["TRS jack (stereo headphones)"]
  AMP -->|"speaker amp"| SPK["Gikfun 2in speaker (mono)"]

  HUB --> KBD["Keyboard (KB2040 master)"]
  HUB --> CART["Cart reader (USB-SD bridge)"]
  HUB --> DATA["USB-C data port"]
  KBD <-->|"TRRS (inter-half)"| SLAVE["KB2040 slave"]
  CART --> SD["SD cartridge"]
  • Thick arrows (==>) — the 5 V / 5 A power rail from the Waveshare UPS Module 3S. Thin arrows — data / signal links.
  • Power. 12.6 V barrel charge in → UPS 3S (3× 18650) → 5 V rail → Pi, Pico, amp, hub, and the 7” display. Battery state returns to the Pi over I²C from the UPS module’s onboard INA219, driving the Row-0 meter. See power.md and ADR-0038.
  • Compute split. The Pi exposes two UARTs: UART0 is the 1 Mbps command link to the Pico 2 coprocessor; UART1 is the deck-to-deck serial link on the 3.5 mm TRRS jack. See processor.md, coprocessor.md.
  • Pico peripherals. The Pico 2 owns realtime audio (I²S → WM8960 codec, plus I²C to configure the codec per ADR-0054) and the CIPHER-LINE OLED bus. Canonical docs still describe the OLED path as Pico-driven SPI; GWP-619 bench verified an as-shipped 8080 harness pending spec reconciliation. The codec’s speaker amp feeds the Gikfun 2″ speaker and its stereo headphone amp feeds the TRS jack — inserting a plug disconnects the speaker.
  • Input / storage. The Pi’s single USB-OTG port feeds the internal USB hub, which fans out to the keyboard (KB2040 master; the slave half links over the Ferris Sweep’s inter-half TRRS), the cartridge SD-card reader (USB mass-storage bridge), and the external USB-C data port. See keyboard.md, cartridge-interface.md.

This is a block / connection diagram, not an electrical schematic or a wire-harness drawing. Pin assignments, connector pinouts, and wire colors live in the per-subsystem hardware docs and the canonical spec. A pin-level harness document (e.g. via WireViz) is a separate artifact if and when the build needs one.