Skip to content

Architecture·

The board is the brain. The Mac is a workbench, not a dependency.

 Mac (workbench)                         Arduino UNO Q
 ┌─────────────────┐   USB-C / Wi-Fi     ┌──────────────────────────────────────────┐
 │ ssh q           │────────────────────▶│ Linux  QRB2210, Debian 13                │
 │ adb shell       │                     │  q/          brain, tools, agent         │
 │ tiny (this CLI) │                     │  dashboard/  FastAPI 127.0.0.1:8095      │
 └─────────────────┘                     │  q-tiny      tiny-tech daemon "uno-q"    │
                                         │  q-tunnel    cloudflared                 │
                                         │  arduino-router  msgpack-RPC, unix sock  │
                                         │      │ /dev/ttyHS1 115200                │
                                         │ MCU  STM32U585 (Zephyr): matrix, pins    │
                                         └──────────────┬───────────────────────────┘
                                                        │ tunnel
                                         https://q.cagatay.my
                                  ┌─────────────────────┼────────────────────┐
                                  ▼                     ▼                    ▼
                          tiny.technology        endpoint device        Tiny iOS app
                          fleet (daemon)         kind q-the-brain       QBrain panel

Processes on the board·

unit what
q-dash.service the dashboard on 127.0.0.1:8095, uvicorn from /opt/q (active)
q-tunnel.service cloudflared 2026.9.0, publishes q.cagatay.my (active)
q-tiny.service tiny-tech daemon, fleet device uno-q (active)

Arduino's own services stay untouched: arduino-router (the bridge), arduino-app-cli daemon on 127.0.0.1:8800, the monitor proxy on :7500. Port 8095 is free for q.

Secrets: /etc/q/env (0600, root) for model credentials, /etc/cloudflared/*.json for the tunnel, ~/.q/token for the owner token.

Fallback·

If cloudflared cannot run on the board, a Mac-side tunnel (~/.cloudflared/q.yml, launchd my.cagatay.q.tunnel) points at http://192.168.1.210:8095. The board still runs everything else.