Initial commit: Arduino Uno Q USB Audio Synth project

- USB gadget (UAC1 + MIDI) with boot persistence
- USB host mode with auto-detection
- Pure Data synth patch with ALSA + UDP netreceive MIDI input
- MIDI rawmidi-to-UDP bridge (midi-bridge.py)
- LED matrix visualization (led-matrix-viz.py via arduino-router RPC)
- MCU sketch for LED matrix control (Arduino_RouterBridge + ArduinoGraphics)
- Conftest/OPA Rego policy validation suite for .pd files
- gen_synth_pd.py: programmatic .pd file generator
- System services: midi-bridge, led-matrix-viz, pd-synth-auto, usb-role-detect
- Justfile with deploy, enable, diagnostic recipes
- Diagnostic script (diag.sh)
This commit is contained in:
2026-06-22 22:46:36 -07:00
commit 8cd796e3dd
38 changed files with 2681 additions and 0 deletions
Executable
+27
View File
@@ -0,0 +1,27 @@
#!/bin/bash
# install.sh — Install system dependencies on the Uno Q
# Run this on the board: ssh arduino@uno-q.local 'bash -s' < install.sh
set -euo pipefail
echo "[INSTALL] Updating packages..."
sudo apt update -qq
echo "[INSTALL] Installing Pure Data..."
sudo apt install -y -qq puredata alsa-utils
echo "[INSTALL] Installing USB gadget config..."
sudo cp system/configure-usb-audio.sh /usr/local/bin/
sudo chmod +x /usr/local/bin/configure-usb-audio.sh
sudo cp system/asound.conf /etc/asound.conf
echo "[INSTALL] Installing systemd services..."
sudo cp system/usb-gadget-audio.service /etc/systemd/system/
sudo cp system/pd-synth.service /etc/systemd/system/
sudo systemctl daemon-reload
echo "[INSTALL] Enabling services..."
sudo systemctl enable usb-gadget-audio
sudo systemctl enable pd-synth
echo "[INSTALL] Done. Reboot with: sudo reboot"