Awesome-omni-skill arduino-code-generator
Generate Arduino/embedded C++ code snippets and patterns on demand for UNO/ESP32/RP2040. Use when users request Arduino code for sensors, actuators, communication protocols, state machines, non-blocking timers, data logging, or hardware abstraction. Generates production-ready code with proper memory management, timing patterns, and board-specific optimization. Supports DHT22, BME280, buttons, I2C/SPI, EEPROM, SD cards, WiFi, and common peripherals.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/arduino-code-generator" ~/.claude/skills/diegosouzapw-awesome-omni-skill-arduino-code-generator-e7080a && rm -rf "$T"
skills/tools/arduino-code-generator/SKILL.mdArduino Code Generator
Generate production-quality Arduino code snippets for sensors, actuators, communication, and embedded patterns.
Quick Start
Browse example sketches:
# See 9 production-ready examples in examples/ folder ls examples/ # config-example.ino, filtering-example.ino, buttons-example.ino, # i2c-example.ino, csv-example.ino, scheduler-example.ino, # state-machine-example.ino, hardware-detection-example.ino, # data-logging-example.ino
List available patterns:
uv run --no-project scripts/generate_snippet.py --list
Generate code for specific pattern and board:
uv run --no-project scripts/generate_snippet.py --pattern i2c --board esp32 uv run --no-project scripts/generate_snippet.py --pattern buttons --board uno --output button.ino
Interactive mode:
uv run --no-project scripts/generate_snippet.py --interactive
Resources
- examples/ - 9 production-ready example sketches (one per pattern category)
- examples/README.md - Detailed documentation for each example with wiring diagrams
- scripts/generate_snippet.py - CLI tool for code generation with 9 pattern templates
- assets/workflow.mmd - Mermaid diagram of code generation workflow
Supported Patterns
Hardware Abstraction
- Multi-board config.h with conditional compilation
- Pin definitions for UNO/ESP32/RP2040
- Memory budget tracking
See patterns-config.md | Example: config-example.ino
Sensor Reading & Filtering
- ADC noise reduction (moving average, median, Kalman)
- DHT22, BME280, analog sensors
- Data validation and calibration
See patterns-filtering.md | Example: filtering-example.ino
Input Handling
- Software button debouncing
- Edge detection (PRESSED/RELEASED/LONG_PRESS)
- Multi-button management
See patterns-buttons.md | Example: buttons-example.ino
Communication
- I2C device scanning and diagnostics
- SPI configuration
- UART/Serial protocols
- CSV data output
See patterns-i2c.md and patterns-csv.md | Examples: i2c-example.ino, csv-example.ino
Timing & Concurrency
- Non-blocking millis() patterns
- Task scheduling without delay()
- Priority-based schedulers
- State machines
See patterns-scheduler.md and patterns-state-machine.md | Examples: scheduler-example.ino, state-machine-example.ino
Hardware Detection
- Auto-detect boards (UNO/ESP32/RP2040)
- SRAM usage monitoring
- Sensor fallback strategies
- Adaptive configuration
See patterns-hardware-detection.md | Example: hardware-detection-example.ino
Data Persistence
- EEPROM with CRC validation
- SD card FAT32 logging
- Wear leveling for EEPROM
- Buffered writes
See patterns-data-logging.md | Example: data-logging-example.ino
Code Generation Workflow
- Identify Pattern Type - Analyze user request to determine core pattern category
- Read Reference Documentation - Consult pattern-specific reference files for implementation details
- Generate Code - Create production-ready code following quality standards
- Provide Instructions - Include wiring diagrams and usage guidance
- Mention Integration - Suggest combinations with other patterns when relevant
Quality Standards & Rules
- Quality Standards - Compilation, timing, memory safety, and error handling requirements
- Board Optimization - UNO, ESP32, and RP2040 specific optimizations and features
- Common Pitfalls - Critical mistakes to avoid in Arduino development
Code Output Template
- Code Template - Standardized structure for generated Arduino sketches
Resources
- examples/ - 9 production-ready example sketches (one per pattern category)
- examples/README.md - Detailed documentation for each example with wiring diagrams
- scripts/generate_snippet.py - CLI tool for code generation with 9 pattern templates
- assets/workflow.mmd - Mermaid diagram of code generation workflow
- workflow/ - Step-by-step code generation process
- rules/ - Quality standards and board-specific optimizations
- templates/ - Code output templates and structure guidelines
- references/ - Detailed pattern documentation and API references