hardware
Read and control I2C and SPI peripherals on Sipeed boards (LicheeRV Nano, MaixCAM, NanoKVM).
pinned to #85dcfccupdated 2 weeks ago
Ask your AI client: “install skills/hardware”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/hardwaremetahub onboarded this repo on the author's behalf.
If you own github.com/sipeed/picoclaw on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
29,710
Last commit
2 weeks ago
Latest release
published
About this skill
Pulled from SKILL.md at publish time.
Use the `i2c` and `spi` tools to interact with sensors, displays, and other peripherals connected to the board.
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.85dcfcc· 2 weeks ago
Documentation
32Description qualitywarn
14 words · 92 chars — skills use the description as their trigger; aim higher
Aim for 15+ words and include trigger phrases like “use this skill when …”.
README is present and substantial
31,627 chars · 14 sections · 14 code blocks
Tags / topics declaredwarn
No manifest tags and no GitHub repo topics
Add tags to the manifest (or GitHub topics on the repo) so the registry's search and category filters surface this artifact.
README has usage / example sections
no labeled section but 14 code blocks document usage
Homepage / docs URL declared
https://picoclaw.io
Release history
1- releasecurrent85dcfccwarn2 weeks ago
Contents
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:
- Stop WiFi if using shared pins:
/etc/init.d/S30wifi stop - Load i2c-dev module:
modprobe i2c-dev - Configure pinmux with
devmem(board-specific) - Verify with
i2c detectandi2c 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
| Problem | Solution |
|---|---|
| No I2C buses found | modprobe i2c-dev and check device tree |
| Permission denied | Run as root or add user to i2c group |
| No devices on scan | Check wiring, pull-up resistors (4.7k typical), and pinmux |
| Bus number changed | I2C adapter numbers can shift between boots; use i2c detect to find current assignment |
| WiFi stopped working | I2C-1/SPI-2 share pins with WiFi SDIO; can't use both simultaneously |
devmem not found | Download separately or use busybox devmem |
| SPI transfer returns all zeros | Check MISO wiring and device power |
| SPI transfer returns all 0xFF | Device not responding; check CS pin and clock polarity (mode) |
Reviews
No reviews yet. Be the first.
Related
Verification Before Completion
Evidence before assertions, always
Writing Plans
Turn specs into phased implementation plans
Test-Driven Development
Red → green → refactor discipline for any feature or bugfix
mh install skills/hardware