13 posts / 0 new
Last post
jruoho's picture
Mercedes B250E support


I am interested in starting the implementation for B250E.

The car was designed when Mercedes co-operated with Tesla, so BMS and drive unit should be already well supported. Additionally Smart ED might be very similar to this one.

Is there anyone who have done some experiments with this car? What would be the easiest way to verify that the CAN bus is available in the OBD connector (before buying OVMS)? Generic adapters do not report anything from the car..

markwj's picture
The monitor-all command on a

The monitor-all command on a generic OBDII device should show something if there is data on the CAN bus. Other than advanced diagnostic tools, or OVMS, that is the simplest. But you may need to play around with bitrates to find a match (start at 500k and work down).

Another option is finding a service manual, or wiring diagram for the car. Those should have the connector pinouts.

jruoho's picture
Thank you markwj for the

Thank you markwj for the reply :)

Monitor-all command seems useful - when searching from web it's sometimes hard to figure out what to search - there is too much info with OBD. In this case MA -command was just what I needed for initial verification.

Tomorrow I should have some time to sit in the car and hopefully get it connected to ELM327-device. Then I can start the true journey to get a rid of the unreliable MB cloud!

jruoho's picture
ELM327 found something, maybe

I did initial testing with generic ELM327 (Carista branded one) and serial com SW.

Serial port worked:
ELM327 v1.5

Monitor all produced something, but I cannot yet tell weather it was data from the car or something else (data was at mostly different every time):
82 08
00 00 00 0F FF 7F 10 29
80 39 86 7F 80 81 10 87 <DATA ERROR
C0 00 C0 00 00 00 00 00 <DATA ERROR
00 00 80 00 00 80 90 0B
F0 0D 38 00 3F FC FF 7F <DATA ERROR
8: 20 00 00 82 80 18 B0
0: F8 00 FF 00 00 00 51
8: 20 00 00 82 80 28 FA
00 00 00 00 00 00 00 00
08 00 30 00 02 4F 1E 01 <DATA ERROR
80 39 86 7F 80 81 20 87 <DATA ERROR
00 00

Reading VIN failed always. With settings AT SP6 / ISO 15765-4 CAN (11 bit ID, 500 kbaud) and
AT SP7 / ISO 15765-4 CAN (29 bit ID, 500 kbaud) the result was:
>09 02

With other lower CAN speed (250kbps) the result was different:
>09 02

Next I'll try to find some info from Smart ED -forum, but any help is of course welcome :)

jruoho's picture
OVMS coming :)

Hi markwj and others,

The ELM327 testing did what it was supposed to do - verify that there is something live. Capturing is too slow with the Carista adapter, so decoding anything become difficult. So I ordered OVMS (from fasttech), as it's was the end target anyways, and it supports CAN capture out of box. It should arrive in 1-3 weeks.

If anyone who has started or completed a new vehicle module for OVMS reads this post, it would be nice to hear any comments :) How succeeded or why failed?

P.S. One important difference between any ELM327 and OVMS is Wifi - I can stay inside the house when testing and developing :)

markwj's picture
I added some comments on my

I added some comments on my recommended approach here:


jruoho's picture
OVMS arrived

OVMS arrived some time ago, but I was lazy to start the project. Now it got warm enough to sit in the car until I got the device up and running. Now even the AP mode is accesible from the house (if I am sitting right next to window). Decoding messages is more difficult than I expected - the car goes to sleep after a while. With no prior experience on the unit it's hard to see the difference between sleeping car and bad config in OVMS. Another problem is that I do not drive now much, due to the virus, so the battery is mostly full.

The first messages that I have managed to decode, partially, are:

  • +12V voltage, 0x205, byte 1, scaling 100mV
  • Range, or full range, 0x34F, byte 7, scaling 1 km

Also one message from SmartED (http://ed.no-limit.de/wiki/index.php/Hauptseite) seemed feasible. 0x3F2 Could be eco results.

From Smart codebase I found also some hints on how to wake up the bus. I have not yet tried them - commandin the car is a little bit scary thing to do when you have no knowledge nor documentation :) 

If there is anyone out there with knowledge on the B250e's can, it would be nice to hear about you :)


any recommendations on documenting the reverse engineered metrics? Initially they'll be a inaccurate, but over time it could become usefull data.. 
And thank you for putting so much effort in to the project :)

markwj's picture
> any recommendations on

> any recommendations on documenting the reverse engineered metrics? Initially they'll be a inaccurate, but over time it could become usefull data.. 

For activate data (not polled, but generally trasmitted as a broadcast on the CAN bus), I suggest DBC file format. SavvyCAN supports that, and has a GUI editor to maintain the files. It is not particularly easy to get started with, but is a standard that can be processed by automated tools. In particular, you can replay a capture file against a DBC file, and see the metrics.

I haven't seen any good solution for polled (PID) data. Still looking, but concentrating on support for DBC first.

jruoho's picture
Pull request

Some progress :) Short time ago I did my first pull request.

It's not in the master branch yet, but some data is coming.. It's all passive listening, so no PID support at all (yet). Also SOC-% is still hiding from me..  

jruoho's picture
Listening works

Just a status update in the hopes someone with B250E would read this :) 

Listening on the diagnostic CAN (the one found in OBD -connector). Unfortunately Battery SOC is not visible there and I also failed to start the preheat from there. 

My next step is to hook OVMS to telemetry CAN. That's the CAN that is connected to Mercedes Me COM-module. If that works better, then it's pretty ideal solution (for me at least) as there is a lot of space behind the glove box to do a proper and permanen installation for OVMS module. 

If anyone with Mercedes specific experience reads this, it would be cool to have help on controlling the car via OBD -connector.

First question is does the

First question is does the B250 have a seperate OBD port for mercedes bus and tesla bus. The toyota rav4 ev 2012-14, also a tesla, does this. The driver side obd port is toyota and the one in the trunk is the tesla connector. If you have a seperate tesla connector it more then likely has a ethernet connection pinned into it for Tesla Powertrain Software as well as the Tesla CAN bus. If you use a Tesla Model S DBC and connect to the Tesla odb connector you might find a couple things. But you will not be able to do mercedes things from that connector, you will need to do remote start/climate/heat from the mercedes connector. I also agree that you might need to do it from the telematics connector. also look for a schematic of your ODB connector, there may be more then one can bus and you would need to know where they are to connect to them properly

jruoho's picture
Thanks David

Thanks David for valuable input. Due to summer and other projects, I have not found time to check the schematics. At least for now I have no idea about the second connector. But I'll try to work this out during autumn.

jruoho's picture

Just an info update (no progress). David mentioned the second  OBD-connector. I do not think that it exists in MB, but the bus is there :)

Small copy-paste from MB documentation:

The Gateway for powertrain control unit is installed in the trunk at the rear left in the area of the taillamp behind on the cover.
The Gateway for powertrain control unit serve as an interface (Gateway) between the connected Control Area Network (CAN)- bus systems.
Vehicle CAN (CAN V)
Electric drive CAN (CAN EL)

I am not fluent with MB documentation, so I may have missed something. Anyways this gateway is quite easy to reach, so I'll try that. 

OBD connector has only CAN-D (diagnostics), ground, not connected, and optional Ethernet towards the head unit (it's could be DoIP, I am not sure). This Ethernet requires an other project :)

Log in or register to post comments