Getting Started with Reading OBD-II Data via CAN Bus for a Custom Dashboard Project

Thread Starter

Aria James

Joined Mar 17, 2025
1
Hi everyone,

I’m new to the forum and just getting started with automotive electronics. I’m working on a personal project to read real-time data from my car’s OBD-II port using the CAN bus. The goal is to build a simple custom dashboard that displays basic info like RPM, speed, and engine temperature. I’ve done some research and seen people using Arduino with CAN transceivers, or even ESP32 boards with built-in CAN support, but I’m not sure which route is best for something reliable and car-safe. I’d really appreciate any advice on choosing the right hardware, safely connecting to the OBD-II port, and maybe some beginner-friendly libraries or example projects to look at. Thanks in advance, looking forward to learning from you all!
 

Irving

Joined Jan 30, 2016
5,065
Welcome to AAC.

What is your level of experience at programming ESP32?

CANBus is inherently safe if all you are doing is listening though for anything useful you do have to request the parameters you want, eg RPM, water temp, road speed, etc., but it won't damage anything if you get it wrong - CANBus is resilient against broken messages. You'll probably find (based my own testing) that an Arduino will be limiting in the long run if you want to drive any fancy graphics and follow several CANBus messages. An ESP32 works well with a cheap CANBus transceiver module (TJA1050 IC) and has the advantage of being able to communicate with a phone or tablet via Bluetooth or WiFi, with no added hardware, if you choose to build your own App. rather than use a dedicated display. Alternatively you can buy an off-the-shelf OBDII transceiver which outputs a serial 'RS232' data stream and read that directly without touching CANBus programming, the limitation being data-rate if you want to monitor many parameters. Reliability is easy if you power everything off batteries and use a cigarette lighter charger. If you want to run off the 12v power in the ODB-II connector you'll need some 12v -> 5v DC/DC conversion that handles the noise and spikes from the attached automotive systems. Not hard to do but must be done properly if you don't want your ESP32 repeatedly rebooting!

For testing you want to get two of everything. Its much easier to start just experimenting getting two CANBus nodes talking to each other. That verifies the hardware and allows you to build the software before going anywhere near the car. There's a good tutorial here .

Equipment I used:
ESP32-S2-VROOM DevkitC + breakout board
CANBus transceiver module (on DevKitC connect TX to GPIO5, RX to GPIO4, plus GND and +5v[Vin])
3.5" 480x320 SPI display with touch - not essential as you can just display messages on host PC for testing. But more fun to drive your own display.
male/male and male/female 'dupont' wires for hooking it all together

later you'll need:
ODB-II connector shell and pins
 

MisterBill2

Joined Jan 23, 2018
27,312
I have not seen anything at all related to the arduino hardware that is suitable for use in a reliable vehicle to be driven in roads. Putting it into a suitable package will be a huge task.
 

LowQCab

Joined Nov 6, 2012
5,101
There's nothing "simple" about a "simple" Custom-Dash-Display.

DIY versions of Can-Buss Devices can be a real bucket of worms if
You are not absolutely rock-solid on your understanding of Can-Buss-Communications.
Therefore, when You throw-in a "Display", ( which has not yet been described ),
You are making a really huge "Ask".

All of the aftermarket Engine-Computer-Manufacturers offer solutions to Custom-Dash-Displays,
with all the numerous Bugs worked-out, in advance, for You.
Many of them are customizable to your specific wants and needs.
And as a bonus, You get to learn how Engines work, ( and how they don't work ), in the process.
( You can still retain the Factory-Computer if You want to keep it )

There are also several Gauge-manufacturers that produce Gauges that connect directly
to the Car's Can-Buss-Wiring, saving You from having to go under the Hood.
( we don't yet know if You want actual Gauges, or a customizable LED or LCD Display )
Some even include GPS-capabilities, automatic Time-to-Setpoint recording,
and even G-Force-data-Logging.
And, if you're really brave, You can remove the rather expensive guts from several
of these Gauges and "re-mount" them into your own back-lit, Custom-Gauge-Panel with
super fast and accurate Needles powered by proper Servo-Motors.

None of this is going to be what anyone might call "cheap & easy",
either in terms of Money, or the requisite "STEEP-Learning-Curve",
or the required specialized Tools and Test-Equipment, or your Time.

You have to be extremely dedicated to do this yourself.

.
.
.
 
Last edited:
Top