hardware

Read and control I2C and SPI peripherals on Sipeed boards.

4.3k|807|Updated Jan 16, 2024
One-click install
npx skills add https://github.com/oracle-devrel/oracle-ai-developer-hub --skill hardware-oracle-devrel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hardware
Source: https://github.com/oracle-devrel/oracle-ai-developer-hub/tree/main/apps/picooraclaw/cmd/picooraclaw/internal/onboard/workspace/skills/hardware
Command: npx skills add https://github.com/oracle-devrel/oracle-ai-developer-hub --skill hardware-oracle-devrel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you reliably discover, validate, and communicate with I2C and SPI sensors and peripherals on Sipeed boards by providing a safe, repeatable command-driven workflow.

Core Features & Use Cases

  • Bus and device discovery: Use i2c detect/scan and spi list to identify available buses and connected devices.
  • Peripheral read operations: Read sensor registers or SPI payloads to fetch real-world measurements like temperature, power, or display state.
  • Board-specific setup guidance: Handle required pinmux configuration for shared WiFi-capable pins and troubleshoot common failures.
  • Common device usage: Follow reference mappings for popular components (e.g., AHT20, BME280, SSD1306, INA219) using the right addresses, registers, and SPI modes.

Quick Start

Ask it to scan and read an AHT20 sensor on I2C bus 1 by first detecting the bus, scanning for the device address, and then performing the I2C read for the temperature/humidity registers.

Frequently Asked Questions about hardware

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scan for I2C sensors on a Sipeed board?

To scan for I2C sensors, use the i2c detect or scan commands to identify available buses and connected devices. You can then validate 7-bit addresses before reading sensor registers.

How do I read sensor data from an I2C peripheral on Sipeed boards?

Read I2C sensor data by validating the 7-bit address and using i2c read commands to fetch register values. This safely retrieves measurements from supported sensors like AHT20 or BME280.

Why does my SPI peripheral fail to communicate on my LicheeRV Nano?

SPI peripheral communication failures often stem from incorrect SPI modes or missing pinmux setup. You must apply board-specific pinmux initialization steps before accessing SPI devices.

Do I need to configure pinmux before using I2C on a MaixCAM?

Yes, you need to apply board-specific pinmux configuration before access when WiFi shares peripheral pins. This setup ensures the I2C bus is properly initialized for sensor communication.

Can I write data to an SPI display using this workflow?

Yes, you can write data to SPI displays, but the workflow enforces transaction size limits and requires user confirmation for write operations. This prevents accidental modifications to peripherals like SSD1306.