nestinel Sensor demo
Not running

Occupancy

Not running

Connect a sensor or play the recording.

Breathing rate, shown

–

breaths/min, smoothed ~8 s

Per-breath rate

–

median of last 3 breaths

Heart rate experimental

–

strongest heart-band frequency

Tracked distance

–

from the sensor

Regularity

–

autocorrelation, 0 to 1

Breath size

–

chest movement, peak to peak

Quiet for

–

since the last strong motion

Session

00:00

–

Breathing

Band-passed chest movement at the tracked distance, last 30 s. Dots are detected breaths.

Connection

The sensor connects over USB, straight from the browser (WebUSB). It is not a serial (COM) port, and no driver or app is needed.

  1. Browser can use USB devices–
  2. Processing loaded–
  3. Sensor opened–
  4. Firmware a2-v1.2.0–
  5. Radar setup accepted–
  6. Frames arriving–
Board
–
Sensor serial
–
USB
–
Setup
desk: profile 3, PRF 20.8 MHz, hwaas 50, gain 10
Range
0.25 to 1.81 m, 40 points × 12 channels
Data in
–
How to connect
  1. Use Chrome or Edge on a laptop or desktop. Firefox, Safari and phones can't open USB devices; they can still play the recording.
  2. Close the Nestinel Console and Acconeer's Exploration Tool. Only one program can hold the sensor.
  3. Plug the XE212 in over USB-C. It shows up as "Acconeer XE212" (USB 0483:a561).
  4. Press Connect sensor and pick it. A sensor allowed before connects without asking.
  5. Point its flat face at the chair, 0.6 to 0.9 m away, with nothing else moving within 1.3 m.

Linux: allow access once with a udev rule, then replug:
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="a561", MODE="0666" in /etc/udev/rules.d/60-xe212.rules.

Firmware: the page only streams from the Exploration Server a2-v1.2.0. Upgrade older boards once with Acconeer's xe212tool.py upgrade.

No reply, or "access denied": another program has the sensor, or (Windows) another driver is bound to it. Unplug, close other tools, replug, connect again.

Heartbeat experimental

The same chest movement filtered to the heart band (0.8 to 2.5 Hz, 48 to 150 per minute), last 15 s, updated every second. Clearest when breathing pauses. Not yet checked against a heart-rate reference.

Spectrum by distance

How strong each rhythm is at each distance, from the last 20 s of movement. Darker is stronger (top 40 dB shown). Click a row to inspect that distance; the red line is the tracked distance.

Spectrum at the tracked distance

Power by frequency. The breathing and heart bands are shaded; the strongest peak in each is labelled.

Movement by distance

Presence score at each distance over the last 60 s. Darker is more movement; the line is the tracked distance. Dashed lines bound the detection zone.

Presence score

Top movement score in the zone, last 60 s, log scale, against the on and off thresholds. Shaded while occupied.

Breath rate

Last 3 minutes. each breath, the rate shown.

Echo strength

Mean signal over the 12 channels at each distance, ~1 s average. The tracked distance is marked.

Signal health

From the sensor's own clock and flags.

Frames
–
Frame rate
–
Gaps in timing
–
Late frames
–
Saturated frames
–
Temperature
–
Throughput
–
Processing
–
Raw data kept
–

Processor state

What presence.py reports, five times a second.

Log

Newest first. Saved in the session zip.