JWRR/SUUTerminal

Serial USB UART TERMINAL GUI SOFTWARE

SUUTerminal is written in C# using WinForms and provides a USB UART serial port interface. PuTTY is one of the leading terminal emulators. PuTTY is great and we recommend it, but it doesn't support transmitting files, which is what we need to script and automate test plans and command sequences. So we wrote SUUTerminal, which is a pretty barebones terminal emulator that can send file contents to the remote device. It doesn't do much more than that, but it's sufficient for our needs.

Maturity

SUUTerminal is being used daily to communicate with micro-controllers and is stable.

Get It

SUUTerminal is hosted on at https://github.com/jwrr/suuterm.

License

SUUTerminal uses the permissive MIT License.

How to run

You can run SUUTerminal from Visual Studio with the following steps. We use Microsoft Visual Studio Community 2022 (64-bit), but we didn't do anything clever, so it should be portable to other versions. We would like to evenually try it on Linux with dotNET and Rider.

SUUTerminal screenshot

Configuration

SUUTerminal isn't too configurable and has just a few settings.

End of Line Characters

When receiving data, SUUTerminal converts several end-of-line/new-line variations, including LF, CR and CR+LF to Environment.NewLine, which is CR+LF (\r\n) on Windows and LF (\n) on Linux.

Running Scripts

To send the contents of a script file to the remote device, press Open File, navigate to the file, and press Run Script. SUUTerminal waits 100 milliseconds after each line is sent.

Running Snippets

Type a sequence of commands into the Snippet textbox and press Run Snippet. You can press Load Snippet to initialize the snippet textbox with the file selected with Open File.

Hacking

Add a default port - Open Form1.cs [Design], right-click on the port selection textbox and pick properties. Change the Text property.

Add another Baud Rate - Edit Form1.Designer.cs, search for 9600 and add the new baud rates to the Items list.


    this.comboBoxBaudRate.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.comboBoxBaudRate.FormattingEnabled = true;
    this.comboBoxBaudRate.Items.AddRange(new object[] {
    "115200",
    "9600"});
    this.comboBoxBaudRate.Location = new System.Drawing.Point(91, 66);
    this.comboBoxBaudRate.Margin = new System.Windows.Forms.Padding(2);
    this.comboBoxBaudRate.Name = "comboBoxBaudRate";
    this.comboBoxBaudRate.Size = new System.Drawing.Size(254, 25);

Change default Newline - Open Form1.cs [Design], right-click on the Newline textbox and pick properties and change the text property to your prefered newline character(s).

Change delay after each line of script - Edit Form1.cs, search for function sendCommandLine and replace sleep(100) with your delay in milliseconds . This also changes the delay between each line of a snippet.