Skip to the content
PCBKitNew board
2 layers30 × 22 mmIris mic pmod, the printed circuit board in 3D

Iris mic pmod

jevinjoy06/IRIS

IRIS — Intelligent Responsive Interface System. Personal AI hub: voice, multi-device, self-generating tools, and FPGA wake-word hardware accelerator.

Size
30 × 22 mm
Copper layers
2
Thickness
1.6 mm
Parts
5
Nets
6
Pads
24
Tracks, vias
27, 10
Routed
Yes
KiCad
KiCad 7.0.11 (file 20231120)
Created
23 Sep 2026
Updated
29 Oct 2026

Overview

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.

Main components

1

README

README.md

IRIS

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.


Architecture

text
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)

Quick Start

1. Hub (run on your GPU desktop)

bash
# 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:7865

2. Laptop Client

bash
pip 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

Repo Layout

PathWhat 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

Networking

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.

  1. Install Tailscale on all devices
  2. Log into the same account
  3. Desktop Tailscale IP: 100.74.253.30 (set in clients/laptop/config.json)

Hardware (FPGA Accelerator)

Target: Basys 3 (Artix-7 XC7A35T)

PhaseWhatStatus
1Single MAC unit (hardware/rtl/mac_unit.v)In progress
2Systolic array (chained MACs)Planned
3Wake-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.


Voice Pipeline

text
Wake word ("computer") → VAD recording → Moonshine transcription → hub WebSocket → Ollama → response

Set KERAS_BACKEND=torch before running (avoids a TensorFlow install).

Custom wake word via Picovoice Porcupine — add your .ppn file to voice/ when trained.


Secrets

Never commit: hub/.env, voice/config.json, clients/*/config.json

Parts

5
QtyValueFootprintReferences
10RResistor_SMD:R_0402_1005MetricR1
1100nFCapacitor_SMD:C_0402_1005MetricC1
110uFCapacitor_SMD:C_0402_1005MetricC2
1PMOD_2x6Connector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_VerticalJ1
1SPH0645LM4HMicrophone:SPH0645LM4HU1

Questions

How big is the Iris mic pmod PCB?

It measures 30 × 22 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Iris mic pmod use?

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.

Where can I download the Iris mic pmod KiCad files?

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.

Can I use the Iris mic pmod design in my own project?

Its repository states no licence, so its author keeps all rights: ask jevinjoy06 before reusing the design.

Similar boards

  • 4 layers55 × 100.5 mmOSS Radio Hardware Design, the printed circuit board in 3D

    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.

    256 parts72
  • 4 layers100 × 75 mmOpenAirScope, the printed circuit board in 3D

    OpenAirScope

    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.

    282 parts26MIT
  • 2 layers36.4 × 16.1 mmMic, the printed circuit board in 3D

    Mic

    douggilliland/FPGA_Games

    FPGA Games Gathered from GitHub in one place

    9 parts23
  • 2 layers187 × 152 mmKiss masterboard, the printed circuit board in 3D

    Kiss masterboard

    squarewavedot/ledcubeelectronics

    LEDCube battery and masterboard electronics

    163 parts22
  • 2 layers43 × 43 mmBadge, the printed circuit board in 3D

    Badge

    oshwabadge2020/Badge-PCB

    Open Hardware Summit 2020 wrist-watch badge

    78 parts19
  • 2 layers50 × 50 mmNoisemeter, the printed circuit board in 3D

    Noisemeter

    CivicTechTO/tRacket-sensor

    Design files and source code for the tRacket noise sensor

    32 parts11
  • 4 layers102.4 × 27.5 mmGLARE, the printed circuit board in 3D

    GLARE

    RR-CREATOR/GLARE

    Glasses Linked Augmented Reality Engine

    102 parts10MIT
  • 2 layers104 × 104 mmAudio shield, the printed circuit board in 3D

    Audio shield

    LCAV/crazyflie-audio

    Code for recording audio on Crazyflie

    127 parts9MIT