Migrating from OBD2 to CAN

I have been reasonably successful in finding several proprietary PIDs accessible from OBD2 for display on RealDash but have started to migrate the non-proprietary parameters to CANBUS because of the significant performance improvement. (I have two devices connected on a splitter cable, one ELM327 and one CANBUS communicating with RealDash)

My understanding is the parameters currently visible on the CANBUS from CAN monitor are parameters which are being exchanged between various units in the car, for example, vehicle speed from the ECU being displayed on the car dashboard needs this constant communication. However, many of the parameters I am accessing from OBD2 are not constantly broadcast and are supplied in response to a request for the information.

Is it possible to request these same parameters via CANBUS, for example, standard PID 0103 for engine status?

What true name your car and year

I try to help

Thanks @Falcon_S I have a 2012 Toyota FJ Cruiser

Whenever you are able to find CAN working CAN descriptions, I would appreciate if you share the XML file to be included in public version of RealDash.

1 Like

Attached is all working fine, will share updates on making further progress
fj_can.xml (2.2 KB)

1 Like

Thanks! There are not that many values yet, but I will still include this into next release of RealDash.

Attached is the same file with little bit of cleanup done.
toyota_fj_can.xml (1.7 KB)

058_Tayota.xml (4.1 KB)

and need use any device convertor CAN to RealDash CAN

1 Like

For what vehicle is that for?

Toyota Corolla E150. Fuel inputs from ADC.

Thanks! Will take a look and add to next release of RealDash.

Some questions about Toyota Corolla CAN XML:

  • Frame 0x191: The Button 1 and Button 2 custom values in XML, what are they for? Steering wheel buttons?
  • Frame 0x620: ‘Position Light’, whats that?
  • Frame 0x394: ‘Steering Wheel’, is that a steering wheel turn angle in degrees?
  • Parking brake comes from two different frames, 0x620 and 0x3B7, is that intentional?

Frame 0x191 - please delete

other i check and add true comment - need week

sorry this file is old ( And I didn’t know RealDash as well before as I do now )

Here is corolla XML file with my changes, do they seem ok?
toyota_corolla_e150.xml (3.2 KB)

value targetId=“162” conversion=“ID481||ID482||ID483||ID484”> - this string not work for ID162 not work conversion

value name=“PositionLight” startbit=“2” bitcount=“1”> change to value targetId=“155” startbit=“2” bitcount=“1”>

and need time for check - sorry many time ago
frame id=“0x611”>
value targetId=“310” offset=“5” length=“3” endianess=“big” conversion=“V*1.60934+61040”>

i no have car for full long test now
I hope: I was useful to you

1 Like

Yes, thank you. File went to version 2.3.1, but we can update it later if needed.

please reply - if i use only elm 327 - can i see CAN monitor in RD and wrire XML as same CAN → RealDash CAN Converter ?

Yes, ELM327 devices can be used as CAN adapter. The CAN H and CAN L pins must be connected on OBD2 connector.

The connection type in RealDash is: ‘Adapters (CAN/LIN)->OBDLink CAN Adapter’

This is not optimal though. In order to write a CAN frame from RealDash into the vehicle the incoming data stream must be stopped and multiple commands sent to the ELM327 adapter. This will manifest as noticeably delay in data every time anything is sent to vehicle.

1 Like

I assume the ELM327 chip translates the AT commands it receives into canbus requests (write) to get a response, is this feasible in RealDash to recreate canbus requests equivalent to these OBD commands?

Hi Jani, I am totally confused on this CAN connectivity.

One of the Realdasher’s mentioned in another thread that his Veepeak BT adaptor supports CAN for his Toyota car. Are you saying that CAN H and CAN L pins have been physically connected by him or is it by design from the manufacturer. How does one technically connect it. Pls explain.

This BT adaptor: Amazon.com

mentions some CAN protocols.

Will these work with RD and all cars that support CAN or again there is no guarantee that it will work with my BMW 320d because CAN protocol varies from car to car?

Assuming it will work do I need to connect any CAN pins?

Kindly clarify. I am a noob on this topic.

If car has CAN and OBD2 port, naturally CAN lines are connected to OBD2 connector pins already.

But it is possible to use OBD2 adapter as CAN adapter and retrofit that into anything that has CAN by connecting those pins.

ELM327 adapters are quite good at reading the CAN stream from the vehicle. They are slow when RealDash writes CAN message from dash to vehicle. If you have setup that writes a lot of CAN messages to vehicle, its better to use some other type of CAN adapter.