# serial-studio/serial-studio

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/serial-studio-serial-studio).**

6,553 stars · 978 forks · C++ · other

## Links

- GitHub: https://github.com/Serial-Studio/Serial-Studio
- Homepage: https://serial-studio.com/
- awesome-repositories: https://awesome-repositories.com/repository/serial-studio-serial-studio.md

## Topics

`arduino` `canbus` `csv` `dashboard` `embedded` `esp32` `ground-station` `iot` `microcontroller` `modbus` `network` `qt` `serial` `serial-studio`

## Description

Serial Studio is a desktop application for connecting to, decoding, visualizing, and recording data from hardware devices over multiple communication protocols. It functions as an embedded device debugging toolkit that ingests live data from Serial, Bluetooth, CAN, Modbus, MQTT, and network sockets into a unified dashboard, while also serving as a programmatic automation platform with over 320 commands exposed over TCP, gRPC, and MCP for external control.

The application distinguishes itself through a scriptable frame pipeline that routes incoming bytes through configurable detection, decoding, and transformation stages using JavaScript or Lua sandboxes, alongside a plugin-based protocol bridge that abstracts each protocol's transport and framing. It features an AI-assisted project editor that modifies configuration files through a chat interface using local or cloud LLMs, and a widget-driven dashboard engine that renders live data through over 15 interactive visualization types including plots, gauges, GPS maps, and spectrum displays.

The platform supports comprehensive data acquisition workflows, including recording sessions to SQLite or CSV with indexed timestamps for replay and offline analysis, parsing data with built-in decoders or custom scripts, and sending commands to devices through buttons, toggles, and sliders. It also provides programmatic control capabilities for automation, multi-device project management with synchronized recordings, and the ability to lock dashboards for read-only operator use in production environments.

## Tags

### Hardware & IoT

- [Protocol Debugging Toolkits](https://awesome-repositories.com/f/hardware-iot/embedded-systems-debugging/protocol-debugging-toolkits.md) — Provides a toolkit for parsing binary protocols, decoding frames, and sending commands to microcontrollers and instruments.
- [Serial Device Communication](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/hardware-communication/serial-device-communication.md) — Reads data from microcontrollers and instruments over UART, RS-232, RS-485, and TTL serial connections. ([source](https://serial-studio.com/))
- [Device Command Interfaces](https://awesome-repositories.com/f/hardware-iot/device-command-interfaces.md) — Outputs buttons, toggles, sliders, and text fields that emit GCode, SCPI, Modbus, NMEA, or custom protocols on demand or on a timer. ([source](https://cdn.jsdelivr.net/gh/serial-studio/serial-studio@master/README.md))
- [Bluetooth Connectivity](https://awesome-repositories.com/f/hardware-iot/bluetooth-connectivity.md) — Scans for GATT peripherals and subscribes to notifications to stream sensor data wirelessly. ([source](https://serial-studio.com/))
- [MQTT Bridging](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/internet-of-things/mqtt-bridging.md) — Publishes and subscribes to an MQTT broker to bridge hardware data into an IoT infrastructure. ([source](https://serial-studio.com/))
- [Device Automation Scripts](https://awesome-repositories.com/f/hardware-iot/device-automation-scripts.md) — Runs an Arduino-style setup and loop to automatically send handshakes, poll registers, and keep connections alive. ([source](https://serial-studio.com/))
- [HID Device Communication](https://awesome-repositories.com/f/hardware-iot/hid-device-communication.md) — Decodes report descriptors from gamepads, joysticks, and custom HID devices through hidapi. ([source](https://serial-studio.com/))
- [USB Device Communication](https://awesome-repositories.com/f/hardware-iot/usb-device-communication.md) — Communicates with devices over bulk and isochronous endpoints using vendor-specific protocols via libusb. ([source](https://serial-studio.com/))

### Networking & Communication

- [Multi-Protocol Device Connectors](https://awesome-repositories.com/f/networking-communication/multi-device-connection-managers/multi-protocol-device-connectors.md) — Connects to microcontrollers over Serial/UART, Bluetooth LE, TCP/UDP, MQTT, Modbus, CAN Bus, and other protocols. ([source](https://cdn.jsdelivr.net/gh/serial-studio/serial-studio@master/README.md))
- [Built-In Format Decoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/contract-data-decoders/built-in-format-decoders.md) — Decodes delimited text, key=value, JSON, NMEA, Modbus, and TLV formats using built-in decoders without writing any scripts. ([source](https://serial-studio.com/))
- [Frame Detection and Validation](https://awesome-repositories.com/f/networking-communication/data-framing/frame-detection-and-validation.md) — Detects frames in a byte stream with optional CRC validation and parses them using built-in decoders or custom scripts. ([source](https://serial-studio.com/))
- [Application Command Surfaces](https://awesome-repositories.com/f/networking-communication/grpc-administrative-interfaces/application-command-surfaces.md) — Exposes 320+ application commands over TCP and gRPC streams for external programmatic control.
- [Multi-Protocol Connection Managers](https://awesome-repositories.com/f/networking-communication/multi-protocol-connection-managers.md) — Abstracts Serial, Bluetooth, CAN, Modbus, MQTT, and network sockets behind a unified connection layer.
- [Protocol Decoders](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/wireless-network-utilities/wireless-protocol-analysis-suites/protocol-decoders.md) — Decodes binary protocols using JavaScript or Lua scripts with built-in templates and transforms.
- [Hardware](https://awesome-repositories.com/f/networking-communication/transport-bridges/protocol-bridges/hardware.md) — Maps hardware device protocols through a plugin-based abstraction layer into a common frame pipeline.
- [CAN Bus Interfaces](https://awesome-repositories.com/f/networking-communication/message-bus-interfaces/can-bus-interfaces.md) — Decodes classic CAN and CAN FD signals from a DBC file for automotive, robotics, and industrial applications. ([source](https://serial-studio.com/))
- [Multi-Device Connection Managers](https://awesome-repositories.com/f/networking-communication/multi-device-connection-managers.md) — Connects several devices in one project, each with its own protocol, and keeps recordings synchronized across sources. ([source](https://serial-studio.com/))
- [Socket Networking](https://awesome-repositories.com/f/networking-communication/socket-networking.md) — Opens TCP or UDP sockets to receive unicast, broadcast, or multicast data streams from network-connected devices. ([source](https://serial-studio.com/))

### Data & Databases

- [Binary Protocol Parsers](https://awesome-repositories.com/f/data-databases/data-parsing-utilities/binary-protocol-parsers.md) — Writes JavaScript or Lua parsers to convert binary protocols into datasets, starting from 28 included templates. ([source](https://serial-studio.com/))
- [Script-Based Transformations](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/script-based-transformations.md) — Decodes raw frames using built-in templates, JavaScript, or Lua scripts, then applies per-dataset transforms like filtering and scaling. ([source](https://cdn.jsdelivr.net/gh/serial-studio/serial-studio@master/README.md))
- [Data Visualization Dashboards](https://awesome-repositories.com/f/data-databases/data-visualization-dashboards.md) — Ships a widget-driven dashboard engine for composing live plots, gauges, maps, and spectrum displays. ([source](https://serial-studio.com/))
- [Background Frame Logging](https://awesome-repositories.com/f/data-databases/sqlite-drivers/sqlite-storage-adapters/sqlite-or-postgresql-storage/background-frame-logging.md) — Writes every frame to CSV, MDF4, or a SQLite session database in the background without slowing the live view. ([source](https://serial-studio.com/))
- [Filtering and Transformations](https://awesome-repositories.com/f/data-databases/data-collections-datasets/immutable-sets/filtering-and-transformations.md) — Filters, scales, and calibrates datasets as frames arrive using JavaScript or Lua transforms and shared data tables. ([source](https://serial-studio.com/))
- [Session Stores](https://awesome-repositories.com/f/data-databases/sqlite-integration/sqlite-log-analysis/session-stores.md) — Persists every frame and raw byte to a SQLite database with indexed timestamps for replay and offline analysis.

### Development Tools & Productivity

- [Remote-Controlled](https://awesome-repositories.com/f/development-tools-productivity/automation-platforms/remote-controlled.md) — Exposes 320+ commands over TCP, gRPC, and MCP for external control and automation of data acquisition workflows.
- [Data Dashboard Assemblers](https://awesome-repositories.com/f/development-tools-productivity/dashboard-creation/data-dashboard-assemblers.md) — Assembles data sources, parsing rules, and visualization widgets into a structured project layout using a form-based editor. ([source](https://cdn.jsdelivr.net/gh/serial-studio/serial-studio@master/README.md))
- [Multi-Protocol Data Ingesters](https://awesome-repositories.com/f/development-tools-productivity/data-acquisition-tools/multi-protocol-data-ingesters.md) — Ingests live data from Serial, Bluetooth, CAN, Modbus, MQTT, and network sockets into a unified dashboard.
- [Programmatic Application Control APIs](https://awesome-repositories.com/f/development-tools-productivity/programmatic-application-control-apis.md) — Controls the application programmatically through a TCP API with over 300 commands or a gRPC server that streams live frames. ([source](https://cdn.jsdelivr.net/gh/serial-studio/serial-studio@master/README.md))
- [Programmatic Application Controllers](https://awesome-repositories.com/f/development-tools-productivity/programmatic-application-controllers.md) — Drives the entire application from external code using 320+ commands over TCP, gRPC, or the MCP protocol. ([source](https://serial-studio.com/))
- [Remote Command Surfaces](https://awesome-repositories.com/f/development-tools-productivity/programmatic-process-controls/remote-command-surfaces.md) — Exposes 320+ commands over TCP, gRPC, and MCP for external control and automation.
- [Project Configuration Editors](https://awesome-repositories.com/f/development-tools-productivity/editor-ai-assistants/project-configuration-editors.md) — Provides an AI chat interface for editing project configuration files with bring-your-own-key LLMs.

### Operating Systems & Systems Programming

- [Multi-Protocol I/O Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/transport-abstraction-layers/multi-protocol-i-o-abstraction-layers.md) — Unifies serial, Bluetooth, CAN, Modbus, MQTT, TCP, USB, and audio inputs under a single connection lifecycle.

### Software Engineering & Architecture

- [Frame Processing Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/extensible-plugin-architectures/scriptable-plugin-architectures/frame-processing-pipelines.md) — Routes incoming bytes through configurable detection, decoding, and transformation stages using JavaScript or Lua sandboxes.
- [File-Based Project Storage](https://awesome-repositories.com/f/software-engineering-architecture/file-based-project-storage.md) — Stores all dashboard layout, device configuration, and parsing rules in a single version-controllable JSON file.

### System Administration & Monitoring

- [Dashboard Widgets](https://awesome-repositories.com/f/system-administration-monitoring/dashboard-widgets.md) — Renders live data by binding widget instances to dataset sources through a reactive layout that updates on each frame arrival.
- [Data Stream Recording and Replay](https://awesome-repositories.com/f/system-administration-monitoring/execution-history-auditors/reverse-execution-simulation/record-and-replay-debugging/data-stream-recording-and-replay.md) — Logs incoming frames and raw bytes to CSV or SQLite, then replays recorded sessions for analysis and debugging. ([source](https://cdn.jsdelivr.net/gh/serial-studio/serial-studio@master/README.md))
- [Real-Time Metric Visualization](https://awesome-repositories.com/f/system-administration-monitoring/real-time-metric-visualization.md) — Builds live dashboards with plots, gauges, maps, and spectrum displays for monitoring incoming device data.
- [Dashboard](https://awesome-repositories.com/f/system-administration-monitoring/ai-session-monitoring/session-replays/dashboard.md) — Opens any recording back through the same dashboard to review past data with the same visual layout. ([source](https://serial-studio.com/))
- [Device File Transfers](https://awesome-repositories.com/f/system-administration-monitoring/device-file-transfers.md) — Sends firmware images, configuration files, or scripts to a device using plain text, binary, or XMODEM/YMODEM/ZMODEM protocols. ([source](https://serial-studio.com/))
- [Modbus Register Pollers](https://awesome-repositories.com/f/system-administration-monitoring/remote-hardware-controls/modbus-rtu-bridges/modbus-register-pollers.md) — Polls holding, input, coil, and discrete registers over Modbus RTU or TCP using imported register maps. ([source](https://serial-studio.com/))

### User Interface & Experience

- [Data Visualization Widgets](https://awesome-repositories.com/f/user-interface-experience/data-visualization-widgets.md) — Displays incoming data through over 15 interactive widgets including line plots, gauges, bar charts, GPS maps, FFT spectrum, and accelerometer views. ([source](https://cdn.jsdelivr.net/gh/serial-studio/serial-studio@master/README.md))
- [Desktop Applications](https://awesome-repositories.com/f/user-interface-experience/desktop-applications.md) — A desktop application for connecting to, decoding, visualizing, and recording data from hardware devices.
- [Session Browsers and Exporters](https://awesome-repositories.com/f/user-interface-experience/session-recording-management/session-browsers-and-exporters.md) — Browses, tags, exports, and replays full sessions from a SQLite database using the Database Explorer. ([source](https://serial-studio.com/))

### Artificial Intelligence & ML

- [AI-Assisted Editing Environments](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-assisted-editing-environments.md) — Modifies project configuration through an in-app chat panel that calls the project-editing API using a bring-your-own-key AI provider. ([source](https://cdn.jsdelivr.net/gh/serial-studio/serial-studio@master/README.md))
- [Project File Editors](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-assisted-editing-environments/project-file-editors.md) — Edits the project file through a chat panel that works with local or cloud AI models using your own API key. ([source](https://serial-studio.com/))
- [Project Configuration Editors](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-chat-assistants/project-configuration-editors.md) — Edits project configuration files through an in-app chat panel using a bring-your-own-key AI provider.

### Part of an Awesome List

- [Data Stream Replayers](https://awesome-repositories.com/f/awesome-lists/devtools/hardware-simulation/sensor-data-simulation/log-replayers/data-stream-replayers.md) — Logs incoming frames to CSV or SQLite and replays past sessions for analysis and debugging.
- [Embedded Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/embedded-utilities.md) — Visualization and streaming tool for microcontroller data.
