Skip to content

Serial-Studio/Serial-Studio

Repository files navigation

Serial Studio

Github commits GitHub contributors PR's Welcome Github All Releases Instagram Donate

Serial Studio is a multi-platform, versatile data visualization tool designed for embedded engineers, students, hackers, and teachers. It allows users to visualize, analyze, and represent data from their projects and devices without needing custom, project-specific visualization software. Serial Studio offers a flexible solution that adapts to a wide range of use cases, making it ideal for both educational and professional environments.

The tool was born out of my experience in multiple CanSat-based competitions, where I often found myself developing new Ground Station Software for each project. Over time, I realized it would be more efficient and sustainable to maintain a single, flexible Ground Station Software that allows users to define how incoming data is processed and displayed.

Today, Serial Studio is a powerful and adaptable tool, suitable not only for CanSat competitions but for any data acquisition and visualization project. It supports data retrieval from a wide range of sources, including hardware and software serial ports, MQTT, Bluetooth Low Energy (BLE), and network sockets (TCP/UDP).

Read this document in other languages: Español 简体中文 Deutsch Русский Français

Software usage

Features

  • Cross-platform: Compatible with Windows, macOS, and Linux.
  • CSV Export: Easily saves received data in CSV files for further analysis or processing.
  • Support for multiple data sources: Handles a wide variety of sources, including serial ports, MQTT, Bluetooth Low Energy (BLE), and network sockets (TCP/UDP).
  • Customizable visualization: Allows users to define and display data using various widgets, configurable via the project editor to meet specific needs.
  • Customizable frame analysis: Provides the option to modify a JavaScript function to interpret incoming data frames, enabling the preprocessing of raw sensor data and handling of complex binary formats.
  • MQTT publishing and receiving: Sends and receives data over the internet, enabling real-time data visualization from anywhere in the world.

Installation

You can download and install the latest version of Serial Studio for your preferred platform from here.

Here’s an updated version of your Linux installation instructions with the additional details:

Linux Installation

For GNU/Linux users, there are multiple ways to install and run the application:

1. AppImage

Download the AppImage file and ensure it has the correct executable permissions before running:

chmod +x SerialStudio-3.0.5-Linux-x86_64.AppImage
./SerialStudio-3.0.5-Linux-x86_64.AppImage

Note: You may need to install libfuse2 for the AppImage to work. On Debian/Ubuntu-based systems, you can install it using:

sudo apt update
sudo apt install libfuse2

You can integrate the Serial Studio AppImage into your system more easily using AppImageLauncher..

2. DEB/RPM Packages (Experimental)

You can also install Serial Studio using DEB or RPM packages, which are currently in an experimental stage. Please report any issues you encounter.

For Debian-based distributions (e.g., Debian, Ubuntu, Linux Mint, etc):

sudo dpkg -i SerialStudio-3.0.5-Linux-x86_64.deb

For RPM-based distributions (e.g., Fedora, RHEL, OpenSUSE, etc):

sudo rpm -i SerialStudio-3.0.5-Linux-x86_64.rpm

Development

Requirements

To compile Serial Studio, the only required dependency is Qt. The desktop application compiles with Qt 6.8.0.

If you're compiling on GNU/Linux, you’ll also need to install libgl1-mesa-dev:

sudo apt install libgl1-mesa-dev

Here’s the list of required Qt modules:

  • Qt SVG
  • Qt Quick
  • Qt Widgets
  • Qt Location
  • Qt Bluetooth
  • Qt Networking
  • Qt Positioning
  • Qt Serial Port
  • Qt Print Support
  • Qt Quick Widgets
  • Qt Quick Controls 2

Cloning the Repository

To clone the repository with the necessary submodules, run:

git clone https://github.com/Serial-Studio/Serial-Studio
cd Serial-Studio

Compiling the Application

Once Qt is installed, you can compile the project by opening the CMakeLists.txt file in your preferred IDE or by using the command line:

mkdir build
cd build 
cmake ../ -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -j 10

Software Architecture

Below is a simplified diagram illustrating how the different Serial Studio modules interact. For more detailed information, check out the full DOXYGEN documentation here.

Architecture

License

This project is licensed under the MIT License. For more details, see the LICENSE file.

Support & Tipping

If you find Serial Studio useful, consider supporting its development by tipping through PayPal.

Alternatively, if you ever find yourself in Cancún, Mexico and want to buy me a drink in person, feel free to send me a DM on Instagram. I’d love to meet you!