What problem does it solve? Developers on D-Robotics RDK boards struggle to wire and drive real peripherals — servos brown out the board when powered from the 40PIN rail, CAN commands differ completely between X5 (SocketCAN) and S100/S600 (MCU-domain CANHAL), and devices often appear "not detected" with no clear diagnosis path. This Skill provides board-aware, verified workflows so an AI agent gives correct wiring, commands, and troubleshooting instead of guessing. ## Core Features & Use Cases - Cross-board peripheral workflows: GPIO via libgpiod, servos via PWM/PCA9685, DC/stepper/BLDC motors, WS2812 strips over SPI MOSI, ALSA audio, and CAN bringup with per-board routing. - Deterministic probe scripts: can_mode.py answers whether a board uses SocketCAN or MCU-domain CANHAL; gpio_probe.sh reports GPIO line counts and CAN interface state as structured JSON. - Zero-driver diagnosis SOP: a 9-step dmesg/lsusb/i2cdetect checklist with a symptom-to-cause table for "device not recognized" issues. - Use Case: A user says "I ran ip link set can0 on my S100 and it failed" — the Skill explains S100 CAN lives in the MCU domain and routes them to the CANHAL /app/Can sample instead of can-utils. ## Quick Start Ask the agent how to wire and drive a specific peripheral on your RDK board, for example "help me control 4 servos on my RDK X5".