Liam Jackson Revs Up His Employer's CI Monitoring with This Motorcycle-Inspired Dashboard
A SparkFun MicroView OLED drives a trio of low-cost tachometers to keep an eye on an expansive test matrix.
Software engineer Liam Jackson has created a Continuous Integration dashboard for the engine enthusiast, repurposing low-cost motorcycle tachometers to keep an eye on things without having to turn on a monitor β and has released 3D print files for others to have a go themselves.
"I wanted to tip you off about another project," Jackson tells us in a message highlighting his latest creation, "where I used motorcycle tachometers to display test failures from a Continuous Integration job. I wrote about it on my employers blog (writing about personal projects on work time, yes please!)"
The employer in question is QA Systems, which operates a sizable in-house testing matrix β one that is split up into smaller targeted tests for regular use with whole-matrix runs scheduled less regularly. "Tests within the wider matrix occasionally fail and require updating," Jackson's write-up, published by QA Systems' Silvia Sanchez explains.
"When we have multiple branches adding innovative new features, such as Cantata Hybrid for GoogleTest, it can lead to a large number of these tests needing updates. We needed a way to be notified of test suite failures and track our progress when fixing large numbers of tests."
That's where Jackson's creation comes in. Looking a lot like a motorbike dashboard, though one that apparently has three engines, the desk accessory is built around a trio of low-cost "Universal Motorcycle Tachometer Meter Gauge" instruments connected to a SparkFun MicroView OLED β the compact display of which is exposed below the middle gauge.
"To implement the dashboard, a simple script on a developer's workstation pulls test results from our CI web dashboard's API [Application Programming Interface] and sends the data to the microcontroller over USB serial," the write-up continues. "The dials require 12V power, so a small boost converter supplies this from the 5V USB power.
"Moving the dials requires sending a PWM [Pulse Width Modulation] signal matching a single-cylinder engine's spark plug frequency at the desired RPM. For example, to display 1, we use 1000 RPM, which equates to 16.66Hz. Since this frequency is too low for the microcontroller's hardware PWM, a 'Slow PWM' timer interrupt-based approach was implemented. The 5V I/O levels from the microcontroller are sufficient for the dials to detect."
The project's write-up is available on the QA Systems website, while Jackson has published the 3D print files to Printables under the permissive Creative Commons Attribution 4.0 International license. "The code and wiring implementation," its creator warns, "is left as an exercise for the reader!"