BMW E36 / MS41 OBD mapping

Discussion and research on OBDII integration, especially on OEM specific PIDs from Ford, GM, Chevrolet, BMW, Porsche, Audi, Toyota, Volkswagen, Mazda, Honda, Subaru, Mitsubishi and others.
Post Reply
mikesmith
Posts: 21
Joined: Wed May 24, 2017 5:31 am

BMW E36 / MS41 OBD mapping

Post by mikesmith »

Just trying to get things up and rolling with the OBD2CAN on an E36 ('96 328 motor) and almost certainly doing something wrong.

At startup I see this logged:
[OBD2] Trying OBDII bit mode 29
[OBD2] Trying OBDII bit mode 11
[OBD2] Trying OBDII bit mode 29
[OBD2] Trying OBDII bit mode 11
[OBD2] Trying OBDII bit mode 29
[OBD2] Trying OBDII bit mode 11
[OBD2] Trying OBDII bit mode 29
[OBD2] Trying OBDII bit mode 11
[OBD2] Trying OBDII bit mode 29
[OBD2] Trying OBDII bit mode 11
[OBD2] Trying OBDII bit mode 29
[OBD2] Excessive timeouts, squelching PID 17
[OBD2] Excessive timeouts, squelching PID 17
[OBD2] all channels timed out, resetting OBD2 state
[OBD2] Init current values
I'm just trying to log engine temperature and TPS at this point, to keep things simple. Firmware 2.12.0, config attached.
Attachments
Bus.rcp.txt
Config file
(22.17 KiB) Downloaded 887 times

wizrd54
Posts: 23
Joined: Sat Apr 15, 2017 6:56 pm

Post by wizrd54 »

I'm having similar issues. E36/M44 motor.

I get some data, but then it says it is squelching the PIDs that I'm trying to request. I'm using the OBD classic connector. I'm following the setup for PIDs listed on the OBDII wiki for Mode 1. Should be coming over CAN or OBD when using the adapter and is it on message 2024?

https://en.wikipedia.org/wiki/OBD-II_PIDs

brentp
Site Admin
Posts: 6282
Joined: Wed Jan 24, 2007 6:36 am

Post by brentp »

Hi, the adapter fully emulates OBDII - it doesn't stream CAN data.

What firmware are you running, and wizrd54 - can you attach a copy of your saved configuration? Was it working before you updated firmware?
Brent Picasso
CEO and Founder, Autosport Labs
Facebook | Twitter

brentp
Site Admin
Posts: 6282
Joined: Wed Jan 24, 2007 6:36 am

Post by brentp »

If you're running the latest 1.11.0 app, can you also try doing a fresh read from the unit and check the CAN termination settings? If they're set to 'off' please try turning them 'on' and see if that resolves the issue.

Will watch for updates!
Brent Picasso
CEO and Founder, Autosport Labs
Facebook | Twitter

mikesmith
Posts: 21
Joined: Wed May 24, 2017 5:31 am

Post by mikesmith »

brentp wrote:If you're running the latest 1.11.0 app, can you also try doing a fresh read from the unit and check the CAN termination settings? If they're set to 'off' please try turning them 'on' and see if that resolves the issue.

Will watch for updates!
Running the 1.10.2 app and 2.12.0 firmware, I don't see a 'CAN termination' setting anywhere in the UI I'd expect to find it, but the can_term flag is set in the saved configuration file.

I've verified that I can read DTCs over the same connection, so I'm confident that the K line is working.

I cut the sample rate on the TPS down to 5Hz and coolant temperature to 1Hz and things appear to be behaving now. It's very unsatisfactory in that I don't know what I did that "fixed" it, but I'll take it.

brentp
Site Admin
Posts: 6282
Joined: Wed Jan 24, 2007 6:36 am

Post by brentp »

Thanks for the update. It's important to know that the sample rate you select is independent of the rate that RaceCapture queries OBDII.

RaceCapture's OBDII engine queries OBDII as fast as the ECU will allow, and will report the current OBDII values at the rate you specify - they're disconnected from each other.

The OBDII engine does other things like prioritize queries and so on, worth reading the OBDII section on the 2.11.0 announcement: https://www.autosportlabs.com/racecaptu ... -released/

The E36 OBDII interface is notoriously cranky and slow - and often it takes a long time to initialize. Having an E36 M3 myself we developed the OBDII adapter to hard-reset and start over if it fails to communicate with the ECU, this might be the reason why it took a while for it to show up. Once the link is established, we've seen it remains stable.

In summary - set it to the sample rates you want - ideally slow sample rates for engine temp and a faster sample rate for RPM and TPS.

Thanks!
Brent Picasso
CEO and Founder, Autosport Labs
Facebook | Twitter

mikesmith
Posts: 21
Joined: Wed May 24, 2017 5:31 am

Post by mikesmith »

Thanks for the additional context.

I realize that the E36 is not the hot item that it used to be, but have you considered using DS2 rather than the vanilla ISO K-line protocol? It's less of a mystery than it used to be (see e.g. http://www.romraider.com/forum/viewtopi ... 42&t=11086), and seems to be more 'responsive'. 8)

brentp
Site Admin
Posts: 6282
Joined: Wed Jan 24, 2007 6:36 am

Post by brentp »

Cool - I have an E36 M3 myself as my daily driver - as I mentioned before. Would be cool to have faster / better data available.

Did anyone make a CAN bridge for this interface yet?
Brent Picasso
CEO and Founder, Autosport Labs
Facebook | Twitter

farmerdave
Posts: 3
Joined: Tue Mar 31, 2015 7:43 pm

Re: BMW E36 / MS41 OBD mapping

Post by farmerdave »

Hi, dead thread bump, just curious if there have been any developments on Brent's last question, whether or not anyone has developed an ODB to Can bridge yet for E36?

brentp
Site Admin
Posts: 6282
Joined: Wed Jan 24, 2007 6:36 am

Re: BMW E36 / MS41 OBD mapping

Post by brentp »

Would be cool, since this platform is still pretty popular!
Brent Picasso
CEO and Founder, Autosport Labs
Facebook | Twitter

UIMechEngr
Posts: 6
Joined: Wed Mar 16, 2022 11:52 pm

Re: BMW E36 / MS41 OBD mapping

Post by UIMechEngr »

I've reviewed this thread, as well as the OBD2 wiki (https://wiki.autosportlabs.com/RC_OBDII), and I still can't get the OBD2 PIDs I need to read correctly on my racecapture.

I need to log short term and long term fuel trims for my tuner (for each bank), and it looks like those are standard OBD2 PIDs. I've tried on both 01H and 22h modes, following the wiki as best I can, still no dice.

I know its not working because my LTFT_B1 in torque is -3.8% and I show 0.0 on my racecapture dashboard after querying the channel.

The formula is simple ((A/128)-100), so I imagine my problem is simply in the querying the correct address.

Looks like it should be 4107 in hex per torque, which converts to 16647 or something like that in decimal. I've tried both in the channel setup.

I imagine this has been figured out since Brent has an E36 M3, can anyone steer me in the right direction.

Thanks!!
-Tyler
Attachments
TD RC setup LTFT-2.PNG
TD RC setup LTFT-2.PNG (19.16 KiB) Viewed 13943 times
TD RC setup LTFT-1.PNG
TD RC setup LTFT-1.PNG (48.56 KiB) Viewed 13943 times
E36 torque fuel trim PIDs.png
E36 torque fuel trim PIDs.png (37.15 KiB) Viewed 13943 times

UIMechEngr
Posts: 6
Joined: Wed Mar 16, 2022 11:52 pm

Re: BMW E36 / MS41 OBD mapping

Post by UIMechEngr »

Posting the remaining screenshots
Attachments
TD RC Dash.jpg
TD RC Dash.jpg (40.26 KiB) Viewed 13939 times
TD RC setup LTFT-4.PNG
TD RC setup LTFT-4.PNG (16.52 KiB) Viewed 13939 times
TD RC setup LTFT-3.PNG
TD RC setup LTFT-3.PNG (19.93 KiB) Viewed 13939 times

UIMechEngr
Posts: 6
Joined: Wed Mar 16, 2022 11:52 pm

Re: BMW E36 / MS41 OBD mapping

Post by UIMechEngr »

Just wanted to close the loop here and say I got it figured out. You have to have 2420 in the canbus tab, big endian selected, and whatever offset and bit length works.

If anyone has any questions, message me and I might be able to help.
Attachments
image (2).png
image (2).png (214.2 KiB) Viewed 11921 times

brentp
Site Admin
Posts: 6282
Joined: Wed Jan 24, 2007 6:36 am

Re: BMW E36 / MS41 OBD mapping

Post by brentp »

Hi, glad you got it figured out. Did you also come across this guide? This should have been helpful as well, mapping torque PIDs to our mapping:

https://www.autosportlabs.com/mapping-c ... ive-guide/
Brent Picasso
CEO and Founder, Autosport Labs
Facebook | Twitter

Post Reply