Data transceiver/realtime plotter/shortcut/file transceiver over serial port/Bluetooth/network on Win/Linux/Android/macOS | 跨平台串口/蓝牙/网络助手,带数据收发/实时绘图/快捷发送/文件收发面板,可在PC和Android设备上使用

License

2. Get the source code 3. Choose how to import QCustomplot Use QCustomPlot source file(recommended) Use QCustomPlot library 4. Build and run Install from the Linux software repository Flathub Arch Linux Translation Change Log License A versatile test tool running on Windows/Linux/macOS/Android.
Works as data transceiver/realtime plotter/shortcut/file transceiver.
Supports serial port, Bluetooth SPP client/server, Bluetooth LE client, TCP client/server, UDP.

Features

Cross-platform
  • Runs on Windows/Linux/macOS/Android
  • Serial port debugger
  • Show all available serial ports with parameters. No need to check Device Manager or dmesg
  • Set baud rate, data bits, stop bits, parity scheme, flow control and change them on the fly
  • Modify DTR/RTS signals, Show CTS, DSR, DCD, RI(RNG)signals
  • Save the parameters of the last connection
  • Save connection parameters by port name or device ID then reuse them quickly
  • (Android: support hardware serial port only, like /dev/ttyXXX )
  • (Android: Workaround for USB serial devices)
  • Bluetooth SPP debugger
  • Supports commonly used Bluetooth modules(HC-05, HC-06, JDY-34, ...)
  • Supports communication between PC and smartphone
  • Supports client mode and server mode
  • The server can be connected by multiple devices. You can enable/disable the Tx/Rx function of them.
  • Supports multiple local Bluetooth adapters (Experimental)
  • Bluetooth LE debugger
  • Show all services(primary and included services), characteristics and descriptors of connected device
  • Specify different service for Rx/Tx
  • Supports IPv4/IPv6
  • Client:Supports spceifying local address and port
  • Client:The remote address can be a IP address or a website
  • Client:Supports storing connection parameters with user specified name then reuse them quickly
  • Server:Supports listening on all NICs or specified NIC
  • Server:The server can be connected by multiple devices. You can enable/disable the Tx/Rx function of them.
  • Supports IPv4/IPv6
  • Supports listening on all NICs or specified NIC
  • Supports storing connection parameters with user specified name then reuse them quickly
  • Change remote address and port on the fly
  • High performance
  • Fast response:UI update is separated from Data reception. Disable "Realtime" option in "data" tab for higher speed
  • Fast response:Time-consuming works run in dedicated threads
  • Low memory cost:Received bytes to memory consumption is about 1:1, if the plot and "Realtime" option are disabled.
  • Data panel
  • Show data in hexadecimal
  • Show timestamp of received data
  • Export raw data or selected text
  • Add suffix behind each sending(\r, \r\n, string, hex data)
  • Repeat
  • Rich encoding support
    (UTF8/16/32, GB2312/GB18030, BIG5, KOI8-R, Shift_JIS, EUC-KR, ...... )
  • Unescape user input
    (\r, \n, \t, \0, \123, \xFF, \uABCD, ...)
  • Enable/disable echo
  • Show sended/received data only
  • Realtime plotter
  • Human-readable data format
  • Drag or scroll the canvas by mouse
  • Drag or scroll the canvas on touchscreen
  • Showing the latest data or holding on
  • Show up to 99 graphs
  • Multiple X-axis mode
  • Legends with customizable name and color
  • Show/hide graphs
  • Clear the canvas by specified data or "Clear" button
  • Demos of STM32/Arduino/STC8
  • Controll(shortcut) panel
  • Send spedified data by one click
  • Send a number quickly by slider
  • Send data in hexadecimal
  • Unescaping support
  • Add prefix/suffix
  • Import/Export the whole panel
  • File transceiver
  • Calculate CRC32 checksum quickly
  • Send with throttle
  • Stop receiving after specified number of bytes
  • CRC32 and file IO are handled in separated threads for better performance
  • Handy UI
  • Show multiple panels with your preferred layout on a single window
  • Show panel as separated windows
  • PC: Stays on top
  • PC: Opacity
  • PC: Start multiple instances with different modes, which are shown on the title bar
  • Check connection parameters and disconnect/reconnect on status bar
  • Customize font
  • Select language
  • Change theme(dark theme)
  • Portable
  • The app generates one single config file only
  • Never touchs Windows Registry
  • Use config file in current working directory or system default config directory
  • Export/Import/Clear config
  • Clear history
  • Set maximum history count
  • Supports Android
  • Small screen support: Force landscape mode
  • Small screen support: Show sended/received data only
  • Small screen support: Full screen mode
  • Drag/Scale gesture support on Plotter
  • Share text/file to SerialTest then send it
  • Previews

    Data Panel Plotter&Data(GIF) Control Panel(GIF) Serial Port, Dark Theme

    You can write programs on MCU according to the demos in the demo/ folder
    Demo README

    Binaries for Windows, Android and macOS

    You can download pre-built binaries and Android APK in release page.

    You can also download them in SourceForge

    The Android app is available on F-Droid as well.

    Build on Linux

    Steps

    1. Install depencencies

    sudo apt-get update
    # sudo apt-get install git build-essential
    sudo apt-get install qt5-default libqt5serialport5-dev qtconnectivity5-dev 

    2. Get the source code

    cd ~
    git clone https://github.com/wh201906/SerialTest.git --depth=1
    cd SerialTest
    mkdir build && cd build

    3. Choose how to import QCustomplot

    Use QCustomPlot source file(recommended)

    You need to download QCustomPlot archive, extract the qcustomplot.cpp and qcustomplot.h in the /src folder(replace the existing qcustomplot.h), then build.

    wget https://www.qcustomplot.com/release/2.1.1/QCustomPlot-source.tar.gz
    tar -xzf QCustomPlot-source.tar.gz
    cp qcustomplot-source/qcustomplot.* ../src

    Use QCustomPlot library

    If the qcustomplot.cpp doesn't exist in the src/ folder, the qmake will try to find the library file(xxx.so/xxx.dll) in the building directory(where you call the qmake command) and the default library directory.

    4. Build and run

    qmake ../src
    make -j4 && make clean
    ./SerialTest 

    Install from the Linux software repository

    Flathub

    flatpak install flathub io.github.wh201906.serialtest
    # run this app
    flatpak run io.github.wh201906.serialtest

    Arch Linux

    # Install the release
    yay -S serialtest
    # Install the development version
    yay -S serialtest-git

    Translation

    The project uses Weblate to manage translation.
    If you'd like to help with the translation, please visit the Weblate translation page or create a PR to the weblate branch.

    Change Log

    Change Log

    License

    The src/qcustomplot.h and the files in src/qdarkstyle/ are licensed under the same licenses as their respective projects.
    The source code in src/ is licensed under GPL 3.0 .
    The source code in demo/ (excluding dependencies), translations, documents and other parts of this project are licensed under MIT .

    Data transceiver/realtime plotter/shortcut/file transceiver over serial port/Bluetooth/network on Win/Linux/Android/macOS | 跨平台串口/蓝牙/网络助手,带数据收发/实时绘图/快捷发送/文件收发面板,可在PC和Android设备上使用

    Topics

    android macos linux serial network bluetooth bluetooth-le serialport f-droid qcustomplot serial-monitor