hardware/arduino/arduino/SKILL.md
Build, review, debug, and scaffold professional Arduino projects across classic AVR boards (`Uno`, `Nano`, `Mega`), Renesas-based R4 boards (`Uno R4 Minima`, `Uno R4 WiFi`, `Nano R4`), ESP32-based Arduino boards, and other common Arduino-family targets. Use when asked for sketches, `.ino` files, Arduino IDE 2, Arduino CLI, PlatformIO, or Arduino Cloud workflows, board-specific pin maps, wiring/BOM notes, unit tests, debug plans, upload/serial monitor troubleshooting, or refactors that must stay practical on real hardware.
npx skillsauth add aeondave/malskill arduinoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill is for end-to-end Arduino work that must survive contact with real hardware: board selection, wiring, firmware structure, PlatformIO, testing, debugging, and troubleshooting.
If the task is mainly about choosing sensors or dealing with noisy detection in robotics/domotica, also load sensors.
Lock the target board, toolchain, and capability profile.
Arduino Uno, Uno R4 WiFi, Nano ESP32, ESP32 Dev Module, etc.Arduino IDE 2, Arduino CLI, PlatformIO, or Arduino Cloud.Plan hardware and wiring before code structure.
Choose the right project shape.
.ino only for small sketches or fast experiments.PlatformIO with src/, lib/, include/, and test/..ino preprocessing disappears: add #include <Arduino.h>, proper headers, and forward declarations.Write firmware for bring-up, maintenance, and testability.
millis() scheduling, finite-state machines, or task-style loops over long blocking delay() chains.Define a verification ladder before finishing.
build, upload, monitor, and test steps.Deliver complete output.
Load references/board-families.md for full details. Minimum awareness without loading the reference:
String abuse and large buffers; D0/D1 are serial-sensitive.3.3V logic; be explicit about radio constraints and boot-sensitive pins.while (!Serial) {} blocks autonomous boot; serial port can disappear on reset.Arduino IDE 2, Arduino CLI, or PlatformIO)delay() use is justified or removedPlatformIO config, if present, matches the board and monitor assumptionsPlatformIO board ID, upload protocol, or debugger choice.while (!Serial) {}.Uno R4 WiFi, mention board-specific caveats when they matter: Qwiic is 3.3V on Wire1, HID can change the USB port, and direct ESP32 programming can break the default bridge firmware.lib_deps when the project needs reproducibility.references/project-patterns.md for project shape, architecture, OTA guidance, bring-up flow, and deliverables.references/pin-planning.md when assigning GPIOs, documenting wiring, or checking bus and voltage constraints.references/board-families.md when selecting a board, comparing families, or explaining board-specific caveats.references/platformio-testing-debugging.md when the request mentions PlatformIO, tests, upload issues, serial monitor issues, or debugging.references/project-patterns.md — project intake, architecture, deliverable bundles, and first-power-on workflow.references/pin-planning.md — GPIO planning, voltage-domain checks, bus mapping, and wiring-output format.references/board-families.md — practical differences between AVR, R4, ESP32-based, and native-USB Arduino targets.references/platformio-testing-debugging.md — PlatformIO structure, migration guidance, unit testing, debugging, and troubleshooting.development
White-box auditing methodology for AI-generated ('vibe-coded') applications. Focuses on modern stack misconfigurations (Supabase, Next.js, Vercel).
development
Hybrid AI/Deterministic SAST methodology for discovering zero-day vulnerabilities in source code. Orchestrates structural search with AI-driven data flow and sink validation.
development
Auth assessment: hardware/embedded methodology; UART/JTAG/SWD/SPI/I2C, firmware extraction, boot/debug paths, embedded OS evidence.
devops
Container methodology: Identifying containerization limits, Docker/K8s misconfigurations, and executing escapes to the host node.