Wearable input · open research

Small ring.
Real control.

Turn a Colmi ring’s motion into gestures, keys and MIDI. Use the software. Inspect the protocol. Follow the evidence all the way into the firmware.

A ring in the signal path Schematic, not a hardware rendering or live telemetry. A ring senses motion and sends Bluetooth packets; host software turns them into actions. MOTION → BLE A1 / 03 SENSE / STREAM / MAP
A signal-path schematic, not a hardware rendering.
On the phoneAndroid reference app

Gesture recognition, mappings and input.

On the desktopRust CLI + daemon

BLE, event streams, MIDI and MCP.

On the workbenchFirmware, with evidence

Measured results separated from hypotheses.

From motion to action.

A ring supplies sensor packets. The host supplies the meaning: filtering, gestures, sequences and mappings. The Android app is the behavioural reference; the desktop tools expose the same kind of input to other software.

From motion to action A Colmi ring sends Bluetooth sensor data. The Android app filters and recognizes gestures, then injects input or emits events to a desktop. The Rust ring daemon can also consume BLE directly and exposes events, CLI and MCP tools. Colmi ringraw sensor packets Android appfilter · gestures · mappings Keys · scroll · MIDIlocal input or a receiver Rust ring daemondirect BLE or app events CLI / MCP / event logautomation and inspection BLE mapped actions BLE NDJSON events observe / control
Direct BLE and Android-emitted events are two input paths, not a requirement to run every component. Event emission is opt-in.

Pick your entry point.

ANDROID

Wear the controller.

Connect rings, tune gesture thresholds and map movement to key presses, scrolling or musical controls. Inspect the live signal before changing a mapping.

Android app and builds →
DESKTOP

Make events useful.

Scan and identify a ring, inspect packet rates, follow semantic events, or expose the command surface to an agent through MCP.

Desktop quick start →
RESEARCH

Read the bytes.

Compare firmware families, understand the containers, and trace the R12’s actual raw-stream and segment-display paths.

Research notebook →

A better question for the R12.

Offline finding · October 2026

What if the old patch targeted the wrong path?

A fresh audit found that it did. The real raw-sensor producer has a traceable timer. Stock firmware also exposes a memory bridge that reaches the segment display’s glyph table.

The old “SWD only” and “1344 Hz” conclusions are not established facts. The new paths are tested in emulation; physical acceptance is still open.

Read the R12 re-audit

An important distinction

Packets are not fresh samples.

A faster timer can emit the same cached acceleration more often. A meaningful result measures changing sensor data, link stability and power—not just a notification counter.

A marketed model name is not a firmware identity, either. Read Device Information before selecting any image.

Start with observation.

Firmware flashing is not the first step. Identify the ring, observe its stream and check the evidence for that exact family. This site hosts explanations, not live flashing controls or firmware payloads.

Compare supported and research-only families →

With the ring CLI installed and Bluetooth access granted

ring scan --json
ring info --name desk-ring --json
ring connections --json
ring rates --name desk-ring --json

Replace desk-ring with a configured name. Connection and rate reports are cached observations; timestamps matter.