RingOn · ring console

disconnected
Device
—
Firmware
—
Battery
—
Notify rate
— Hz
Samples
0

Accelerometer

X
—
Y
—
Z
—
|a|
—
Tilt → gravity moves across axes, |a| ≈ 1.0 g. Tap → spikes. Stock rate is ~4–25 Hz (that slowness is the point — see docs/14).

Emergency trigger

EMERGENCY · OFF
turn ≥ 300°
max pause 1.0s
turned 0° · dir —

Controls

Measurements — these turn the green (HR) / red (SpO₂) sensor LEDs on
On-ring TAP-engine probe — enter tap mode, then tap the ring. R12 has an ST accel with a HW tap engine; RT02CR's STK8321 does not. Watch min gap: a ~2000ms floor = the crude camera-lockout; a small gap (<300ms) = a real tap engine that can do fast/multi-tap. taps: 0 · clean: 0 · last gap: — · min gap: — debounce 0ms — taps closer than this are marked false (client-side; the ring's own tap sensitivity is firmware-set, not adjustable over BLE)
Arm gesture — N clean taps toggle ARM ⇄ DISARM (same taps do both). ⚠ The R12 stock firmware only emits ~1 tap per ~2s, so space taps ~2s apart; max-gap/window are set for that. taps to arm/disarm 3 max gap 2800ms window 8000ms seq: 0/3
TAP TRIGGER · SAFE
Raw sensor streams — A1 04 floods the link & may stop responding to commands; if stuck, use Disconnect
LED isolate (test) — enable accel first, then try killing one emitter / scanning the A1 04 mask; watch which LED stays + that Hz holds
Device
The R02 has no NFC and no screen or RGB indicator — the only LEDs are the green (HR) + red/IR (SpO₂) sensor emitters, which light while a measurement or raw stream runs. QRing commands for display clock / brightness / orientation are smartwatch leftovers and do nothing on the R02. Poke anything else from the raw console below.

Firmware (OTA over Bluetooth) connect first

⚠ Flashing replaces the ring firmware. A bad image can require SWD recovery via the P00/P01 pads, and your stock 3.12.01 is not restorable (only 3.00.06 is public). Use a spare ring for the first flash. Keep the ring still and this tab open until it finishes.
Baseline test — one click, known-good image (stock 3.00.06 + faster accel, pre-loaded)
Or flash your own .bin (later — custom firmware)
no file selected
idle

Recorder

Label this run
idle — 1) Enable accel 2) pick a label 3) Record
Saves to ringon/data/ on Stop (via the collector server). Hit Mark gesture at the instant you perform each triple-tap+hold so the gestures are easy to find in the data. Do ~5–10 reps per run. If saving fails you're on the plain server — run python tools/collect_server.py instead.

Console

Checksum is appended automatically (sum of bytes & 0xFF), padded to 16. Try 03 battery · A1 04 accel on · A1 02 accel off.
Web Bluetooth · Chrome or Edge · must be served over http://localhost or https (not file://). If "Connect" does nothing, you're on an unsupported browser or an insecure origin.