BMW e90 Canbus DBC to Real Dash XML FIle

I am trying to connect real dash to canbus on e9x e8x BMW using usb-can analyser.

There is a lot of documentation on the canbus in these BMW models, however i am finding conflicting information as it seems most people are like me, and have not got a working project. Particular issues with canbus data conversion.

I have tried to compile basic xml files and although i can get real dash to react i am not converting the canbus data correctly. I have been working on understanding canbus for the last 2 weeks and i am not getting anywhere fast. I was wondering if you anyone has an realdash xml file to work with BMW canbus?

Or can someone convert the below canbus DBC file to Real Dash xml please?

I did find the below python based converter but have never used python scripts before and can not get that running either. If this could somehow be ported to work online, i imagine 1000s of people will use it.

Oh and the reason i need canbus data, the RPM signal through OBD is too slow for a performance vehicle.

Thanks in Advance

There is a DBC to RD-XML converter project on GitHub, maybe it could help you?

If you can make it work and verify it on actual vehicle, we’d be very happy if you allow us to publish your XML file for all RealDash users.

Thank you for the response, i did find that converter, but i couldn’t get it to work. Not familiar python at all.

Can anyone else run that python based DBC to realdash xml converter?

Just thought i would let you know i did workout how to run the converter. This is the output file if you are interested, you will likely be able to recognise the issues. But it seems none of the target ids work, neither do the conversions in the DBC. When i manually enter target ids everything is still out of whack. However the can bus address’s do work, so its a start.

I have been focusing on pedal position, and a few places online list different conversions for the canbus data to make sense, but nothing seems to work in real dash. I can get it close, but its not correct. However i am not great at maths, programming or coding…

If you have any feedback on how to make this conversion file work that would be very much appreciated.
bmw_e9x_e8x.dbc-converted.xml (50.8 KB)

Yes, the problem is that the converter has no way of knowing which value (described by the text) is linked to which RealDash input. But XML file seems valid otherwise. Try this:

  • Import this XML file to your CAN adapter connection settings
  • Create new dashboard and add text gauge
  • Link text gauge to ‘ECU Specific->AccPedal_EngineSpeed’
  • Save your dashboard.

And try if you get RPM (or any other info) into that text gauge.

If you get something sensible out of it, I can help you to translate the value names into RealDash targetIds. But first you have to verify that there is actual valid data with this XML.

Just thought i would follow up. No useful data in that xml.

Well to be fair if focused on RPM and pedal position and the calculations simply did not work. I ended up getting them to work by just creating a manual xml file. And caluclations from rusefi guthub, which as of today he just took down… Video of realdash working for rpm and pedal.

As you can see in the video RPM response was brilliant.

However after about another 30 hours of research and testing. No luck getting boost or lamba on a N54 equipped car from the canbus either kcan or ptcan. If anyone knows the ARBID for those or even better all the engine parameters that would be a great help in getting real dash working in a N54 E90/E92. If i work anything else out i will let you know.

Loopybunny is great for a lot of the generic e90 chassis canbus info, but i think getting engine data on the display is the most important part of taking this project on.


Looks very responsive, as it should be with CAN connection. Sorry that I could not help any more on that. Mapping an entire car CAN bus is a big task, but it can be done. Please share your results when you make more progress.

Hi Andrew, did you make any progress with this?

I have a B47 engine in my BMW 320d F30 LCI (June 2016 model). Currently, I am connecting RD using an vGate BT adaptor via OBD2 port to an Android tablet. Would be great if your xml can help read exact fuel parameters, turn signals, etc.

your car is f chasis kwp2010 or kwp2020 can format so e chasis cars wont be the same as they are kwp2000 format.

BO_ 464 EngineData: 8 DME
SG_ RPM_IDLG_TAR : 56|8@1+ (5,0) [0|1270] “1/min” XXX
SG_ CTR_SLCK : 48|2@1+ (1,0) [0|0] “” XXX
SG_ IJV_FU : 32|16@1+ (1,-48) [0|0] “C” XXX
SG_ AIP_ENG : 24|8@1+ (2,598) [600|1106] “hPa” XXX
SG_ ST_SW_WAUP : 22|2@1+ (1,0) [0|0] “” XXX
SG_ ST_ENG_RUN : 20|2@1+ (1,0) [0|0] “” XXX
SG_ Counter_464 : 16|4@1+ (1,0) [0|14] “” XXX
SG_ TEMP_EOI : 8|8@1+ (1,-48) [0|0] “C” XXX
SG_ TEMP_ENG : 0|8@1+ (1,-48) [0|0] “C” XXX

iam not aware of boost on the pt can but baro is there also oil and water temp. you might be able to sniff pt can with a scan tool and watch 0x6f1 its the d can request then something in the 0x6xx should come right up next with the data. i dont have a factory dme so i cant help with dcan funtions for dme

1 Like

BMW335I.xml (4.7 KB)
Here is what I have been working on not all of them are 100%. Hopes this helps. What screen and device are you using to run a screen in the car?