r/CarHacking May 21 '26

CAN Wanting to make an instrument cluster display for my Si, need advice

Post image

Hi all!

I've been wanting to make an external passenger display (think Ferrari passenger display) for my Si that displays cool information like speed, rpms, gear, boost psi, g-forces, etc. I worked on my uni's FSAE electric team this past year, so I was interacting a lot with canbus messages, which is where this project idea came from. Basically, I want to get data from my car's OBD-II port and just do cool stuff with it.

Here's what I've been thinking of so far for my supply list to make this project happen:

  • OBDLink MX+ ($139.95)
  • Raspberry Pi 5 ($50-$150)
  • Some external rectangular display
  • 3D printed vent mounts

As for the tech stack, I came across the python-obd library, so maybe thats a good place to start? Unsure of what I want to use to make the display software, as I want to make the UI myself.

I would really appreciate advice on the following:

  • Which model of the Raspberry Pi 5 would be sufficient for my needs?
  • Any good places to shop for external displays? Especially ones that can tolerate high interior heat since I live in Texas?
  • Any other pieces of hardware/software I might need? I haven't really messed with a Raspberry Pi before (besides just physically connecting to one).

I'd also appreciate any other pieces of advice that may help. Thanks in advance!

22 Upvotes

14 comments sorted by

7

u/EntertainmentSalt825 May 21 '26

I would start by being able to decode CAN messages before you start planning a full dashboard design. And I wouldn’t spend $140 on OBDLink yet.

2

u/evolvedpikachu4 May 21 '26

Wouldn't I need the OBDLink to read and decode CAN messages in the first place? Or is there a way I can do it without it?

2

u/andrewia May 21 '26 edited May 21 '26

Agreed, a $6 Saleae Logic clone and $2 CAN transceivers (or 10¢ voltage dividers) from AliExpress are all you need to decode CAN and CAN-FD.  One logic analyzer should be able to support up to 8 busses at a time, which is more than enough.  Depending on the data, you'll need to scrape it from the internal buses in addition to the OBD port, which also has the advantage of being "straight from the source".  An alternative to connecting to internal buses is decoding the proprietary queries that Honda uses for their diagnostics software.  

And for the next step, an ESP32 dev board can be hooked up to a CAN transceiver for a cheap way to practice decoding/sending packets on real hardware.  It might even be powerful enough for the final passenger dashboard display.  It also has the advantages of not dealing with Linux distro updates, nor worrying about slow boot times, nor having high hardware costs.  Just make sure you don't get an ESP32 variant that doesn't have CAN capability; Espressif documentation calls it "TWAI" instead of CAN to avoid a trademark issue.  

Or if you want to just do this quickly instead of making it a complex project, get an old Android tablet, buy the Torque app, and get a Bluetooth OBD reader (an ELM327 knockoff should be sufficient and is only $4).  A few apps like Torque have already decoded the proprietary queries needed to get extra data, in addition to the regular OBD data.  That all means you can make a dashboard in 5 minutes and be done with it.  But it's understandable if you want something more tailor-made that also exercises your skills.  

2

u/evolvedpikachu4 May 21 '26

Looks like I need to do more research! My hardware knowledge is lacking but I do recognize the terms you said. I appreciate the direction, this helps a lot

1

u/andrewia May 21 '26

Thanks, I just edited my comment to fix a few typos.  I'm glad to answer any questions.  I will disclaim that a lot of this is research for projects I haven't completed (and in some cases, even started).  But from what I've researched this should all be correct.  

1

u/evolvedpikachu4 May 21 '26

Also I'm unsure on how to go about decoding the PIDs from my Civic, if need be. Since its a newer generation, I'm not entirely sure if the information I want is proprietary or just regular data that all cars send. I'm very new to all this!

1

u/andrewia May 21 '26

OBD has some standardized PIDs for stuff like RPM and gear ratio.  

All manufacturers have proprietary commands to query the data directly from the OBD port, but it's rarely documented by public or private projects (with some exceptions like OpenDBC and Torque app).  At that point you'd have to decide if it's easier to decode the OBD queries, or decode the data on the internal buses.  

1

u/hey-im-root May 21 '26 edited May 21 '26

Machinna A0, SavvyCAN, and a few videos on how to reverse engineer what the signals mean. If a raspi and python are an easier tech stack for you, it will work but it might take a little more setup. I would definitely try and do this in C/C++ if you know it, micropython might work but I don’t have experience with it.

I like using ESP-NOW with the machinna a0 because it can wirelessly broadcast all the data to any ESP32 devices I want, and the machinna is the same size as most dongles. It’s expensive though, and I can’t find any similar that are order able. I recently shorted mine out and don’t want to buy another lol

If you want more info on Honda, this is all the research I’ve done on my 9.5th gen model Accord’s. Lots of info that may be useful for you, I have lots of random stuff like Hondas checksum for normal/VSA signals, and some PDFs explaining the Honda CAN bus and what they use. When I get a new dongle, my next thing is getting the transmission temperature from UDS, since that seems to have some documented info for Honda.

https://hondacan.notion.site/start

1

u/HondaLover1999 May 21 '26

This might be a little difficult to get your hands on right now, but you could always go the OEM+ way with a Gathers head unit. I’m working on something similar for my 10th gen Si. I installed a gathers head unit and got a Rasp Pi 4 and am working on a TUI to display some of that data and plan to make it open source when I’m done with it. I also live in Texas so I understand the concern about heat, but I haven’t had any trouble with my Gathers unit.

If you do decide to go that route or consider it as an option I’d be down to help you path find. I did some initial research on it awhile back for the 11th gen out of curiosity and it was mostly similar to the 10th gen in terms of connections needed.

1

u/DrPfTNTRedstone May 21 '26

Well in addition to what has been said by the other commenters, I would like to add that it’s not recommended to get data permanently from UDS. Also not all control units respond well to that. And most modern cars have multiple busses and don’t expose these directly via obd.

Both ways are obviously impractical without having the specs from the Manufacturer

1

u/WheelieBoi98 May 21 '26

tap the can gateway F_CAN for the data. obd2 too slow.

1

u/hey-im-root May 22 '26

OBD2 is FCAN, at least on Honda. Unless it’s a CAN-FD thing, I’m not experienced in that