Hello, I have wired an OBD port adapter to my LinkECU per their instructions and have an OBDLink MX adapter connected to it. My goal is to get the data from my LinkECU (TPS, temp/pressure sensors, etc) into RaceChrono.
I have all the CAN ID's and equations setup in RaceChrono (per the Link CAN setup), but I am not seeing live data on the RaceChrono side. The OBDLink MX adapter is connected fine to RaceChrono.
Has anyone else set this up with LinkECU, or know of something specific we need to do to get this to work? The CAN port on the LinkECU is setup to transmit at 500K with the CAN ID's set to match this table :
https://docs.google.com/document/d/1mG3b4P-JAOdh8a336QJgKCOS9kJKzp3m5jgcel4ssRsI have RaceChrono working just fine with the same OBDLink MX adapter and getting CAN data from my 2022 Toyota GR86.
Comments
Type "ATZ" to reset the adapter. Enable headers using "AT H1". Then just type command "AT MA" command to see all the CAN packets in the bus. If there's packets, just copy paste like 20-30 lines from here, and we can then troubleshoot.
The BMW Link looks very different (invalid it seems), assuming I am even getting the right data.
BMW Link output:
In this mode you can send commands directly to ELM327. You can search for ELM327DS.PDF to get full list of
commands.
Example: ATZ reset ELM327
ATI - information
ATDP describe current protocol ATDPN - current protocol number
ATMA monitor all
>
ATDP
AUTO, ISO 15765-4 (CAN 11/500)
>
ATZ
ELM327 v1.4b
>
AT H1
AT H1
OK
>
AT MA
0000100
0000100
0000100
0000100
0000100
0000100
0000100
0000100
0000100
0000100
….repeats until buffer full message
GR86 output:
In this mode you can send commands directly to ELM327. You can search for ELM327DS.PDF to get full list of
commands.
Example: ATZ reset ELM327
ATI - information
ATDP describe current protocol ATDPN - current protocol number
ATMA monitor all
>
ATDP
AUTO, ISO 15765-4 (CAN 11/500)
>
ATZ
ELM327 v1.4b
>
AT H1
AT H1
OK
>
AT MA
3939D052D11C3010000<DATA ERROR 3A7B307000200000000<DATA ERROR
04042030000000000FF<DATA ERROR
1434400000000000000<DATA ERROR
041614396A648290030<DATA ERROR
663880F001000000000<DATA ERROR
1469E02004014010000<DATA ERROR
32B320400
04043040000000000FF<DATA ERROR 041624496A648290030<DATA ERROR
2D2E3074800C0000000<DATA ERROR
138600E190000000000<DATA ERROR
139AB5E00E008001417<DATA ERROR
13B460E0000FFFFFFFF<DATA ERROR 13C5B0E0A0300030000<DATA ERROR
118AC010000004E0044<DATA ERROR 2287301480000000000<DATA ERROR
04044050000000000FF<DATA ERROR 1434501000000000000<DATA ERROR
….repeats until buffer full message
Link support has already configured the CAN Bus transmit details to match the document here: https://docs.google.com/document/d/1mG3b4P-JAOdh8a336QJgKCOS9kJKzp3m5jgcel4ssRs/edit
I put that configuration into RaceChrono. But, from what you posted it sounds like no CAN data is being sent over the OBD bluetooth device.
We made a little more progress with an updated LinkECU config, now I can see data on the terminal ATMA output that looks like my GR86 above, but with no "Data Error" entries.
However, RaceChrono is still not seeing the data correctly, or at all.
Here is what I see on the terminal output from my CAN output from LinkECU:
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB000 1000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB000 1000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000 000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000000000
70A0028BB0000 00000
70A0028BB0000 000000
Anything we can do to further troubleshoot?
Let me run the debug to see I can catch anything else. It is kind of hard to share the info when I cannot post screenshots.
Atz
At ma
00 28 AE 00 00 00 00 00 (repeated until buffer full)
Atz
At h1
At ma
70A0028AD0000000000 (repeated until buffer full)
I tried connecting to it with my laptop, ELM327 usb adapter, and PC app HUD ECU Hacker. But, all I got from "sniffing" the adapter was was below error over and over. If you know what I can do with that tool to get some useful data let me know, I don't think I'm using it right.
19:39:08.952248RTR<RX ERROR
19:39:08.957248RTR
Not sure if it is helpful, but the CAN transmit streams on my LinkECU are setup as follows, with bit rate all at 500 kbit/s.
Channel/Stream 2/Frame 1
Transmit rate: 20Hz
CAN ID: 1837
Format: Normal
Parameter: Engine speed
-- Start position 7, width 14, byte order LS first, Multiplier 1, Divider 1, offset 0
Parameter: Engine coolant temperature
-- Start position 24, width 8, byte order MS first, Multiplier 1, Divider 1, offset 40
Parameter: Oil Temperature
-- Start position 32, width 8, byte order MS first, Multiplier 1, Divider 1, offset 40
Parameter: Intake air temperature
-- Start position 48, width 8, byte order MS first, Multiplier 1, Divider 1, offset 40
Channel/Stream 3/Frame 1
Transmit rate: 20Hz
CAN ID: 1802
Format: Normal
Parameter: Fuel pressure
-- Start position 16, width 8, byte order MS first, Multiplier 145, Divider 100, offset 0
Parameter: Oil pressure
-- Start position 24, width 8, byte order MS first, Multiplier 145, Divider 100, offset 0
Channel/Stream 4/Frame 1
Transmit rate: 20Hz
CAN ID: 1803
Format: Normal
Parameter: Lat acceleration
-- Start position 0, width 8, byte order MS first, Multiplier 981, Divider 10, offset 0
Parameter: Long acceleration
-- Start position 8, width 8, byte order MS first, Multiplier 981, Divider 10, offset 0
Parameter: Wheel speed
-- Start position 16, width 8, byte order MS first, Multiplier 10, Divider 36, offset 0
Parameter: Lambda 1
-- Start position 24, width 16, byte order MS first, Multiplier 1000, Divider 1, offset 0
When you configure a CAN Bus channel with ID 1802 in RaceChrono, you should see some data in the channel editor, if you enable the "Test connection" in the vehicle profile.
So, 1802 has fuel and oil pressure on it. I don't see those in RaceChrono test connection, except on the rare occasion it will populate some numbers in there but never update or provide live info (data which is also not accurate, like 173psi fuel pressure, etc).
I'll go back to LinkECU support and see if they have any other ideas.
https://forums.linkecu.com/topic/20656-can-data-to-external-data-logger-via-obd2-bt-adapter/?do=findComment&comment=120632
RaceChrono will see data the moment I store the ECU setting, then it just hangs there and never updates. So, it seems to be getting it initially and the data is accurate to what is showing on my ECU logger (except fuel pressure, that equation must be wrong still).
1802 "at ma" output and what racechrono saw momentarily:
https://drive.google.com/file/d/1MJFQ960DxKkC2nkAmtS0mxzuT9l-I0gV/view?usp=drive_link
https://drive.google.com/file/d/1fwaGL6RVO2JwBVLNftc_hhs-3dxpkxh8/view?usp=drive_link
1803 "at ma" output and what racechrono saw momentarily:
https://drive.google.com/file/d/1HU8rGubGgmTCLskE3RL5kq20Ih4UBjXf/view?usp=drive_link
https://drive.google.com/file/d/1v6JNmurGCbmm5oZYA5BgfQ_GuPzye4bE/view?usp=drive_link
1837 "at ma" output and what racechrono saw momentarily:
https://drive.google.com/file/d/1FCA0YtSM8it4E8ZdHlZ9JonTSBr-u0wW/view?usp=drive_link
https://drive.google.com/file/d/1q8QarkfTG7OwOX7Pk9qAeTnpStotUpTD/view?usp=drive_link