OBD-II EPID for steering wheel angle

Currently reading:
OBD-II EPID for steering wheel angle

P1kachu

New member
Joined
May 24, 2017
Messages
8
Points
2
Hi all,

I'm playing with my mom's Fiat 500c, and for a project I'm currently trying to do I need to get the steering wheel angle. None of the message broadcast on the CAN bus through OBD-II seem to carry this information. I'm sure there is a PID for this information but I can't find it.

Has anybody encountered this ? Or can anybody with a dump of any fiat firmware check for me ?

I'm the "I will reverse engineer it" kind of guy but I'm not allowed to tear the car apart :/

PS: I also need the gearbox too, but bonus.

Thank you very much for any information you can provide that would help me :) (or the email of some tech guy at Fiat :p)
 
I'm using a Raspberry with PiCan connected to the OBD-II port. I also don't really know which modules I am conected to (I have extended arbitration IDs, but not the mapping IDs -> ECUs).

So Multiecuscan knows how to do that ? This means it's possible, and I might be able to find the PID by reversing the code. That's a relief! :D
 
Last edited:
I might be able to find the PID by reversing the code. That's a relief! :D

I was a bit too confident there...

Does anybody know a way to recover PIDs from this ? Or any other possibility (thanks for leading me on this g8rpi!)
 
Yep, I saw this thread already. But I don't understand the format used by the EML327 (it says the code to access the steering system is 220948, but it doesn't look like a PID nor a CAN message data field [I tested it]).
So I'm a bit confused about how the request is converted from the ELM327 converts this data in a CAN message (I'm gonna ask him too).
 
I bought an ELM327 to try at home if I can port the whole project through this (AKA, if I can recover the same data + the steering wheel)

I have googled all around (in Italian, English and French), looked for all kinds of keywords, but the only really useful link is the one you pasted above. I think I need to get in touch with some tech guy from Fiat, but I am almost sure they won't be able to disclose this information to me
 
OKAY GOT IT !!!![...]!!!
I finally understood how to convert the EML output to CAN message:

Quoting the link G8RPi posted:
ATZ <---Reset All
ATSP0 <----Auto search mode
0100 <---Send test command
---//START CONFIG//-----
ATPP2CSV01
ATPP2CON
ATPP2DSV01
ATPP2DON
ATZ
ATE1
ATL0
ATH0
ATS0
ATSPB
ATCP18
ATCRA18DAF130 <-- 0x18DAF130
ATSHDA30F1 <-- 0x18DA30F1
ATAT1
ATST19
1003 <-- UDS critical diagnostic session (see [1])
2209480080 <-- Custom mode

The messages to send are thus (using python-can):
0x18da30f1 02 10 03 00 00 00 00 00 // Initialize UDS session
0x18da30f1 03 22 09 48 00 00 00 00 // Fetch steering wheel

Thanks again for helping me ! :)

[1]: https://en.wikipedia.org/wiki/Unified_Diagnostic_Services
 
Back
Top