An AI agent skill for writing hardware-facing Python on Linux single-board computers such as Raspberry Pi, NVIDIA Jetson, BeagleBone, Orange Pi and Rock Pi.
The main rule is simple: never write board-specific hardware code until the agent has identified the exact SBC and software environment.
Before GPIO/I2C/SPI/UART/PWM/camera/sensor code, the agent checks:
Exact SBC model + revision
SoC + CPU architecture
Linux distribution + version
Kernel version
Python version + interpreter
Virtual environment / dependency manager
Active user + groups/permissions
GPIO backend
Enabled interfaces
Relevant /dev device nodes
Pin-numbering convention
That prevents Raspberry Pi assumptions from leaking into Jetson code, or instructions for an old OS release being applied to a newer image.
When a new hardware dependency or reusable device driver is needed, the agent asks:
Do you want to use an existing library, or build a custom Python library/driver?
If you choose custom, it must then ask:
What exactly should the custom library/driver do?
Only after the required behavior is defined will it design the API and write the driver.
- Raspberry Pi GPIO and Linux GPIO
- NVIDIA Jetson GPIO/header work
- GPIO input/output and edge events
- I2C
- SPI
- UART / serial
- PWM
- External ADCs
- Sensors and actuators
- CSI / USB cameras
- CAN where supported
- USB hardware
- Wi-Fi / Bluetooth / networking
- Python virtual environments
- udev permissions
- systemd services
- Docker hardware access
- threading / asyncio
- hardware debugging
- power and thermal diagnostics
The skill requires the coding agent to:
- Inspect the existing project before modification
- Verify the exact board and OS instead of guessing
- Verify pin numbering before wiring/code
- Check voltage compatibility and driver requirements
- Preserve the project's existing GPIO/hardware stack
- Avoid
sudo pip installas a default fix - Avoid running the whole application as root just to solve permissions
- Avoid changing boot/device-tree/pinmux configuration without evidence
- Distinguish Linux event timing from MCU hard real-time behavior
- Verify hardware at runtime instead of declaring success from imports alone
Board
→ OS/version
→ kernel/BSP
→ Python environment
→ wiring/power
→ pin mapping/pinmux
→ interface enablement
→ device nodes
→ permissions
→ library compatibility
→ minimal hardware test
→ protocol
→ application logic
SBC_Programmer/
├── SKILL.md # Complete SBC hardware-Python engineering workflow
├── README.md # Overview and usage
└── LICENSE # MIT License
Place the directory in your agent's skills path, for example:
~/.gemini/config/skills/SBC_Programmer/The agent can then activate it for Raspberry Pi, Jetson and other Linux SBC hardware-programming tasks.
Distributed under the MIT License. See LICENSE for details.