Live Scope

The Live Scope node is a sink that plots numeric data from your stream as a rolling, oscilloscope-style time-series chart, directly on the Studio canvas. It works for guests on /terminal — no account required.

Frame Format

Live Scope parses each incoming frame’s payload line by line. Each line is a set of comma-separated name:value pairs — one pair per channel:

ch1:1.2,ch2:-0.4
  • Each distinct channel name becomes its own chart series with a legend entry.
  • Values must parse as numbers. Malformed pairs and non-numeric values are ignored, and lines with no valid pairs produce no samples.
  • A frame may contain multiple lines; each line becomes one sample at that frame’s timestamp.

If your device doesn’t emit this format natively, put a Lua Transform in front of the scope to reshape your protocol into name:value CSV lines.

Time Axis

The x-axis plots each frame’s source capture timestamp, displayed as seconds relative to the first sample on the chart, with a sliding window so the axis visibly advances as data arrives:

  • Serial and pipe streams — samples are spaced by their real capture timing as frames arrive.
  • Playback — the recorded timing of the fixture or capture being replayed.

If the timestamps jump backwards (a new stream), the chart re-anchors the axis at zero.

Settings

Setting Default Range What it does
Window (seconds) 10 1 – 3600 How many seconds of history the rolling window keeps and displays.
Max points 600 1 – 5000 Hard cap on buffered samples; older samples are dropped first.

Values outside these ranges are clamped automatically. The chart keeps the same history as the node itself, so what you see is exactly what’s retained.

The flush interval — how often batched samples are pushed to the chart — is a node config value (flush_ms, default 100 ms, clamped to 25–1000 ms). It is not currently exposed in the settings panel.

Pause And Hover Readout

  • Pause / Resume freezes the chart without stopping the stream; incoming samples are ignored by the display while paused.
  • Hovering over the chart shows a per-channel value readout. The cursor position is retained across data updates, so a stationary hover keeps reading the sample currently under it as the window slides.

Docked Charts

Pin a Live Scope node to the dock and the dock panel renders the same live chart. The canvas chart and the docked chart for the same node receive the same samples, and a chart you pin after data starts opens with the samples already collected — you don’t lose history by pinning mid-stream.

Dock panels use collapsible sections to keep the chart front and center:

  • Scope Settings (window / max points) sits behind a collapsed section in the dock.
  • Telemetry is collapsed by default in dock panels.
  • Collapse state is remembered per node — it is stored in the node’s config, so it survives reopening the panel.

What Live Scope v1 Does Not Do

Live Scope v1 is intentionally a simple rolling chart. It has no triggers, no protocol decode, no FFT, no measurement overlays, and no export. To keep raw data, capture it with a Cloud file sink (account required) and replay it later with a Playback source.

Next Steps

  • Lua Transforms — Reshape your protocol into scope-friendly name:value lines
  • CLI Reference — Stream data into Studio with serialflow pipe