Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

SBC Programmer Skill

Skill Spec Python Linux SBC License: MIT

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.


Mandatory Environment Detection

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.


Library Decision Gate

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.


Supported Work

  • 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

Engineering Behavior

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 install as 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

Debugging Order

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

Repository Structure

SBC_Programmer/
├── SKILL.md       # Complete SBC hardware-Python engineering workflow
├── README.md      # Overview and usage
└── LICENSE        # MIT License

Usage

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.


License

Distributed under the MIT License. See LICENSE for details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors