Skip to main content
Use a Plot tab in the VS Code Monitor to follow numeric signals from serial or RTT output. You can compare time series, create an XY plot, and calculate derived signals without changing firmware.

Send values from firmware

Embedder recognizes Teleplot lines:
Use >channel:value, optionally adding a millisecond timestamp before the value and a unit after §. The |t suffix marks text for the status display. Emit one channel per line. For Arduino-style firmware:
Keep high-volume logging out of timing-sensitive interrupts. Device timestamps help preserve sample spacing when output arrives in batches.

Start a plot

Connect the intended serial or RTT stream, then run /plot for the manual Plot view. When you ask Embedder to plot signals, it creates a project dashboard:
Check the discovered channel names and units. If several ports are connected, name the port in the request. If the firmware uses a different text format, provide sample lines and ask Embedder to configure a matching parser. Verify the resulting values against the original output.

Arrange the view

Use the toolbar to change channel visibility, colors, labels, units, axis placement, or axis limits. The toolbar also provides pause, clear, time-window, recording-name, and export controls. Text channels appear as status values rather than numeric curves.

Compare two signals

Choose XY mode and pair voltage on X with current on Y for an I-V curve. For a custom view, ask Embedder to build the pairing in a dashboard. XY plots align channels by timestamp. Use signals from the same clock or a known synchronization method when the relationship depends on timing.

Add a math channel

Configure math channels in the Plot view. For a dashboard, implement derived series in dashboard.js. Expressions use case-sensitive channel names, arithmetic, and supported functions. Examples:
  • voltage * current for power when inputs are volts and amps.
  • lowpass(temperature, 5) for a 5 Hz low-pass filter.
  • moving_avg(current, 20) for a 20-sample moving average.
  • derivative(position) for rate of change.
  • integral(power) for accumulated energy when power is in watts.
Other functions include abs, sqrt, pow, exp, log, min, max, highpass, ema, median, and rolling statistics. Expressions cannot run arbitrary JavaScript. If ports reuse a channel name, identify the intended port. A missing input leaves a gap; changing math channels resets their filter history.

Save a result

Rename the recording, stop the stream, and export CSV from the toolbar. Record the firmware revision, workload, and units alongside measurements you intend to compare. For a combined display with controls and logs, create a project dashboard.
Last modified on September 18, 2026