A discussion over on the Business of Software about embedded firmware testers brought this software back to mind. I created this around 1998 to exercise the firmware (and hardware) of a steer-by-wire system for power boats I was working on. It was written using Tkinter for the GUI. It sent a simple command protocol over an RS-232 link to the system. It was amazing when I brought the system over from Windows NT to the Linux development box and did not have to change a line of code. Go Python!

The original page (which is long gone, thanks way-back machine) describing it said:

his is a screenshot of an application written in Python using the TK interpreter and the Python MegaWidgets Toolkit. It communicates with an embedded module via the RS-232 serial port. We use it to exercise new circuit boards and to debug hardware problems.

Most of the windows are generic, although they do have symbolic names for important microprocessor ports such as data I/O direction. One can also enter a numeric address to work with any memory location. The Motor Drive window presents high-level functionality specific to the product being tested.

I developed the application under Windows NT. The application ran with zero source-code changes when I later moved our development platform to Linux (the serial-port classes contained support for both Linux and NT).

Tkinter Firmware/Hardware Tester