Source profileQuality 83/100

sipeed/picoclaw/workspace/skills/hardware/SKILL.md

hardware

Read and control I2C and SPI peripherals on Sipeed boards (LicheeRV Nano, MaixCAM, NanoKVM).

Source repository stars
29,812
Declared platforms
0
Static risk flags
0
Last source update
2026-07-30
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Use the i2c and spi tools to interact with sensors, displays, and other peripherals connected to the board.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/sipeed/picoclaw --skill "workspace/skills/hardware"
    Safe inspection promptEditorial

    Inspect the Agent Skill "hardware" from https://github.com/sipeed/picoclaw/blob/49183d7e8daed0dba89ddbb6fcb60089401d9680/workspace/skills/hardware/SKILL.md at commit 49183d7e8daed0dba89ddbb6fcb60089401d9680. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Quick Start

      Review the “Quick Start” section in the pinned source before continuing.

      Review and apply the “Quick Start” source section.
    2. 02

      Before You Start — Pinmux Setup

      Most I2C/SPI pins are shared with WiFi on Sipeed boards. You must configure pinmux before use.

      Stop WiFi if using shared pins: /etc/init.d/S30wifi stopLoad i2c-dev module: modprobe i2c-devConfigure pinmux with devmem (board-specific)
    3. 03

      1. Find available buses

      Review the “1. Find available buses” section in the pinned source before continuing.

      Review and apply the “1. Find available buses” source section.
    4. 04

      2. Scan for connected devices

      Review the “2. Scan for connected devices” section in the pinned source before continuing.

      Review and apply the “2. Scan for connected devices” source section.

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score83/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars29,812SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    sipeed/picoclaw
    Skill path
    workspace/skills/hardware/SKILL.md
    Commit
    49183d7e8daed0dba89ddbb6fcb60089401d9680
    License
    MIT
    Collected
    2026-08-04
    Default branch
    main
    View the original SKILL.md

    Hardware (I2C / SPI)

    Use the i2c and spi tools to interact with sensors, displays, and other peripherals connected to the board.

    Quick Start

    # 1. Find available buses
    i2c detect
    
    # 2. Scan for connected devices
    i2c scan  (bus: "1")
    
    # 3. Read from a sensor (e.g. AHT20 temperature/humidity)
    i2c read  (bus: "1", address: 0x38, register: 0xAC, length: 6)
    
    # 4. SPI devices
    spi list
    spi read  (device: "2.0", length: 4)
    

    Before You Start — Pinmux Setup

    Most I2C/SPI pins are shared with WiFi on Sipeed boards. You must configure pinmux before use.

    See references/board-pinout.md for board-specific commands.

    Common steps:

    1. Stop WiFi if using shared pins: /etc/init.d/S30wifi stop
    2. Load i2c-dev module: modprobe i2c-dev
    3. Configure pinmux with devmem (board-specific)
    4. Verify with i2c detect and i2c scan

    Safety

    • Write operations require confirm: true — always confirm with the user first
    • I2C addresses are validated to 7-bit range (0x03-0x77)
    • SPI modes are validated (0-3 only)
    • Maximum per-transaction: 256 bytes (I2C), 4096 bytes (SPI)

    Common Devices

    See references/common-devices.md for register maps and usage of popular sensors: AHT20, BME280, SSD1306 OLED, MPU6050 IMU, DS3231 RTC, INA219 power monitor, PCA9685 PWM, and more.

    Troubleshooting

    ProblemSolution
    No I2C buses foundmodprobe i2c-dev and check device tree
    Permission deniedRun as root or add user to i2c group
    No devices on scanCheck wiring, pull-up resistors (4.7k typical), and pinmux
    Bus number changedI2C adapter numbers can shift between boots; use i2c detect to find current assignment
    WiFi stopped workingI2C-1/SPI-2 share pins with WiFi SDIO; can't use both simultaneously
    devmem not foundDownload separately or use busybox devmem
    SPI transfer returns all zerosCheck MISO wiring and device power
    SPI transfer returns all 0xFFDevice not responding; check CS pin and clock polarity (mode)