AeroTerm, an open source serial terminal for embedded work

(Hi. I hope this is the right forum to announce this.)

A few years back I made the kind of serial terminal which I had always wanted when doing embedded work. I finally got around to polishing it up enough to release to the world.

Alpha release with macOS and Windows binaries (check back in a few days for Linux, it's waiting for me to set up a Docker CI instance): Releases · Kenn Sebesta / AeroTerm · GitLab

The primary feature which drove me to make this is the frustration at trying to figure out baud rates and other serial port settings. If you do enough embedded work you'll eventually find a device with an unknown serial port setting and you now have to figure it out.

Other serial terminals are a bit of a click-o-rama to change serial port settings, here they are up front and there's no need to close and reopen the serial port to try a new settings. Finding the baud rate for that five-year-old BT bridge device you had lying around is no longer a challenge!

Another nifty feature is the ability to record serial data and to play it back to the serial port at a user-configurable speed. This is really helpful for testing and debugging both firmware and cloud ends of the embedded pipeline.

Other features of interest:

  • Simple and intuitive to use
  • Visualizes when in the data stream the user sent data to the device
  • Can be configured to send keyboard input immediately or in batch
  • Saves the logfile in base64 encoding in a JSON file.
  • Playback speed can be adjusted. This is very helpful for reproducing embedded hardware errors..
  • Change serial port settings without forcing the user to close and re-open the port. Saves clicks!

I'd love feedback. The terminal is feature complete, although the UI is raw. I figured there was no point in getting the components into their pixel perfect place only to dramatically move things around based on real-world feedback.

There's also a performance hit when the scroll-back buffer is large, I'm looking into how to optimize it so that we can log for days on end.

The software is a classic Qt project, done in a mix of C++, QML, JS. If you don't want to download one of the binaries, ou can compile it yourself by simply opening the project in Qt Creator and hitting the build button. There's no special software requirement beyond a standard Qt SDK install. I have built it on Qt 5.15, but I see no reason why it wouldn't work with Qt 6.

One more screenshot, because even though I created my Arduino account years ago as a lurker this is my first forum post: