Files
apress/deploy/uno-q/skills/uno-q-hardware/SKILL.md
T
Omar SobhandClaude Opus 4.8 62c435c648 feat(uno-q): bundle the granular skill set alongside arduino-uno-q on every node
Vendors the fork's 11 granular UNO Q skills (bridge, flashing, led-matrix,
uno-q-hardware, sketch-patterns, modulino, linux-led, audio, vision, wireless,
arduino-app-lab) next to the comprehensive arduino-uno-q skill, and installs the
whole set into every agent's workspace on each board.

Why both: the comprehensive skill is the rich cloud reference (read_skill →
references); the granular skills are keyword-triggered and match the fork's eager
skill-inliner rules, so the on-board Qwen auto-inlines them (no read_skill
round-trip). flashing + led-matrix carry the exact uno_q_flash + frame-API /
ArduinoGraphics-not-installed detail that makes flashing reliable.

- push-skill.sh generalized: a single skill dir (has SKILL.md) OR a parent dir
  installs every skill under it; provision-fleet now ships all of skills/.
- Verified on board 65301572: cloud/Sonnet-5 lists all 12 skills.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-16 09:32:11 -07:00

1.9 KiB
Raw Blame History

name, description
name description
uno-q-hardware Arduino Uno Q board pinout and voltage rules — PWM pins, 3.3V ADC limits, I2C/SPI/Serial pins, and the MPU vs MCU split. Load this before answering any question that names a pin (D0-D21, A0-A5) or a voltage, or before writing a sketch that uses analogRead/analogWrite/Wire/SPI/Serial.

Arduino Uno Q Hardware

Two processors talk over an RPC Bridge:

  • MPU (Linux) — Qualcomm QRB2210, 4× Cortex-A53. Runs ZeroClaw, the LLM, arduino-cli, OpenOCD. MPU I/O is 1.8 V and is not reachable from sketches.
  • MCU (Arduino) — STM32U585, Cortex-M33, Zephyr + Arduino core. Runs .ino sketches. Every Arduino header (JDIGITAL, JANALOG, JSPI, Qwiic) is 3.3 V.

Sketches always target the MCU (arduino:zephyr:unoq).

Quick facts

  • PWM pins: D3, D5, D6, D9, D10, D11 (the ~ pins). analogWrite only works here.
  • Built-in LED: D13.
  • I2C2 (Wire): SDA = D20, SCL = D21. I2C3 (Wire1): SDA = A4, SCL = A5. I2C4 = the Qwiic connector (plug-and-play Modulino sensors).
  • SPI (SPI2): D10 = CS, D11 = MOSI, D12 = MISO, D13 = SCK.
  • Serial: Serial = D0 (RX), D1 (TX).
  • DAC: A0 = DAC0, A1 = DAC1 (12-bit; analogWriteResolution(12)).
  • CAN: FDCAN1 on D4 (TX), D5 (RX) — needs a transceiver (e.g. TJA1051T/3).

Voltage safety — call this out every time

  • ADC inputs A0A5 accept 03.3 V only (abs max ~3.6 V). 5 V on A0A5 damages the STM32U585. Unlike a classic 5 V Uno.
  • analogRead() returns 01023; volts = raw * 3.3 / 1023.0.
  • For a 5 V sensor, divide down: 5 V → 10 kΩ → A0 → 20 kΩ → GND.

On-board LEDs

  • RGB LED 1/2 are MPU-owned (/sys/class/leds/*, use the sysfs_led tool).
  • RGB LED 3/4 are MCU-owned (analogWrite/digitalWrite in a sketch).
  • All RGB LEDs are active-low (write 0 = on). sysfs_led inverts this for you.