Can Bus Gauge
Can Bus Gauge
Since I am running a Link G4x+ in my Miata, I have a lot of cool features I can play around with, including can bus. This project is an ESP32 based display that can read and write data to and from the ECU over the can bus signal. There are quite a few options on the market that do this, but they are well over $500. I almost bought a CANChecked MFD32 before I started the project, but I couldn't bring myself to spend so much on what I thouhght was probably just an esp32 and a display. I will be the first to say I am no programmer and that I was out of my element during entire thing, but I think it turned out really good.
This is the breadboard prototype for the gauge, which is noticeably missing the display. At this point in development, I was still trying to figure out how to read can bus signals from the ECU, and the display was making it difficult to do so. The entire device is pretty simple, and consists of a 3.2" capacitive touchscreen display, an ESP32-S3 Dev board, a SN65HVD230 can bus transceiver, and a 12v to 5v buck convertor. Wiring up the project was pretty straight forward, the biggest hurdle was programming everything. I am not a software developer my any means, so it took a while to figure how to get the ESP32 and the ECU communicating together.
This is the second phase of the prototype. I wanted to have something more compact while I was testing it in the car once I got everything working. I just threw everything on the breadboard onto some prototyping PCB I had lying around. This allowed me to keep it in the car while I was testing out different GUI setups. A younger me probably would have called this version good enough and just kept it in the car, but I wanted the final version to feel like a real product. I have no intention on selling these, but I was basically treating everything like that was my final goal. I watched a few YouTube videos to teach myself how to us KiCad, so I could get a custom PCB made.
This is the custom PCB I designed with all of the components soldered to it minus the display. I got 10 of them made by PCBway, and they were at my door within 2 weeks! because I designed my own PCB I ended up ditching the ESP32 Dev board to make the device as compact as possible. All of the components were hand soldered which honestly wasn't as difficult as I originally thought it would be. It still uses pretty much all of the same components as the original breadboard prototype, but now they are all build into the one PCB. Again, I was kind of just winging this entire project so I'm sure the design of the PCB could have been a lot better, but everything works! There's a USB C port to upload code, a boot and reset button for debugging, and a built in dip switch to configure the 120 ohm resistor between the can bus signal if it is the last device on the can bus line.
This is just a quick presentation I made in Inventor of the display being assembled. Nothing Crazy.
This is just a quick overview of the features of the gauge.
Here is what it looks like in my car currently. Eventually I might try to take a better picture, but for now this is all I got. Eventually I would like to program it to make it easier to customize. Currently in order to edit what is displayed I need to go into VScode and manually change it. I would like the user interface to be edited by the user in their web browser, in case I do sell them in the future.