KTM 690: big gear readout from the bike's CAN bus
Submitted by Johny Pear • #535 • Oct 19, 2026 • updated 16h ago
Show the gear the KTM 690 is in (N, 1-6) as a large readout, read straight from the bike's CAN bus through the DMD OBD dongle, the same way as other OBD sensors.
Done so far: OBD Auto Debug can record a guided gear & clutch sweep (shipped in 4.037), and the menu speedo can already show OBD · Gear on bikes that report it over standard OBD.
Next: confirm the gear signal from a recording on a 690, then add it as a KTM sensor in DMD2 and in Mini Launcher, and document OBD · Gear and the Auto Debug sweep.
Have a KTM 690? Run OBD Auto Debug with "Include raw CAN capture" ticked, do the guided sweep and tap Send Report: it helps us finish this.
Discussion (3)
B
Bernhard Conrad
1d ago
Data source
CAN message ID 0x129, first data byte (data[0]).
Decoding
Gear = first hex digit of data[0]:
data[0] Display
0x0_ N
0x1_ 1
0x2_ 2
0x3_ 3
0x4_ 4
0x5_ 5
0x6_ 6
python
gear = data[0] >> 4
display = "N" if gear == 0 else str(gear)
Behaviour
No 0x129 message for more than 1 s → show --
Connection
CAN 500 kbit/s, 11-bit IDs, via ELM327 Bluetooth dongle. Init: ATCRA 129, then ATMA.
B
Bernhard Conrad
1d ago
The guided Auto Debug is a bit hard to handle since you dont know when this 8sec Windows starts and ends. Can you try with the data that I have sent? Shouild work fine since the other Github project refering to the same values works as well.
J
Johny Pear
16h ago
Thanks Bernhard — DMD2 4.043 (out now) reads the gear from CAN 0x129 exactly as you describe (data[0] >> 4, 0 = N). Could you ride with it and tell us whether OBD · Gear in the speedo area follows your shifts, including 6th? No Auto Debug run needed this time.
1
Vote