3 posts / 0 new
Last post
molnarnor's picture
BMW i3 support


I have bought OVMS, and it works fine in my Leaf.

At the moment, I have access to a BMW i3 also, so I would like to try to add some support for these vehicles.

I found some info on the net, and I have found this repo

The guy had reverse engineered a lot's of BMW CAN codes, and put them in a DBC file:

I have copied the content of this file to my OVMS (through the Editor) and saved to /sd/dbc/bmw.dbc

Then I tried these commands:
(I have selected the DBC option from Vehicle in the config)
dbc load bmw /sd/dbc/bmw.dbc
dbc show
dbc dump bmw
dbc show bmw
can can1 dbc attach bmw
can can1 status
can log start vfs crtd /sd/old_can/can_20200212_02.crtd
can log status
can log stop

Of course, under the logging time, I made some activity with the car. Switched on, opened doors, etc.
The log is empty.
can can1 status is showing nothing.

There is no info about the DBC part of OVMS, how it's working, I've just quessed out the above commands.

Can you please give me some more info, how can I get working this?

Yesterday I have made an other approach, not DBC based vehicle, but generic OBDII:
the can can1 status command show quite a lot of traffic, and I have generated some crtd log files also, which are not empty.
(But the reverse engineering from theese logs seems a bigger task :) )

Thank you in advance,

PaulS's picture
I'd also like to get this

I'd also like to get this working. I opened an issue on it a couple of months ago looking for help, but didn't get any responses.

Currently don't have access to an OVMS as I didn't want to purchase before I knew it was possible to get something out of it. (Any owners on the west side of London, UK want to run some experiments?). That said, I've been collecting as much data as I can.

Anyway, best tool I currently know of for enquiring over OBD is https://github.com/uholeschak/ediabaslib  which is an Android App called "Deep OBD for BMW" which uses the definition files from the BMW software. It seems to download these from the authors site and decompress them onto the phone. Currently trying to extract the information out of them into a better format, and understand the communications setup it uses.

The files that you are using are for older BMW models (E8x / E9x. Mid-2000's to Mid-2010's). The i3 is the I01 and is more similar to the F series of ICE cars (e.g. the F30 3-Series). I've identified the definition files for the I01 out of DeepOBD, but I need to be able to read them.

PaulS's picture
A bit more info

I've managed to get Deep OBD working on my i3, and it logs everything it sends to/from the OBD dongle. So I've probably got everything I need to reverse engineer the CANbus setup, and various PIDs.

I'm still learning things, but I think the info is all available now.

Log in or register to post comments