# Arduino UNO Q Development Workflow Complete development setup for Arduino UNO Q with MCU (Arduino) and MPU (Linux/Python) support. ## Files Created - `main.py` - Python application for MPU (Linux side) - `setup_ssh.sh` - SSH configuration script - `build.sh` - Arduino CLI build script for MCU - `upload.sh` - Deployment script for both MCU and MPU - `package.json` - Updated with build/deploy scripts ## Setup Instructions ### 1. Initial SSH Setup ```bash npm run setup ``` This configures SSH key authentication for file transfer to the Arduino UNO Q. ### 2. Build and Deploy ```bash # Build the Arduino sketch for MCU npm run build # Upload both MCU sketch and Python script to MPU npm run upload # Or do both in one command npm run deploy ``` ### 3. Management Commands ```bash # Check service status npm run status # View live logs npm run logs # Restart the Python application npm run restart # Stop the application npm run stop ``` ## Architecture ### MCU (STM32U585) - Runs Arduino sketches - Handles real-time operations - Compiled via Arduino CLI - Uploaded via USB/serial ### MPU (Qualcomm Dragonwing QRB2210) - Runs Debian Linux - Executes Python applications - Communicates with MCU via Bridge library - Managed via SSH ### Communication - Python app uses named pipes (`/tmp/unoq_cmd.pipe`) - Status updates via JSON file (`/tmp/unoq_status.json`) - Bridge library for MCU-MPU communication ## Usage 1. **Connect Arduino UNO Q** via USB-C 2. **Run setup**: `npm run setup` 3. **Edit your code** in `src/main.ino` and `main.py` 4. **Deploy**: `npm run deploy` 5. **Monitor**: `npm run logs` The Python application will start automatically and communicate with the Arduino sketch via the Bridge library.