ArduinoUNO-Q/WORKFLOW.md
Edwin Noorlander 29dd118dc3 Initial Arduino UNO Q template with LED Matrix functionality
- Complete MPU-MCU communication setup
- LED Matrix text display with configurable parameters
- Configuration management with personal data protection
- Git template with .gitignore for sensitive data
- Automated build and deployment scripts
- SSH key management and service scripts
2025-11-13 12:26:47 +01:00

1.7 KiB

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

npm run setup

This configures SSH key authentication for file transfer to the Arduino UNO Q.

2. Build and Deploy

# 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

# 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.