Files
apress/deploy/uno-q/skills/wireless/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

40 lines
1.3 KiB
Markdown

---
name: wireless
description: Wi-Fi and Bluetooth on the Arduino Uno Q — both radios live on the Linux (MPU) side, not the MCU. Load this for questions about connecting to Wi-Fi, scanning networks, Bluetooth/BLE, or why WiFi.h won't compile in a sketch.
---
# Wireless on the Uno Q (Linux side only)
The Wi-Fi 5 + Bluetooth 5.1 radio (WCN3980) is on the **MPU (Linux)** side. The
**MCU has no wireless peripheral** — sketches cannot do Wi-Fi/BT directly. A sketch
that needs the network must call the MPU over the Bridge (see the `bridge` skill).
## Wi-Fi (Linux)
Managed by **NetworkManager** on the Debian side:
```sh
nmcli device wifi list # scan
nmcli device wifi connect "<SSID>" password "<PSK>"
nmcli connection show --active # verify
```
Use the `network` tool for a read-only view of interfaces + the default gateway.
## Bluetooth / BLE (Linux)
Managed by **BlueZ**:
```sh
bluetoothctl # scan on / pair / connect
```
From Python: **bleak** (central/client) or **bless** (peripheral/server).
## Pitfalls
- `#include <WiFi.h>` / `<WiFiNINA.h>` do **not** compile for
`arduino:zephyr:unoq` — there is no MCU Wi-Fi.
- To get sensor data online: MCU samples the pin → Bridge → Python (MPU) makes the
HTTP request / serves the dashboard.