Files
apress/deploy/uno-q/skills/modulino/SKILL.md
T
Omar SobhandClaude Opus 4.8 8ce8474d33 feat(uno-q): wire i2c_scan into the relay, allowlist, and modulino skill
- matrix-relay/relay.py: handle the `i2c` command → Bridge.call("i2c_scan").
- config.template: allow + auto-approve i2c_scan on the default risk profile.
- modulino skill: point "confirm a module is present" at i2c_scan (MCU Qwiic
  bus) instead of the Linux i2cdetect.

Completes the container-native path: the three canned prompts (list I2C /
matrix pattern / scroll text) all run through the RouterBridge responder —
no /dev/i2c, no flash — so they work in the App Lab container node.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-22 12:59:18 -07:00

39 lines
1.2 KiB
Markdown

---
name: modulino
description: Plug-and-play Modulino sensors/actuators for the Arduino Uno Q — Qwiic I²C modules (Buzzer, Distance, Knob, Movement, Pixels, Thermo, Touch) and their I²C addresses. Load this when a project uses a Modulino, the Qwiic connector, or asks about a named sensor module.
---
# Modulino — Qwiic Plug-and-Play I²C
Modulinos are Arduino's Qwiic (I²C) plug-and-play modules. Chain them into the
Uno Q's **Qwiic connector (I2C4)** — no soldering, no pull-ups to add. Use the
`Modulino` Arduino library on the MCU, or scan the bus with the `i2c_scan` tool.
## Default I²C addresses
| Modulino | Address |
|---|---|
| Buzzer | 0x3C |
| Distance (ToF) | 0x29 |
| Knob (rotary) | 0x76 |
| Movement (IMU) | 0x6A |
| Pixels (LEDs) | 0x6C |
| Thermo (temp/humidity) | 0x44 |
| Touch | 0x5A |
## Sketch pattern (MCU)
```cpp
#include <Modulino.h>
ModulinoKnob knob;
void setup() { Modulino.begin(); knob.begin(); }
void loop() { int v = knob.get(); /* ... */ }
```
## Tips
- Confirm a module is present with `i2c_scan` (scan the Qwiic/I2C bus on the MCU) — the address
should match the table above.
- Qwiic is 3.3 V, like the rest of the Arduino headers.
- The Movement Modulino (0x6A) is an IMU — handy for the workshop's sense loop.