Arduino Project Builder
Assemble complete, working Arduino projects from requirements. This skill combines multiple patterns (sensors, actuators, state machines, logging, communication) into cohesive systems.
Quick Start
List available project types:
uv run --no-project scripts/scaffold_project.py --list
Create a complete project:
uv run --no-project scripts/scaffold_project.py --type environmental --board esp32 --name "WeatherStation"
uv run --no-project scripts/scaffold_project.py --type robot --board uno --output ./my-robot
Interactive mode:
uv run --no-project scripts/scaffold_project.py --interactive
Intake And Evidence Boundary
Before assembling a project, read the shared contract and fill the board profile. Record the exact board, framework, toolchain, versions, pins, memory, power, protocols, and recovery path. Keep build, upload, hardware, system, and deployment proof separate; a generated scaffold is not hardware validation.
The scaffold script emits its supported board targets and PlatformIO structure. For another board or vendor framework, reuse the requirements and architecture workflow, then provide a toolchain-specific implementation rather than changing the script's claimed support.
Resources
- examples/ - Complete project examples (environmental monitor, robot controller, IoT device)
- scripts/scaffold_project.py - CLI tool for project scaffolding (config.h, main.ino, platformio.ini, README)
- assets/workflow.mmd - Mermaid diagram of project assembly workflow
Supported Project Types
Environmental Monitors
Multi-sensor data loggers (temperature, humidity, light, air quality)
See Environmental Monitor Example
Robot Controllers
Motor control, sensor fusion, obstacle avoidance, state machines
IoT Devices
WiFi/MQTT data transmission, cloud integration, remote monitoring
Home Automation
Relay control, scheduled tasks, sensor-triggered actions
Data Acquisition Systems
High-frequency sampling, SD card logging, real-time visualization
Project Assembly Workflow
- [ ] Requirements Gathering - Analyze user request and gather project specifications
- [ ] Architecture Design - Design component connections, data flow, and state machines
- [ ] Code Assembly - Combine patterns and customize for user hardware
- [ ] Testing & Validation - Verify compilation, memory usage, and functionality
- [ ] Documentation - Create wiring diagrams, usage instructions, and troubleshooting guides
Quality Standards & Rules
- [ ] Quality Standards - Hardware abstraction, non-blocking code, error handling, and memory safety requirements
- [ ] Integration Checklist - Pre-delivery verification for sensor validation, timing, and reliability
- [ ] Board Considerations - UNO, ESP32, and RP2040 specific optimizations and constraints
Project Output Template
- [ ] Output Template - Standardized format for delivering complete Arduino projects
Resources
- examples/ - Complete project examples with full implementations
- scripts/scaffold_project.py - CLI tool for project scaffolding with config.h, main.ino, platformio.ini, README
- assets/workflow.mmd - Mermaid diagram of project assembly workflow
- workflow/ - Step-by-step project assembly process
- rules/ - Quality standards and board-specific optimizations
- templates/ - Project output templates and documentation standards
Shared Output Contract
Use the shared Arduino skill contract: state assumptions, required tools and versions, implementation steps, tests/evidence by proof stage, known limitations, and recovery/security notes.