In my spare time, I’ve been working on an embedded system to provide instrumentation and accessory control (indication lamps, turn signal flashers, head lamp relay control, etc.) for use in hobbyist electric vehicles (EVs). Most of my work so far has been focused on implementation of system logic in a simulation environment (desktop Linux).
I’ve written a few tools that simulate some of the hardware that will be present in the target system. I have pulse generators for system timing and a speedometer sensor, a LCD simulator (simple serial 4×20), and a GTK+ GUI to simulate the relay output state and collect contact input from the user. This system is implemented as C code in anticipation of maintaining a build tree that will cross-compile to a ARMv7 MCU.
In case you were wondering, the vehicle silhouette displayed in the GUI shown above is original artwork I created; it was inspired by a Mazda Miata. It is rendered as batch of hard-coded Cairo API calls.