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

Hi,

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
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
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
jruoho's picture
ELM327 found something, maybe

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

Serial port worked:
>AT Z
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):
>ATMA
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
BUFFER FULL

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
NO DATA

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

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

jruoho
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
markwj's picture
I added some comments on my

I added some comments on my recommended approach here:

https://www.openvehicles.com/node/2437

jruoho
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 :)

Mark,

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
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
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
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.

davidew98
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
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
jruoho's picture
CAN EL

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 :)

davidew98
Sorry for the delay,

Sorry for the delay,

Look around the Gateway ECU for another ODB connector or any connector that looks like it might be for diagnostics. There should be a CAN bus and a Ethernet bus that connect driect to the Tesla componets bypassing the mercedes components.

The front ODB connector (if ethernet is present) might have the ethernet for the Tesla Powertrain software but you won't be able to pull data from ethernet if it's the tesla ethernet. you need to get on the tesla can bus to get all the tesla data like battery, cells, motor, or charger stats like other tesla projects on OVMS. once you do get on the Tesla CAN the PIDs are very similar to older 2014 era Model S PIDs. They may not be 100% 1 to 1 though!

mikeiimura
If you can get the Tesla CAN

If you can get the Tesla CAN bus, I'm pretty sure that most of the things I decode in the RAV4 EV code will work for the B250e as well. The Gateway ECU in the RAV4 EV has one connector that has both the Toyota CAN and the Tesla CAN, so we just found the mating connectors and made a male-female pass-thru cable to extract the always on power, ground, and the two CAN buses. Very clean and plug and play.

I have not yet started the actual reverse engineering work on the Toyota bus so that we can replicate the remote telematics functions that will go away with the 3G shutdown of the Toyota SafetyConnect network in October 2022.

Log in or register to post comments
randomness