
OSS Radio Hardware Design
Arkos-Engineering/HT-15_hardware
We can split this out into separate repos later, right now its very convenient to have everything here.

IRIS — Intelligent Responsive Interface System. Personal AI hub: voice, multi-device, self-generating tools, and FPGA wake-word hardware accelerator.
Iris mic pmod is an open-source printed circuit board by jevinjoy06, from the jevinjoy06/IRIS repository on GitHub. It is a 2-layer board of 30 × 22 mm with 5 parts on 6 nets, routed with 27 tracks and 10 vias.
It is built around the SPH0645LM4H-B. Its parts include 2 capacitors, 1 resistor, 1 IC and 1 connector.
Intelligent Responsive Interface System — a personal voice assistant with an FPGA wake-word accelerator.
Hub-and-spoke architecture: a GPU desktop runs the hub (brain + memory), and any client device connects over WebSocket to talk to it.
Desktop PC (hub)
├── FastAPI + WebSocket server ← brain lives here
├── Ollama LLM (llama3.1:8b)
├── SQLite memory
└── Web UI at http://localhost:7865
Clients (connect over Tailscale)
└── clients/laptop/ ← the IRIS client (orb + voice + text); hub_url set to localhost
(same machine) or the hub's Tailscale IP (remote device)# Install deps
pip install -r hub/requirements.txt
# Configure
cp hub/.env.template hub/.env
# Edit hub/.env — set OLLAMA_BASE_URL and OLLAMA_MODEL
# Run Ollama (separate terminal)
ollama serve
ollama pull llama3.1:8b
# Start the hub
python -m hub
# → http://localhost:7865pip install -r clients/laptop/requirements.txt
# Install Tailscale on the laptop, log into the same account as the desktop
# Then:
cp clients/laptop/config.json.template clients/laptop/config.json
python clients/laptop/main.py| Path | What it is |
|---|---|
hub/ | FastAPI + WebSocket server, Ollama brain, SQLite memory |
clients/laptop/ | The IRIS client — runs on any device, local or remote over Tailscale |
clients/hub-dashboard/ | Admin/monitoring app for the hub machine specifically |
voice/ | Shared voice pipeline: wake word → VAD → transcription (Moonshine) |
hardware/ | Verilog FPGA accelerator (Basys 3, Artix-7 XC7A35T) |
docs/ | Design docs |
Clients connect to the hub over Tailscale — a free mesh VPN that gives every device a stable private IP regardless of network. No port forwarding or domain needed.
100.74.253.30 (set in clients/laptop/config.json)Target: Basys 3 (Artix-7 XC7A35T)
| Phase | What | Status |
|---|---|---|
| 1 | Single MAC unit (hardware/rtl/mac_unit.v) | In progress |
| 2 | Systolic array (chained MACs) | Planned |
| 3 | Wake-word neural net on FPGA + audio front-end PCB (KiCad) | Planned |
When the FPGA detects the wake word it sends a UART trigger → voice pipeline takes over.
Wake word ("computer") → VAD recording → Moonshine transcription → hub WebSocket → Ollama → responseSet KERAS_BACKEND=torch before running (avoids a TensorFlow install).
Custom wake word via Picovoice Porcupine — add your .ppn file to voice/ when trained.
Never commit: hub/.env, voice/config.json, clients/*/config.json
| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 0R | Resistor_SMD:R_0402_1005Metric | R1 |
| 1 | 100nF | Capacitor_SMD:C_0402_1005Metric | C1 |
| 1 | 10uF | Capacitor_SMD:C_0402_1005Metric | C2 |
| 1 | PMOD_2x6 | Connector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_Vertical | J1 |
| 1 | SPH0645LM4H | Microphone:SPH0645LM4H | U1 |
It measures 30 × 22 mm and has 2 copper layers, 1.6 mm thick.
5 parts, built around the SPH0645LM4H-B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the jevinjoy06/IRIS repository on GitHub, at the commit this page was made from: the board is hardware/pcb/iris_mic_pmod/iris_mic_pmod.kicad_pcb and its schematic hardware/pcb/iris_mic_pmod/iris_mic_pmod.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask jevinjoy06 before reusing the design.

Arkos-Engineering/HT-15_hardware
We can split this out into separate repos later, right now its very convenient to have everything here.

emertcakir/OpenAirScope
Open-source air quality and environmental monitoring node with STM32H743 + ESP32-C3, LoRaWAN, RS485, USB-C, Li-ion charging, and multi-sensor support.


squarewavedot/ledcubeelectronics
LEDCube battery and masterboard electronics


CivicTechTO/tRacket-sensor
Design files and source code for the tRacket noise sensor

