Hi TriB,
First of all, thank you for sharing your Suzuki SDS reverse-engineering knowledge on the forums. Your posts are currently the most valuable source of information I have found.
I am working on a diagnostic dashboard project for a 2008 Suzuki VZR1800 / Boulevard M109R using an Arduino Mega 2560 and an L9637 K-Line transceiver. The goal is to display Suzuki SDS live data in real time on a TFT screen.
The TFT interface, joystick controls, audio functions, and all other parts of the project are working correctly. The only thing preventing the project from being completed is establishing the initial communication with the ECU.
My current setup:
Fast Init sequence currently used:
K-Line HIGH 300 ms
K-Line LOW 25 ms
K-Line HIGH 25 ms
Serial begin at 10400 (also tested 10417)
Start Communication Request sent:
81 12 F1 81 05
However, I only receive what appears to be an echo of my own transmitted frame:
81 12 F1 81 05
I never receive a recognizable ECU response.
I have read your comments regarding:
- Fast Init timing,
- KeepAlive:
80 12 F1 01 3E C2
- Live data requests:
80 12 F1 02 21 08 AE
and I understand that these work once communication has already been established.
My questions are:
Is the 2008 VZR1800/M109R SDS initialization sequence identical to other Suzuki models you worked with?
Is 81 12 F1 81 05 the correct Start Communication Request for this ECU?
Does the L9637 echo need to be filtered out before detecting the ECU response?
Should the UART speed be exactly 10400 baud or 10417 baud?
Do you happen to have a complete example or log showing:
I would greatly appreciate any advice or direction you could provide. I have been trying to solve this final piece for quite a long time, and your experience appears to be exactly what is needed.
Thank you very much for your time and for sharing your knowledge with the community.
Best regards,
Turbo