# Configure RuView Systems

Changes RuView firmware, WiFi, channel and server settings without code changes.

- Repository: https://github.com/ruvnet/RuView (101983 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ruvnet/RuView --skill ruview-configure -g -a claude-code -y`
Codex: `npx skills add ruvnet/RuView --skill ruview-configure -g -a codex -y`
Cursor: `npx skills add ruvnet/RuView --skill ruview-configure -g -a cursor -y`
Gemini CLI: `npx skills add ruvnet/RuView --skill ruview-configure -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add ruvnet/RuView`

## Description

Configure RuView, ESP32 sdkconfig variants, NVS provisioning, WiFi channel / MAC filter overrides (ADR-060), edge intelligence modules (ADR-041), sensing-server flags, multi-node mesh, and Cognitum Seed integration. Use when adjusting how a deployed RuView system behaves without changing code.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# RuView Configuration

Everything you can tune in a RuView deployment, from a one-line provision flag to a full mesh + Cognitum Seed setup.

## 1. Firmware build-time config (sdkconfig)

| Variant | File | When |
|---------|------|------|
| 8MB (default) | `firmware/esp32-csi-node/sdkconfig.defaults.template` | ESP32-S3 8MB, full feature set, real WiFi CSI |
| 4MB | `firmware/esp32-csi-node/sdkconfig.defaults.4mb` | ESP32-S3 SuperMini 4MB, display disabled, dual OTA slots (`partitions_4mb.csv`, ~1.856 MB each) |
| Heltec N16R2 | `firmware/esp32-csi-node/sdkconfig.defaults.heltec_n16r2` | Heltec boards |

Switch: `cp firmware/esp32-csi-node/sdkconfig.defaults.<variant> firmware/esp32-csi-node/sdkconfig.defaults`, then rebuild (see `ruview-hardware-setup`). **Never test in mock mode**, the Kconfig fall-threshold bug only showed up with real CSI.

## 2. Runtime device config (NVS via provision.py)

`provision.py` writes the `csi_cfg` NVS namespace over the serial port. **Run `python firmware/esp32-csi-node/provision.py --help` for the authoritative flag list** (on Windows force `PYTHONUTF8=1 PYTHONIOENCODING=utf-8`, the help text contains non-ASCII and crashes under cp1252).

```bash
python firmware/esp32-csi-node/provision.py --port COM8 \
  --ssid "WiFi" --password "secret" \
  --target-ip 192.168.1.20 --target-port 5005 \   # aggregator UDP sink (port default 5005)
  --node-id 1 \                                   # 0-255
  --channel 6 --filter-mac AA:BB:CC:DD:EE:FF       # ADR-060: pin channel + filter transmitter
```

The rest: https://github.com/ruvnet/RuView/blob/HEAD/plugins/ruview/skills/ruview-configure/SKILL.md
