ArduinoUNO-Q/README_STRUCTURE.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 Project Structure

ArduinoUNOQ/
├── src/
│   ├── mpu/                 # Linux/MPU (Debian) side
│   │   └── main.py         # Python application for MPU
│   └── mcu/                 # MCU (STM32) side  
│       └── main.ino        # Arduino sketch for MCU
├── build/                   # Build output directory
├── Document/               # Documentation and PDFs
├── package.json            # Project configuration
├── build.sh               # MCU build script
├── upload.sh              # Deployment script
├── setup_ssh.sh           # SSH configuration
└── WORKFLOW.md            # Development workflow

Architecture

MPU (Microprocessor) - Linux Side

  • Location: src/mpu/
  • Processor: Qualcomm Dragonwing QRB2210 (ARM Cortex-A53)
  • OS: Debian Linux
  • Language: Python 3
  • Communication: Bridge library, SSH, named pipes

MCU (Microcontroller) - Arduino Side

  • Location: src/mcu/
  • Processor: STM32U585 (ARM Cortex-M33)
  • OS: Arduino Core on Zephyr
  • Language: C++ (Arduino)
  • Communication: Bridge library, GPIO, peripherals

Development Workflow

  1. Edit code in respective directories:

    • MPU code: src/mpu/main.py
    • MCU code: src/mcu/main.ino
  2. Build MCU sketch:

    npm run build
    
  3. Deploy both:

    npm run deploy
    
  4. Monitor:

    npm run logs
    

Communication

  • MPU → MCU: Bridge library commands
  • MCU → MPU: Bridge library responses
  • File transfer: SSH (SCP)
  • Real-time data: Named pipes (/tmp/unoq_cmd.pipe)
  • Status updates: JSON files (/tmp/unoq_status.json)