Hacker News new | ask | show | jobs
by Terr_ 471 days ago
I have a stalled project to read events from one of my car's CAN buses that I really need to get back to... The easily accessible OBD-II port is either the wrong network, or filters out the interior cabin stuff I'm interested in.

Even as a non-C/C++ person, it was honestly easier than I expected to get raw data: A small breadboard with an ESP32 chip and a CAN transceiver chip, power them both from my phone's USB-C port, and run an app to log serial output coming back over the same cable. I just need to plug the transceiver's high/low CAN wires into the right spots to start recording raw messages.

The biggest frustration, besides removing stubborn car paneling, is that so much of the CAN bus traffic is undocumented (no DBC) so I need to change things and look for time-correlated patterns.

1 comments

Filtering I haven't seen, but I am sure some manufacturers heavily sanitise their output.

Taking a log and annotating the values while opening the window, stopping and starting the car is exactly how you go about reverse engineering components. The problem is you can never be sure you really found all messages.