wxPython COM Terminal

PySerial provides a convenient way to handle data transfer over COM ports. It works on both Windows and Linux. This program is written using PySerial and wxPython to create a simple terminal emulator. It is pretty much similar to the example presented by PySerial itself.  However in this case, the UI is built on wx.Panel instead of wx.Frame. And actual reading of serial data is done in a separate thread.
All GUI components are populated on a single wx.Panel. On the left, a wx.TextCtrl is located as a terminal window. On the right, handful controls are added for for basic setup and control of the terminal window and the COM port. The controls on the right side can be hidden or shown at any time. This terminal supports ASCII mode and Hexadecimal mode. You can also save data to a disk file.

Since all the features are implemented on a wx.Panel, it can be embedded into any window including main frame window simply by creating an instance and passing a PySerial object(serial.Serial()). You can find an example on which two such panels are populated to implement a UART sniffer. (source code)