TinySerial is an open-source, cross-platform serial port debugging tool designed for developers and engineers who need to communicate with embedded devices, microcontrollers, and other serial devices. Built with Qt5 framework, it provides a user-friendly graphical interface for serial communication testing and debugging.
- π Serial Port Management: Automatic port scanning and easy connection
- π Dual Format Support: ASCII and HEX data transmission modes
- π Auto Repeat: Configurable automatic data sending
- π Data Logging: Save communication logs to files
- β±οΈ Timestamp Display: Optional timestamp for each message
- π¨ Modern UI: Clean and intuitive user interface
- π Cross-Platform: Supports Linux and Windows
- π§ Flexible Configuration: Customizable baud rates, parity, stop bits, and flow control
Method 1: Using apt (Recommended - Auto-installs dependencies)
sudo apt-get install ./tinyserial.debMethod 2: Using dpkg
sudo dpkg -i tinyserial.debIf you encounter dependency issues:
sudo apt-get install -fNote: Version 1.5+ includes optimized dependency management. For detailed troubleshooting, see the package documentation.
Download the source code and compile it yourself (see Building from Source section).
After installation, you can launch TinySerial in one of the following ways:
-
Command Line:
tinyserial
-
Application Menu: Find "TinySerial" in your system's application menu
-
Direct Binary:
/opt/tinyserial/tinyserial
- Operating System: Linux (Ubuntu 16.04+, Debian 9+), Windows 7+, macOS 10.12+
- Qt Framework: Qt 5.5 or higher
- Dependencies:
- Qt5 Widgets, GUI, Core, SerialPort, DBus
- Standard C/C++ runtime libraries
- X11 libraries (Linux)
- Qt 5.5 or higher
- C++ compiler with C++11 support (GCC 4.8+, Clang 3.3+, MSVC 2015+)
- CMake or qmake
- Qt SerialPort module
-
Clone the repository:
git clone https://github.com/carloscn/tinyserial.git cd tinyserial -
Build with qmake:
qmake SerialPort.pro make
Or on Windows with MinGW:
qmake SerialPort.pro mingw32-make
-
Run the application:
./tinyserial
- Scan for Serial Ports: Click the "Scan" button to detect available serial ports
- Configure Port Settings: Select baud rate, data bits, stop bits, parity, and flow control
- Connect: Click "Open" to establish connection
- Send Data:
- Enter data in the send text area
- Choose ASCII or HEX format
- Click "Send" or enable auto-repeat
- View Received Data: Received data appears in the receive area
- Save Logs: Use "Save Log File" from the menu to export communication logs
- Auto Repeat: Enable repeat sending with configurable interval
- Display Options: Toggle timestamp and send/receive indicators
- Pause Output: Temporarily pause receiving data display
- Custom Baud Rate: Enter custom baud rate values
Q: Application won't start
- Ensure all Qt5 dependencies are installed
- Check file permissions:
chmod +x /opt/tinyserial/tinyserial
Q: Can't find serial ports
- Verify your user has permission to access serial ports
- On Linux, you may need to add your user to the
dialoutgroup:sudo usermod -a -G dialout $USER - Log out and log back in for changes to take effect
Q: Permission denied errors
- Run with appropriate permissions or configure udev rules for persistent access
Q: Dependency issues on Linux
- See the package troubleshooting guide
Contributions are welcome! If you find bugs or have feature requests, please:
- Open an issue on GitHub
- Fork the repository and create a feature branch
- Submit a pull request with your changes
- Dynamic USB device detection
- Enhanced custom baud rate support
- macOS version optimization
- Data visualization and plotting
- Script automation support
- tinyNetwork - Network debugging tool by the same author
This project is licensed under the Mozilla Public License 2.0 (MPL-2.0). See the LICENSE file for details.
Carlos Wei
- Email: carlos.wei.hk@gmail.com
- GitHub: @carloscn
- Homepage: http://www.mlts.tech/
- Built with Qt Framework
- Part of the MULTIBEANS project
If you encounter any issues or have questions:
- π§ Email: carlos.wei.hk@gmail.com
- π Report Issues
- π Documentation
Made with β€οΈ by Carlos Wei
β Star this repo if you find it useful!

