HivePaaS
An open-source, self-hosted PaaS on Docker Swarm. Deploy apps, databases and functions from one VPS to a whole cluster, with SSL, backups and autoscaling built in.
A small, fast serial port terminal for embedded developers.
Translation pending
Developer toolsC++ · HTMLGitHub @carloscnOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A small, fast serial port terminal for Linux, Windows and macOS. ASCII/HEX, auto-repeat, timestamps, logging. Built with Qt.
Taken from the repository README
Loading the full README.
Read the full README ↗A small, fast serial port terminal for talking to microcontrollers, boards and modems over UART. Built with Qt 5 or Qt 6.
Website: https://tinyserial.mltz.tech
\\n, \\r, \\t, \\xHH) and a configurable send line endingSwitch between the normal Debug mode and a keyboard-first Full terminal mode. Full terminal mode behaves like a dedicated serial console: typed characters are sent directly to the connected port, including common control characters such as Ctrl+A through Ctrl+Z, Enter, Tab, Backspace and Esc. The terminal keeps its own dark visual surface regardless of the application theme, with a visible caret and a focused, monospace reading area.
The terminal toolbar keeps the connection controls available instead of forcing a return to the debug screen: port, baud rate, data bits, stop bits, parity, flow control, connect/disconnect, real-time logging and opening the log directory are all available in one place.
The terminal font and retained text cache can be configured from the View menu. RX and TX lamps in the status bar flash orange when bytes actually arrive or leave the serial port. Common status words are highlighted without colouring the rest of a line: failures such as error, failed, timeout, 失败 and 错误 are red; successful states such as OK, success, ready, 成功 and 完成 are green. English, Chinese and common Spanish status words are recognised.
Text sending now supports UTF-8, GB18030, GBK, GB2312, Big5, Shift-JIS, EUC-KR, ISO-8859-1 and Windows-1252. Optional C-style escapes (\\n, \\r, \\t, \\xHH) and a selectable line ending make it practical to reproduce device protocols exactly. HEX input is validated before transmission.
Real-time logging can be enabled directly from either mode. On packaged Linux installations it uses /var/log/tinyserial when writable, otherwise a per-user log directory; a user-selected directory is remembered and can be opened from the File menu.
The File menu can now send or receive with XMODEM checksum, XMODEM-CRC, XMODEM-1K and YMODEM. Transfer progress, cancellation and protocol traffic are handled without mixing protocol bytes into normal terminal output.
Packages are published for Ubuntu 20.04, 22.04, 24.04 and 26.04 (amd64). Paste this block; it picks the apt suite for your release and adds you to the dialout group:
(
. /etc/os-release
case "$VERSION_ID" in
20.04) suite=focal ;;
22.04) suite=jammy ;;
24.04) suite=noble ;;
26.04) suite=resolute ;;
*) echo "Ubuntu ${VERSION_ID:-unknown} is not a published TinySerial target." >&2; exit 1 ;;
esac
sudo curl -fsSL https://apt.mltz.tech/key.gpg -o /usr/share/keyrings/mltz.gpg
echo "deb [signed-by=/usr/share/keyrings/mltz.gpg] https://apt.mltz.tech ${suite} main" | sudo tee /etc/apt/sources.list.d/mltz.list
sudo apt-get update
sudo apt-get install -y tinyserial
sudo usermod -a -G dialout "$USER"
)
Log out and back in once so the dialout group applies, then open TinySerial from the application menu or run tinyserial.
With qmake and Qt 5:
sudo apt-get update
sudo apt-get install -y build-essential qt5-qmake qtbase5-dev libqt5serialport5-dev
git clone https://github.com/carloscn/tinyserial.git
cd tinyserial
qmake SerialPort.pro
make -j"$(nproc)"
./tinyserial
With CMake, which uses Qt 6 when it is installed and Qt 5 otherwise:
sudo apt-get install -y build-essential cmake ninja-build qtbase5-dev libqt5serialport5-dev
cmake -S . -B build-cmake -G Ninja -DBUILD_TESTING=ON
cmake --build build-cmake
ctest --test-dir build-cmake --output-on-failure
./build-cmake/tinyserial
Windows and macOS are not packaged; build them the same way with qmake or CMake.
Requirements: Qt 5.12 or newer, and permission to open serial devices (dialout on Ubuntu).
Real-time logging writes the traffic to a file as it arrives. Packaged Linux installs use /var/log/tinyserial; other builds fall back to the user's application data directory when that is not writable.
TinySerial is missing from the application menu. Reinstall it; packages older than 1.5.2 removed the menu entry while upgrading:
sudo apt-get update
sudo apt-get install -y --reinstall tinyserial
No serial ports, or permission denied. Add yourself to dialout, then log out and back in. The install block already does this.
sudo usermod -a -G dialout "$USER"
It does not start. Install it with apt so the Qt libraries for your Ubuntu release are present, and check that /opt/tinyserial/tinyserial exists.
HEX input is rejected. Bytes may be separated by spaces, but each byte needs exactly two hex digits, for example 01 AB FF.
More package details: tinyserial-deb-prj/README.md.
Build a .deb for the Ubuntu you are on (output: dist/tinyserial_<version>_ubuntu<release>_amd64.deb):
sudo apt-get install -y qt5-qmake qtbase5-dev libqt5serialport5-dev dpkg-dev
./script/build-deb.sh
Build packages for all four Ubuntu releases with Docker. The Qt toolchain for each release is cached; on a machine where /hrom is writable the cache is /hrom/tinyserial/buildkit.
./script/build-docker.sh
Publish: raise Version in tinyserial-deb-prj/DEBIAN/control, then run ./script/release.sh (needs a logged-in gh). It uploads dist/tinyserial_*_ubuntu*.deb to a GitHub Release, and the release workflow copies them to apt.mltz.tech.
gen_deb.sh fills the package Depends line from the binary on the build machine. Qt already depends on X11, zlib and GLib, so those are not listed again.
Bug reports and pull requests are welcome: https://github.com/carloscn/tinyserial/issues
Related: tinyNetwork, a network debugging tool by the same author.
Mozilla Public License 2.0. See LICENSE.
Carlos Wei · [email protected] · https://mltz.tech