doc/help/Widget-Reference.md
Serial Studio provides 15+ widget types for real-time data visualization. Widgets are organized into two categories: group widgets (display multiple datasets from a group) and dataset widgets (display a single dataset value).
The following diagram shows all widget types organized by category, with their configuration keys and dataset requirements.
flowchart TD
Root(["Dashboard Widgets"])
Root --> Group["Group Widgets"]
Root --> Dataset["Dataset Widgets"]
Group --> G1["Data Grid · MultiPlot
Accelerometer · Gyroscope"]
Group --> G2["GPS Map · LED Panel
3D Plot · Image View"]
Dataset --> D1["Plot · FFT Plot
Bar · Gauge · Compass"]
"datagrid""multiplot"graph: true to the group"map" (also accepts "gps")"gyro" (also accepts "gyroscope")"accelerometer"led: true)ledHigh threshold (default: 80)led: true and ledHigh threshold on each dataset"plot3d""image"imgDetectionMode: "autodetect" (default, uses format magic bytes) or "manual" (user-defined delimiters)imgStartSequence: hex start delimiter (manual mode only)imgEndSequence: hex end delimiter (manual mode only)graph: true (field name plt)pltMin and pltMaxxAxisId (enables XY/scatter plots)fft: truefftMin and fftMaxfftSamples (window size), fftSamplingRate (Hz), fftMin, fftMax"bar"wgtMin (default 0), wgtMax (default 100), alarmLow (default 20), alarmHigh (default 80)alarmEnabled: true"gauge"wgtMin, wgtMax, alarmLow, alarmHigh"compass"| Widget | Type | Key | Min Datasets | Key Settings |
|---|---|---|---|---|
| Data Grid | Group | datagrid | 1+ | — |
| Multiple Plot | Group | multiplot | 1+ | graph: true on datasets |
| GPS Map | Group | map | 2-3 | lat, lon, (alt) datasets |
| Gyroscope | Group | gyro | 3 | yaw, pitch, roll |
| Accelerometer | Group | accelerometer | 3 | x, y, z accel |
| LED Panel | Group | auto | 1+ | led: true, ledHigh |
| 3D Plot | Group | plot3d | 3 | x, y, z coords [Pro] |
| Image View | Group | image | 0 | binary stream [Pro] |
| Plot | Dataset | auto | — | graph: true, pltMin/Max |
| FFT Plot | Dataset | auto | — | fft: true, fftSamples, fftSamplingRate |
| Bar | Dataset | bar | — | wgtMin/Max, alarmLow/High |
| Gauge | Dataset | gauge | — | wgtMin/Max, alarmLow/High |
| Compass | Dataset | compass | — | value 0-360 |
Every dataset in a project file supports the following visualization-related fields:
| Field | Type | Default | Description |
|---|---|---|---|
index | int | 0 | Frame offset index (column position in CSV data) |
title | string | — | Human-readable display name |
units | string | — | Measurement units (e.g., "m/s", "degC") |
widget | string | "" | Dataset widget type: "bar", "gauge", or "compass" |
plt (graph) | bool | false | Enable time-series plot |
fft | bool | false | Enable FFT spectrum plot |
led | bool | false | Enable LED indicator |
log | bool | false | Enable logging to file |
overviewDisplay | bool | false | Show in overview/status bar |
pltMin | double | 0 | Plot Y-axis minimum (0 = auto-scale) |
pltMax | double | 0 | Plot Y-axis maximum (0 = auto-scale) |
wgtMin | double | 0 | Widget (bar/gauge) minimum |
wgtMax | double | 100 | Widget (bar/gauge) maximum |
ledHigh | double | 80 | LED activation threshold |
alarmEnabled | bool | false | Enable alarm thresholds on bar/gauge |
alarmLow | double | 20 | Low alarm threshold |
alarmHigh | double | 80 | High alarm threshold |
fftSamples | int | 256 | FFT window size (power of 2, 8-16384) |
fftSamplingRate | int | 100 | FFT sampling rate in Hz |
fftMin | double | 0 | FFT frequency axis minimum |
fftMax | double | 0 | FFT frequency axis maximum |
xAxisId | int | -1 | Reference dataset for custom X-axis (-1 = use time) |
widgetSettings and persist across sessionsDashboardWidget enum: Terminal, DataGrid, MultiPlot, Accelerometer, Gyroscope, GPS, Plot3D, FFT, LED, Plot, Bar, Gauge, Compass, ImageView| Data Type | Recommended Widget |
|---|---|
| Temperature, Pressure, Voltage | Plot, Gauge, or Bar |
| GPS Coordinates | GPS Map (group) |
| Acceleration (X, Y, Z) | Accelerometer (group) |
| Rotation (X, Y, Z) | Gyroscope (group) |
| Heading/Bearing | Compass |
| Audio/Vibration frequency | FFT Plot |
| Boolean/status flags | LED Panel (group) |
| Mixed numeric and text values | Data Grid (group) |
| 3D trajectory or position | 3D Plot (group, Pro) |
| Live camera or image stream | Image View (group, Pro) |