# nabucasa/yellow architecture

> Architecture diagram of the GitHub repository nabucasa/yellow, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nabucasa/yellow
- Repository: https://github.com/nabucasa/yellow

## Overview

Home Assistant Yellow is a custom KiCad PCB designed to host a Raspberry Pi Compute Module 4 and run Home Assistant OS. Its principal use is to provide the CM4 with power, networking, storage expansion, radio, audio, USB, and serial-console hardware. The graph reflects the README’s documented features and the explicit CM4-to-PCIe relationship; no source excerpts were provided, so internal electrical connections beyond those statements are omitted.

Main entry points: [`Yellow.kicad_pcb`](https://github.com/nabucasa/yellow/blob/main/Yellow.kicad_pcb) (Yellow PCB), [`CM4.kicad_sch`](https://github.com/nabucasa/yellow/blob/main/CM4.kicad_sch) (CM4 connector), [`PCIe.kicad_sch`](https://github.com/nabucasa/yellow/blob/main/PCIe.kicad_sch) (M.2 PCIe slot), [`Ethernet.kicad_sch`](https://github.com/nabucasa/yellow/blob/main/Ethernet.kicad_sch) (Gigabit Ethernet)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_compute["Compute and expansion"]
  node_cm4["CM4 connector<br/>[CM4.kicad_sch]"]
  node_pcie["M.2 PCIe slot<br/>[PCIe.kicad_sch]"]
  node_storage[("NVMe storage")]
end

subgraph group_connectivity["Network and radio"]
  node_ethernet["Gigabit Ethernet<br/>[Ethernet.kicad_sch]"]
  node_poe["PoE+ option<br/>[PoE.kicad_sch]"]
  node_radio["802.15.4 radio<br/>[Radio.kicad_sch]"]
end

subgraph group_powerio["Power and peripherals"]
  node_power["12V power input<br/>[Power.kicad_sch]"]
  node_usb["USB 2.0 hub<br/>[USB.kicad_sch]"]
  node_audio["Audio DAC<br/>[Audio.kicad_sch]"]
  node_uart["USB-to-UART"]
end

node_yellow["Yellow PCB<br/>[Yellow.kicad_pcb]"]
node_supply(("12V supply"))
node_haos["Home Assistant OS"]

node_yellow -->|"features connector"| node_cm4
node_yellow -->|"features slot"| node_pcie
node_cm4 -->|"connects PCIe x1"| node_pcie
node_pcie -->|"supports NVMe"| node_storage
node_yellow -->|"features networking"| node_ethernet
node_ethernet -->|"offers PoE+ option"| node_poe
node_yellow -->|"features radio"| node_radio
node_supply -->|"provides 12V"| node_power
node_yellow -->|"accepts DC input"| node_power
node_yellow -->|"features USB hub"| node_usb
node_yellow -->|"features audio DAC"| node_audio
node_yellow -->|"features serial console"| node_uart
node_cm4 -->|"runs"| node_haos

click node_yellow "https://github.com/nabucasa/yellow/blob/main/Yellow.kicad_pcb"
click node_cm4 "https://github.com/nabucasa/yellow/blob/main/CM4.kicad_sch"
click node_pcie "https://github.com/nabucasa/yellow/blob/main/PCIe.kicad_sch"
click node_ethernet "https://github.com/nabucasa/yellow/blob/main/Ethernet.kicad_sch"
click node_poe "https://github.com/nabucasa/yellow/blob/main/PoE.kicad_sch"
click node_radio "https://github.com/nabucasa/yellow/blob/main/Radio.kicad_sch"
click node_power "https://github.com/nabucasa/yellow/blob/main/Power.kicad_sch"
click node_usb "https://github.com/nabucasa/yellow/blob/main/USB.kicad_sch"
click node_audio "https://github.com/nabucasa/yellow/blob/main/Audio.kicad_sch"
click node_uart "https://github.com/nabucasa/yellow/blob/main/ControlRTC.kicad_sch"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cm4,node_pcie,node_storage toneBlue
class node_ethernet,node_poe,node_radio toneAmber
class node_power,node_usb,node_audio,node_uart toneMint
class node_yellow toneTeal
class node_supply,node_haos toneIndigo
```

## Components

### Compute and expansion

- [CM4 connector](https://github.com/nabucasa/yellow/blob/main/CM4.kicad_sch): `CM4.kicad_sch`
- [M.2 PCIe slot](https://github.com/nabucasa/yellow/blob/main/PCIe.kicad_sch): `PCIe.kicad_sch`
- **NVMe storage**

### Network and radio

- [Gigabit Ethernet](https://github.com/nabucasa/yellow/blob/main/Ethernet.kicad_sch): `Ethernet.kicad_sch`
- [PoE+ option](https://github.com/nabucasa/yellow/blob/main/PoE.kicad_sch): `PoE.kicad_sch`
- [802.15.4 radio](https://github.com/nabucasa/yellow/blob/main/Radio.kicad_sch): `Radio.kicad_sch`

### Power and peripherals

- [12V power input](https://github.com/nabucasa/yellow/blob/main/Power.kicad_sch): `Power.kicad_sch`
- [USB 2.0 hub](https://github.com/nabucasa/yellow/blob/main/USB.kicad_sch): `USB.kicad_sch`
- [Audio DAC](https://github.com/nabucasa/yellow/blob/main/Audio.kicad_sch): `Audio.kicad_sch`
- [USB-to-UART](https://github.com/nabucasa/yellow/blob/main/ControlRTC.kicad_sch): `ControlRTC.kicad_sch`

### Other components

- [Yellow PCB](https://github.com/nabucasa/yellow/blob/main/Yellow.kicad_pcb): `Yellow.kicad_pcb`
- **12V supply**
- **Home Assistant OS**

## Connections

- Yellow PCB → CM4 connector: features connector (evidence: `README.md`)
- Yellow PCB → M.2 PCIe slot: features slot (evidence: `README.md`)
- CM4 connector → M.2 PCIe slot: connects PCIe x1 (evidence: `README.md`)
- M.2 PCIe slot → NVMe storage: supports NVMe (evidence: `README.md`)
- Yellow PCB → Gigabit Ethernet: features networking (evidence: `README.md`)
- Gigabit Ethernet → PoE+ option: offers PoE+ option (evidence: `README.md`)
- Yellow PCB → 802.15.4 radio: features radio (evidence: `README.md`)
- 12V supply → 12V power input: provides 12V (evidence: `README.md`)
- Yellow PCB → 12V power input: accepts DC input (evidence: `README.md`)
- Yellow PCB → USB 2.0 hub: features USB hub (evidence: `README.md`)
- Yellow PCB → Audio DAC: features audio DAC (evidence: `README.md`)
- Yellow PCB → USB-to-UART: features serial console (evidence: `README.md`)
- CM4 connector → Home Assistant OS: runs (evidence: `README.md`)
