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

62 lines
1.7 KiB
Markdown

# 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**:
```bash
npm run build
```
3. **Deploy both**:
```bash
npm run deploy
```
4. **Monitor**:
```bash
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`)