Saturday, June 16, 2012

qSerialTerm: A Qt-based serial port terminal emulator

The asynchronous serial communication is one of the most used communication protocols in microcontrollers(uC), especially when interfacing a uC to a PC. 

Years ago, the RS232 standard with its bulky DB9 connector was pretty much the only medium available to interface a uC to a PC, nowadays we have more interesting options like USB->UART devices (FTDI) and Bluetooth modules(HC-05/HC-06) which look like a serial port to the PC and can be interfaced via asynchronous serial communication by the uC.

For quite some time, I have been using minicom (and I still use it sometimes) as a serial port terminal emulator to receive/send data from/to a uC. But lately, I have run into the need for a more flexible and prettier user interface. So I created qSerialTerm.

 Interfacing a HC-06 Bluetooth module using qSerialTerm. (In Ubuntu)

 Interfacing a HC-06 Bluetooth module using qSerialTerm. (In Windows)

qSerialTerm was developed using the Qt framework, which means it's a cross-platform application. I have released the source code under the GNU GPL, you can get the source from this repository. (Check this post about installing Qt creator, my preferred IDE for Qt development)

I'm currently building a data logger on top of this application, you can get a peek of the current status in the following image.

This data logger still needs some tuning, I'll be releasing the source after that.
Check this post about using qSerialTerm for data plotting.

But right now, I'll continue playing with the Bluetooth module. :)


  1. Hi Jorge, I'd like to ask you how can I get the software called qSerialTerm?

  2. Hey, you can download it from here:

    source for build in Arch Linux or Ubuntu:

    .exe For windows:

  3. I have got some error like this;

    mainwindow.h:26:42: fatal error: QtAddOnSerialPort/serialport.h: No such file or directory

  4. I have got some error indicate from Ahmet

  5. I have got some error indicate from Ahmet

  6. I have got some error indicate from Ahmet

  7. I have the same error indecated by Ahmet