- 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
1.7 KiB
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
-
Edit code in respective directories:
- MPU code:
src/mpu/main.py - MCU code:
src/mcu/main.ino
- MPU code:
-
Build MCU sketch:
npm run build -
Deploy both:
npm run deploy -
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)