A multi-threaded Python GUI and backend built to bring together live sensor data from a custom dynamometer test system.
The company's dyno is a custom-fabricated system, and there was a need to modernise the user experience around it. The goal was a tool that could monitor the status of the unit under test, the dyno motor itself, and the unit's control system, all in one place — pulling together current, voltage, torque, and temperature data from the various sensors involved.
The hardware used for monitoring the dyno already had Python packages supporting their use, so the tool was built as a multi-threaded Python program. Each piece of hardware is handled by its own dedicated thread, with a separate thread responsible for collecting and fusing the data coming from those hardware threads. A further thread runs the GUI, built with PyQt, keeping the interface responsive while data collection continues in the background.
The tool has been accepted by the company for use monitoring the dyno system. It's still early days in terms of feedback, as it has only recently been put into use.