# Serial Studio: a telemetry dashboard for serial, BLE and industrial buses

> Serial Studio turns data from Arduino, ESP32, PLCs and other hardware into live dashboards, with a GPL build covering serial, BLE and network sockets and a Pro tier for MQTT, Modbus, CAN and OPC UA. The project file is the whole configuration, and the parser choice is where most of the work sits.

**Serial-Studio/Serial-Studio** — Open-source telemetry dashboard. Supports UART, BLE, MQTT, Modbus, CAN Bus and more. 

- Repository: https://github.com/Serial-Studio/Serial-Studio
- Website: https://serial-studio.com/
- Stars: 7,216 · Forks: 1,083
- Language: C
- License: NOASSERTION
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/serial-studio-serial-studio

## The problem Serial Studio solves for embedded and industrial teams

The usual workflow around a microcontroller or a PLC is a pile of single-purpose tools. A serial monitor to see bytes, a serial plotter to see them as a line, a separate logger writing CSV, and something else entirely for a Modbus or CAN bus. Each switch costs a reconfiguration, and none of the tools agree on what a channel is called.

Serial Studio's claim is that one project file replaces that stack. The README describes it as turning data from your hardware into a live dashboard, and lists the roles it absorbs: serial monitor and plotter for Arduino and ESP32 work, a real-time telemetry dashboard, a data logger writing CSV or SQLite, and a Modbus, CAN bus, OPC UA or MQTT monitor for industrial and IoT systems. The audience is therefore two groups that rarely share tooling: firmware developers watching a sensor stream, and automation engineers polling a controller.

That split shows up in the licensing. The GPL build handles Serial/UART, Bluetooth LE and network sockets (TCP, UDP, WebSocket, HTTP). MQTT, Modbus TCP/RTU, CAN Bus, OPC UA, Siemens S7comm, EtherNet/IP, IEC 60870-5-104, audio input, raw USB via libusb, HID via hidapi, and Process I/O are Pro, and so is running multiple devices in one project. So the free build is a serious serial tool, and the industrial side is the paid one.

## How the project file drives parsing, widgets and output

Serial Studio is configured rather than programmed. A project file declares groups, datasets and widgets, and the Project Editor builds it through forms. The README states that you describe the data format once and Serial Studio draws the plots, gauges, maps and 3D views around it.

The parsing layer is the part worth understanding before you commit. Frame parsers come in three flavors: Built-In templates, which the README describes as compiled C++ parsers configured through a form with no code, JavaScript, and Lua on LuaJIT 2.1 with 5.1 syntax and compatibility shims. The built-in route is the default for new projects, which tells you where the project expects most users to land. The scripting route matters when your wire format is not one of the 28 templates, which cover MAVLink, NMEA 0183/2000, UBX, SiRF, RTCM, MessagePack, TLV, COBS, SLIP, JSON, XML, YAML, INI and Modbus among others.

Above the parser sit per-dataset transforms: EMA, scaling, calibration and unit conversion, run every frame as short JS or Lua snippets. The README describes variables as a shared bus, so one transform can derive a computed dataset from another. That is a real design decision, and it means a broken transform can propagate rather than fail in isolation.

On the output side, the GPL build exports CSV. MDF4 import and export, session recording of frames and raw bytes into SQLite, PDF session reports, and XMODEM/YMODEM/ZMODEM transfer are Pro, as is a live sink that streams every frame into InfluxDB 2.x as line protocol. Automation is exposed through a TCP API on port 7777 with 360+ commands, a gRPC server on port 8888 mirroring the same command set with protobuf and live frame streaming, and an MCP server for hosts like Claude Desktop.

## Installing Serial Studio and getting a first plot on screen

The README points at precompiled binaries rather than a package manager. It says Serial Studio is available as source code and as official precompiled binaries for Windows, macOS and Linux, and links the latest stable release and the pre-release continuous builds. On Windows it notes a requirement for the Microsoft Visual C++ Redistributable (x64). There is no documented apt, brew or winget command in the README, so download the binary for your platform from the releases page.

If you would rather build it, the repository is a CMake project. The top level contains CMakeLists.txt, cmake/, app/, core/, lib/, tests/ and scripts/, which is the layout you would expect for a Qt application split into a core library and an application layer.

```bash
git clone https://github.com/Serial-Studio/Serial-Studio.git
cd Serial-Studio
cmake -S . -B build
cmake --build build
```

The README does not document the configure flags or the exact build target names, so treat those three lines as the standard CMake shape rather than a transcribed recipe. If the build complains, the CMakeLists.txt at the repository root is the file to read.

For a first real use, the fastest path does not need a project file at all. The README says you can skip the project file entirely: print CSV from your device and Quick Plot draws it. So flash a sketch that emits comma-separated numbers on a fixed interval, open Serial Studio, connect to the port, and use Quick Plot. Once that works, move to the Project Editor and define the datasets and widgets properly. The examples/ directory is the better starting point than a blank project: it contains working setups such as examples/MPU6050/, examples/BLE Battery/, examples/MQTT Subscriber Example/, examples/Modbus PLC Simulator/ and examples/OPC UA PLC Simulator/, and opening one shows how groups, datasets and widgets are wired together.

## Where Serial Studio stops being the right tool

The licence boundary is the first real limitation, and it is not a small one. If your data comes over MQTT, Modbus, CAN Bus, OPC UA, S7comm, EtherNet/IP or IEC 60870-5-104, none of that is in the GPL build. The README is explicit that those are Pro. A team that reads "supports UART, BLE, MQTT, Modbus, CAN Bus and more" and plans around the free build will discover the gap at the point where they need it most.

Multiple devices in one project is also Pro. If your setup is a sensor on one port and a controller on another, the GPL build does not cover the combined view.

The Pro industrial drivers are read-only clients. The README states this as a safety property: connecting Serial Studio to a running machine cannot change its state. That is the right default for monitoring, but it also means Serial Studio is not a commissioning or control tool for those buses. It will not write a setpoint to a PLC over S7comm or EtherNet/IP.

The scripting parsers carry their own cost. JavaScript and Lua frame parsers are user code running inside the application, and the README does not document a sandbox, a timeout or a failure policy for a parser that throws on a malformed frame. Per-dataset transforms run every frame, so a transform written carelessly is a per-frame cost, not a one-off. The documentation also does not describe what happens to a recording session if the process dies mid-capture.

Finally, the licence file is not a standard identifier. The repository carries LICENSE.md, LICENSES/ and EULA.md, and REUSE.toml at the top level, and the metadata reports the licence as NOASSERTION. Anyone who needs a clean answer on redistribution terms has to read those files rather than trust a badge.

## How Serial Studio differs from Grafana and the Arduino serial plotter

The README itself frames a comparison against the Arduino IDE Serial Plotter, Processing, MATLAB, LabVIEW and Grafana in doc/help/Comparison.md, and the split is instructive.

The Arduino IDE Serial Plotter is the closest free alternative for the simplest case. It reads a serial port and draws lines. It has no project file, no widget set beyond the plot, no recording format, and no protocol drivers. If your need is one sensor and one line, the plotter is already installed and Serial Studio's project editor is overhead you do not need.

Grafana is the more interesting comparison, because both produce dashboards. Grafana is a server that queries a time-series database; the data has to reach a store before it can be shown. Serial Studio connects to the device and renders directly, and its InfluxDB 2.x sink exists precisely so that data can also flow into a stack like Grafana's. They are complementary rather than competing: Serial Studio for the live view at the bench, Grafana for the historical view across a fleet. If your requirement is long-term retention and alerting across many machines, Grafana plus a database is the better architecture, and Serial Studio's role shrinks to getting frames into that database.

The industrial drivers are where Serial Studio is hardest to replace at the same price. Browsing an OPC UA address space and generating a project from the tags you tick, or polling S7comm absolute addresses like DB5.DBD20:REAL and MW10, is work that otherwise goes through a gateway product. The README's pitch is exactly that: three direct drivers, no KEPServer-class gateway in between. Whether that trade is worth it depends on how much you trust a desktop application as the polling client for a production line. It is read-only, which limits the blast radius, but it still sits on the network.

## Pro features, licence terms and what maintenance costs

The Pro tier is not a support contract bolted onto a free tool. It gates protocols and output formats: MQTT, Modbus, CAN Bus, OPC UA, S7comm, EtherNet/IP, IEC 60870-5-104, audio input, raw USB, HID, Process I/O, multiple devices per project, MDF4, SQLite session recording, PDF reports, file transfer, the InfluxDB sink, the output widgets, the 3D and XY plots, the waterfall and image views, and the AI Assistant. The README links a store checkout for Pro, and separately a PayPal donation link, so the two funding paths are distinct.

The AI Assistant is worth a note on its own because of how it handles writes. It is a bring-your-own-key chat panel that edits the project, with eight supported providers: Anthropic, OpenAI, Google Gemini, DeepSeek, Groq, Mistral, OpenRouter, and local OpenAI-compatible endpoints such as Ollama, llama.cpp, LM Studio and vLLM. The README states that mutating actions show an Approve/Deny card first. Keys stay with you rather than passing through a vendor account, which is the right shape for offline and air-gapped work, though the README does not describe what the assistant sends to a remote provider when you use one.

On maintenance, the repository is not archived and the last push was on 2026-09-21, the same timestamp as the continuous build. The release history shows v4.0.3 on 2026-07-13, v4.1.0 on 2026-08-31, and the continuous build on 2026-09-21. That is a project shipping on a roughly monthly cadence with a rolling build alongside it. The practical upgrade cost is the project file format: the README does not document a migration path or a format version, so if you maintain many project files across a version jump, test one before rolling the rest.

On licensing, the metadata reports NOASSERTION, and the repository carries LICENSE.md, LICENSES/, EULA.md and TRADEMARKS.md. There is an EULA in the tree, which is unusual for a GPL-adjacent project and suggests the Pro build is governed by different terms than the source. Read those files before you plan a redistribution; this is not a question to settle from a badge.

## Conclusion

Adopt Serial Studio if your data already arrives as frames over serial, BLE or a network socket and you want plots, gauges and a CSV export without writing a desktop app. Do not adopt it if your stack is MQTT, Modbus or CAN and you are not willing to buy Pro, because those drivers are not in the GPL build. Before committing, verify which of your protocols fall on which side of that line and confirm that your frame format has a matching parser template rather than assuming you can write one later.

## FAQ

### Is Serial Studio free?

There is a GPL build that covers Serial/UART, Bluetooth LE and network sockets (TCP, UDP, WebSocket, HTTP), plus CSV export. MQTT, Modbus, CAN Bus, OPC UA, S7comm, EtherNet/IP, IEC 60870-5-104, multiple devices per project, SQLite recording, PDF reports and the InfluxDB sink are Pro and sold through the project's store.

### What is Serial Studio?

It is an open-source telemetry dashboard that turns data from hardware into live plots, gauges, maps and 3D views. You describe the data format once in a project file, and it draws the widgets around it, with support for Arduino, ESP32, STM32, Raspberry Pi, Teensy and industrial buses.

### How do I use Serial Studio?

Download a precompiled binary for Windows, macOS or Linux from the releases page, or build from source with CMake. For a first run you can skip the project file entirely: print CSV from your device and Quick Plot draws it. After that, the Project Editor defines groups, datasets and widgets through forms.

## Sources

- [Issues](https://github.com/Serial-Studio/Serial-Studio/issues)
- [Project website](https://serial-studio.com/)
- [README](https://github.com/Serial-Studio/Serial-Studio/blob/master/README.md)
- [Releases](https://github.com/Serial-Studio/Serial-Studio/releases)
- [Serial-Studio/Serial-Studio on GitHub](https://github.com/Serial-Studio/Serial-Studio)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/serial-studio-serial-studio
