RevMatch
An ESP-32 based car information display that communicates over OBD
Created by
DynamicWhiteHat
1 view
0 followers
DynamicWhiteHat
added to the journal ago
Did research and created schematic
I started the project because I was bored and saw a video on a thermal dash cam. I decided that I wanted to make something for my car. I asked ChatGPT for ideas, and I settled on a "mini map" style information gauge that can communicate with my car to display useful stats. Most importantly, I want to calculate when to shift based on the RPM, which can be obtained from the OBD port. I did some research into coding this sort of thing and found that I need to use the SN65HVD230, which is a CAN transceiver. The ESP-32 has build in TWAI ports for automotive communication, which made the wiring easy and made it so I didn't require another converter. The datasheet was lacking in example schematics, so I just copied over WaveShare's:

It was surprisingly simple to add. I copied over my ESP-base project to help me quickly get started on the ESP-32 wiring. I removed the battery charging section and swapped it out for a LM2596S 5v DC-DC converter. The OBD port supplies 12-14v, so I need to step it down to 5v, then to 3.3v through an LDO. I also added an SD card for logging OBD data:

This was simple too since SD cards themselves operate over spi.
Finally, I added the display. I opted for a 1.28 inch tft display, which required the following wiring:

I forgot to mention I also added a touch pin to control the display. The esp-32 has 14 touch capable pins, so its as easy as just using a conductive footprint.
This is my final schematic for now:

DynamicWhiteHat
started RevMatch ago
2/24/2026 - Did research and created schematic
I started the project because I was bored and saw a video on a thermal dash cam. I decided that I wanted to make something for my car. I asked ChatGPT for ideas, and I settled on a "mini map" style information gauge that can communicate with my car to display useful stats. Most importantly, I want to calculate when to shift based on the RPM, which can be obtained from the OBD port. I did some research into coding this sort of thing and found that I need to use the SN65HVD230, which is a CAN transceiver. The ESP-32 has build in TWAI ports for automotive communication, which made the wiring easy and made it so I didn't require another converter. The datasheet was lacking in example schematics, so I just copied over WaveShare's:

It was surprisingly simple to add. I copied over my ESP-base project to help me quickly get started on the ESP-32 wiring. I removed the battery charging section and swapped it out for a LM2596S 5v DC-DC converter. The OBD port supplies 12-14v, so I need to step it down to 5v, then to 3.3v through an LDO. I also added an SD card for logging OBD data:

This was simple too since SD cards themselves operate over spi.
Finally, I added the display. I opted for a 1.28 inch tft display, which required the following wiring:

I forgot to mention I also added a touch pin to control the display. The esp-32 has 14 touch capable pins, so its as easy as just using a conductive footprint.
This is my final schematic for now:
