Tachometer
Rust tachometer built on Embassy
This project works by taking RPM data from the ECU over OBDII and combining that with a separate measurement taken directly from the RPM sensor to get an accurate but more importantly very resilient reading. Battery voltage and coolant temps are also requested from the ECU and displayed on screen.
Project goals
- Display RPM with a physical dial
- Extreme resilience. I can't have to fix something later
- Modular codebase. I need to install these in multiple vehicles with different interfaces
- Display VBAT and oil temperature
- Change brightness with headlights. Don't want to be full bright at night
- Cost less than $100 per unit
Fullest stack
For this project I designed and assembled the PCB, designed and printed the enclosure, as well as writing the code. PCB and CAD files coming soon, but they were made before I switched to Linux, on Fusion360, which does not work with Linux atm.
Demo from first prod installation:
Goal assessment
- Display RPM with a physical dial
- The dial is responsive with an update rate of 50hz and accurate. The needle itself glows, and the dial numbers also illuminate in sequence to match the value.
- Extreme resilience. I can't have to fix something later
- Frankly can't say yet. I think it is of course, but It needs to be deployed for longer to really say. I have implemented full error handling to give a pop-up on the screen showing any errors in plain english and tried to include as much separation between different functions as possible. Meaning if one part fails, there is an error message, and the unit continues working at reduced functionality.
- Modular codebase. I need to install these in multiple vehicles with different interfaces
- The codebase is split into different modules that get their own thread for different functionality
- Display VBAT and oil temperature
- These are displayed on screen and while they only update every couple seconds, the ECU is the limiting factor.
- Change brightness with headlights. Don't want to be full bright at night
- Not much to say here, the brightness goes down when the headlights are on
- Cost less than $100 per unit
- The unit cost is around $80 per unit when bought in sets of 5. Unfortunately R&D meant I spend around $300 before getting the first working unit
Questions?
This project is still in its early phase, and although I have one production installation, I don't have much documentation or feedback. If you want to use my code and have problems or just want to ask something, feel free at [email protected].