Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

Serial-Studio

> 编程语言
Open source

Open-source telemetry dashboard. Supports UART, BLE, MQTT, Modbus, CAN Bus and more.

7.1K stars0 likes0 views
WebsiteGitHub

About

Open-source telemetry dashboard. Supports UART, BLE, MQTT, Modbus, CAN Bus and more.

Serial Studio

Serial Studio turns data from your hardware into a live dashboard.

Connect an Arduino, ESP32, STM32, Raspberry Pi, Teensy, or anything else that speaks serial, Bluetooth, a network protocol, or an industrial bus. Describe the data format once in a project file. Serial Studio draws the plots, gauges, maps, and 3D views around it. Send commands back with buttons, sliders, and knobs. Record a session, replay it, export it as a PDF.

It replaces the stack of separate tools this work usually requires: a serial monitor and serial plotter for Arduino and ESP32 development, a real-time telemetry dashboard, a data logger that records to CSV or SQLite, and a PLC, Modbus, CAN bus, OPC UA, or MQTT monitor for industrial and IoT systems.

Runs on Windows, macOS, Linux, and Raspberry Pi.

Use cases shows how people apply it across 18 fields, from rocketry and drones to industrial automation. Comparison sets it against the Arduino IDE Serial Plotter, Processing, MATLAB, LabVIEW, and Grafana.

What you can do with it

Connect to a device. Serial/UART, Bluetooth LE, and network sockets (TCP, UDP, WebSocket, HTTP) in the GPL build. MQTT, Modbus TCP/RTU, CAN Bus, OPC UA, Siemens S7comm, EtherNet/IP, IEC 60870-5-104, audio input, raw USB (libusb), HID (hidapi), and Process I/O are Pro. Multiple devices in one project is also Pro.

Read PLCs without a gateway (Pro). OPC UA covers modern controllers: browse the address space, tick the tags you want, and the project generates itself. Three direct drivers cover the rest of the plant floor, no KEPServer-class gateway in between. S7comm polls absolute addresses (DB5.DBD20:REAL, MW10) on Siemens S7-300, S7-400, S7-1200, and S7-1500 controllers. EtherNet/IP polls symbolic tag names on Allen-Bradley ControlLogix, CompactLogix, MicroLogix, Micro800, SLC 500, and PLC-5, plus Omron NJ/NX. IEC 60870-5-104 interrogates RTUs and substation gateways and streams their spontaneous reports, generating the project from the station's own database. All three are read-only clients: connecting Serial Studio to a running machine cannot change its state. On the MQTT side, Sparkplug B works in both directions — subscribe as a host application and generate a project from the birth certificates, or publish your dashboard as an edge node.

Visualize data. 17 widgets in the GPL build: line plots, gauges, bar charts, meters, GPS maps, FFT spectrum, accelerometer, gyroscope, compass, data grids, LED panels, terminal, multi-channel plots, web view, bar panel, plus a Clock and Stopwatch utility widget pair. Bar, Gauge, Compass, and Meter each render as a two-page swipe view (page 0 is the analog face, page 1 is a large digital readout), so a single tile shows both the trend at a glance and the exact value. Pro adds 3D Plot, XY Plot, Waterfall (spectrogram), Image View (live camera), the Canvas widget, and output widgets (buttons, sliders, knobs, an Output Panel, and a Notification Log). Canvas is a JavaScript paint(ctx, w, h) callback with a Canvas2D-style API and 18 templates: oscilloscope, polar plot, artificial horizon, audio VU, dial gauge, heatmap, sparklines, vector field, XY scope, and others.

Build dashboards. The Project Editor defines groups, datasets, and widgets through forms. Or skip the project file: print CSV from your device and Quick Plot draws it. Workspaces split big projects into tabs with a searchable taskbar.

Parse and transform data. Frame parsers come in three flavors: Built-In templates (compiled C++ parsers you configure through a form, no code, the default for new projects), JavaScript, and Lua (LuaJIT 2.1, 5.1 syntax with compatibility shims). 28 script templates cover MAVLink, NMEA 0183/2000, UBX, SiRF, RTCM, MessagePack, TLV, COBS, SLIP, JSON, XML, YAML, INI, Modbus, and others. Per-dataset transforms (EMA, scaling, calibration, unit conversion) run every frame as short JS or Lua snippets. Variables act as a shared bus so transforms can derive computed datasets from each other.

Send commands back (Pro). Buttons, toggles, sliders, knobs, text fields, and freeform output panels run JS templates that emit GCode, SCPI, Modbus, NMEA, CAN, or whatever your device speaks. Actions run on demand or on a timer.

Record and replay. CSV export in the GPL build. MDF4 import/export, session recording (frames and raw bytes) into SQLite, PDF session reports, and XMODEM/YMODEM/ZMODEM file transfer are Pro. If the data belongs in your existing time-series stack instead of a local file, a live sink streams every frame into InfluxDB 2.x as line protocol (Pro).

Automate it. A TCP API on port 7777 with 360+ commands. A gRPC server on port 8888 mirrors the same command set with protobuf and live frame streaming. An MCP server wraps the same surface for Claude Desktop or any other MCP host.

AI Assistant for project editing (Pro). A bring-your-own-key chat panel that edits the project. Eight providers: Anthropic, OpenAI, Google Gemini, DeepSeek, Groq, Mistral, OpenRouter, and local OpenAI-compatible endpoints (Ollama, llama.cpp, LM Studio, vLLM) for offline use. Mutating actions show an Approve/Deny card first. See the AI Assistant docs.

Vendor-document importers (Pro). Feed the Modbus register-map importer a vendor CSV/XML/JSON and get a project. DBC import decodes CAN signals from the standard automotive files, extended multiplexing included, and the CAN driver reassembles multi-packet J1939 and ISO-TP transfers so long PGNs decode the same way 8-byte frames do. For OPC UA servers there is nothing to import: browse the server's address space, tick the tags you want, and Serial Studio generates the project from them.

Download

Serial Studio is available as source code and as official precompiled binaries for Windows, macOS, and Linux.

  • Latest stable release
  • Pre-release builds

Windows

Requires the Microsoft Visual C++ Redistributable (x64). On first launch Windows may warn about an unknown developer. Click "More Info", then "Run Anyway" to continue.

macOS

Distributed as a universal DMG. Open the DMG and drag Serial Studio into Applications. You can also install it via Homebrew:

brew install --cask serial-studio

The Homebrew cask is community-maintained. It's available, but not officially tested by me.

Linux

The recommended way to install on Linux is via the official AppImage. Download it from the latest release, then make it executable and run it (replace <version> with the version you downloaded):

chmod +x Serial-Studio-Pro-<version>-Linux-x64.AppImage
./Serial-Studio-Pro-<version>-Linux-x64.AppImage

For better desktop integration (menu entries, icons, updates), use AppImageLauncher.

Flatpak (Flathub)

Serial Studio is on Flathub. That version gets regular updates and tends to work better on ARM64. On some desktop environments, mostly Wayland, you may see small visual glitches like missing window shadows.

Raspberry Pi / ARM64

An ARM64 AppImage is available for Raspberry Pi and similar boards. It runs well on Raspberry Pi 4/5 and on integrated graphics. Requirements:

  • A 64-bit Linux distro (Raspberry Pi OS 64-bit, Ubuntu, Debian, etc.)

All Linux packages (AppImage, DEB, RPM, x64 and ARM64) bundle their own glibc, so they run on any distribution from the Debian 10 / RHEL 8 generation onward (releases up to 4.0.3 required a newer host glibc); no minimum glibc version is required on the host.

Features

How it works

  • Project file mode (recommended): Define your data format and dashboard in the Project Editor, using structured forms for groups, datasets, and widgets.
  • Quick plot mode: Drop in comma-separated values from Arduino and get an instant plot.
  • Console only mode: Use Serial Studio as a plain terminal without any dashboard.

At a glance

  • Protocols: Serial/UART, Bluetooth LE, and network sockets (TCP, UDP, WebSocket, HTTP) in the GPL build. MQTT, Modbus TCP/RTU, CAN Bus, OPC UA, Siemens S7comm, EtherNet/IP, IEC 60870-5-104, Audio, raw USB (libusb), HID (hidapi), and Process I/O are Pro.
  • PLC drivers (Pro): S7comm for Siemens S7-300/400/1200/1500, EtherNet/IP for Allen-Bradley and Omron NJ/NX, IEC 60870-5-104 for RTUs and substation gateways. Read-only clients, no OPC UA gateway required.
  • Sparkplug B (Pro): subscribe to a broker as a host application and generate the project from birth certificates, or publish the dashboard as an edge node.
  • Visualization: 23 widgets, including line plots, gauges, bar charts, meters, GPS maps, FFT, waterfall (spectrogram), accelerometer, gyroscope, compass, data grids, 3D views, live camera feed, plus Clock and Stopwatch utility widgets (some Pro). Bar, Gauge, Compass, and Meter each include a swipeable digital readout page alongside the analog face.
  • Canvas widget (Pro): scriptable Canvas2D-style canvas driven by a JS paint(ctx, w, h) callback. Watchdog-protected QJSEngine, persistent script state across frames, 18 templates (oscilloscope, polar plot, artificial horizon, audio VU meter, dial gauge, heatmap, LED matrix, sparklines, vector field, XY scope, and more).
  • Output widgets: buttons, toggles, sliders, knobs, text fields, and freeform panels, with JS templates for GCode, SCPI, Modbus, NMEA, CAN, and more (Pro).
  • Custom parsing: Built-In template, JavaScript, or Lua (LuaJIT 2.1, 5.1 syntax with compatibility shims) frame parsers, plus 28 script templates (MAVLink, NMEA 0183/2000, UBX, SiRF, RTCM, MessagePack, TLV, COBS, SLIP, JSON, XML, YAML, INI, Modbus, and more).
  • Per-dataset transforms: short JS or Lua snippets to filter, scale, calibrate, or derive values every frame.
  • Variables: shared bus for system datasets, user-defined constants and computed variables, and computed datasets built entirely from transforms.
  • Workspaces: split large projects into focused dashboard tabs, with a taskbar search.
  • CSV export: every frame, ready for Excel, Python, MATLAB, or R.
  • MDF4: read and write MDF4/MF4 for CAN Bus, LIN, FlexRay, and analog (Pro).
  • Historian: record frames and raw bytes into SQLite, then browse, tag, export, and replay them (Pro).
  • Session reports: export a session as a styled HTML or PDF with interactive Chart.js plots (Pro).
  • File transfer: XMODEM, YMODEM, and ZMODEM with CRC and crash recovery (Pro).
  • Modbus register maps: import CSV, XML, or JSON straight from vendor docs (Pro).
  • OPC UA tag browser: browse a server's address space, tick tags, and generate the project (Pro).
  • CAN DBC import: decoded signals for automotive and industrial work, extended multiplexing included (Pro).
  • CAN transport protocols: J1939 TP (BAM and RTS/CTS) and ISO-TP reassembly, so multi-packet PGNs and diagnostic payloads decode like single frames (Pro).
  • CAN adapters: Qt's plugin interfaces plus direct backends for candleLight (gs_usb), SLCAN/LAWICEL, and Seeed/Waveshare USB-CAN analyzers (Pro).
  • InfluxDB sink: stream live frames into InfluxDB 2.x as line protocol (Pro).
  • Image view: live JPEG or PNG camera streams alongside telemetry on the same connection (Pro).
  • Multi-device: several devices in one project, each with its own protocol (Pro).
  • TCP API on port 7777: 360+ commands for programmatic control (see the API client example).
  • **gRPC server on port

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •Latest stable release
  • •Pre-release builds
  • •A 64-bit Linux distro (Raspberry Pi OS 64-bit, Ubuntu, Debian, etc.)
  • •Project file mode (recommended): Define your data format and dashboard in the Project Editor, using structured forms for groups, datasets, and widgets.
  • •Quick plot mode: Drop in comma-separated values from Arduino and get an instant plot.
  • •Console only mode: Use Serial Studio as a plain terminal without any dashboard.
  • •Sparkplug B (Pro): subscribe to a broker as a host application and generate the project from birth certificates, or publish the dashboard as an edge node.
  • •Output widgets: buttons, toggles, sliders, knobs, text fields, and freeform panels, with JS templates for GCode, SCPI, Modbus, NMEA, CAN, and more (Pro).
  • •Per-dataset transforms: short JS or Lua snippets to filter, scale, calibrate, or derive values every frame.
  • •Variables: shared bus for system datasets, user-defined constants and computed variables, and computed datasets built entirely from transforms.

> Tags

C++arduinocanbuscsvdashboard

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言