Skip to content

Instantly share code, notes, and snippets.

@MorGuux
MorGuux / can-ids.csv
Last active March 15, 2023 02:28
BMW E90 KCAN Notes
CAN_ID_DEC CAN_ID_HEX CAN_ID_NAME MODULE_ID_DEC MODULE_ID_HEX NAME
0 0x00 unknown 0 0x00 Transmitter unknown
949 0x3B5 Status water valve [6] 120 0x78 IHKA
957 0x3BD Status consumer cut-off [2] 114 0x72 KBM
250 0xFA Control window regulator FAT [10] 0 0x0 KGM
251 0xFB Window regulator control BFT [5] 0 0x0 KGM
252 0xFC Window regulator control FATH [5] 114 0x72 KBM
253 0xFD Window regulator control BFTH [5] 114 0x72 KBM
168 0xA8 Torque 1 K-CAN [10] 18 0x12 DME1/DDE1
169 0xA9 Torque 2 [10) 18 0x12 DME1/DDE1
@MorGuux
MorGuux / DS2 Protocol.md
Last active April 2, 2025 01:21
BMW E90 KCAN Notes

CAN structure

[Message ID] [Module ID] [Length] [Data1] [Data2] ... [Data n] [Checksum]

Message ID

0x6F1: Send request from diag scanner

0x612: Response from JBE (OBD2 firewall)

@MorGuux
MorGuux / module-diag-ids.csv
Last active March 15, 2023 02:25
BMW E90 KCAN Notes
Module Code Diag ID Name
ACC 0x21 Active Cruise Control
ACSM 0x01 Advanced Crash and Safety Management
AFS 0x16 Active Front Steering
AHM 0x71 Trailer module
ALBVBF 0x5A Active backrest width passenger
ALBVFA 0x59 Active backrest width driver
AMPT 0x37 Top HiFi Amplifier (DSP Logic7)
ARS 0x23 Active Roll Stabilization
Authority 0x5C Police Systems
@MorGuux
MorGuux / D73N47A0 (BMW N47 DDE).csv
Last active March 14, 2023 17:23
BMW E90 KCAN Notes
We can make this file beautiful and searchable if this error is corrected: It looks like row 8 should actually have 9 columns, instead of 3 in line 7.
Title,ID,Result Name,Data Type,Unit,MUL Factor,ADD Factor,Label,Description
OBD_PID01_DSMRdy_xPId1,0x0001,STAT_DSMRdy_xPId1_WERT,unsigned long,hex,1.000000,0.000000,OBD_PID01_DSMRdy_xPId1,Number of confirmed DTCs and MIL status
OBD_PID04_CoETS_rTrq,0x0004,STAT_CoETS_rTrq_WERT,unsigned char,%,0.392157,0.000000,OBD_PID04_CoETS_rTrq,Calculated load value
OBD_PID05_CEngDsT_tSens,0x0005,STAT_CEngDsT_tSens_WERT,unsigned char,degC,1.000000,-40.000000,OBD_PID05_CEngDsT_tSens,Coolant temperature (sensor value before correction)
OBD_PID0B_Air_pSensPIntkVUs,0x000B,STAT_Air_pSensPIntkVUs_WERT,unsigned char,kPa,1.000000,0.000000,OBD_PID0B_Air_pSensPIntkVUs,Boost pressure (sensor value before correction)
OBD_PID0C_Epm_nEngRaw,0x000C,STAT_Epm_nEngRaw_WERT,unsigned int,rpm,0.250000,0.000000,OBD_PID0C_Epm_nEngRaw,Engine speed - raw value before correction for OBD tester
OBD_PID0D_VehV_vSens,0x000D,STAT_VehV_vSens_WERT,unsigned char,km/h,1.000000,0.000000,OBD_PID0D_VehV_vSens,Vehicle speed
OBD_PID0F_Air_tSensTAFS,0x000F,STAT_A
@MorGuux
MorGuux / KOMBI.md
Last active November 20, 2024 18:54
BMW E90 KCAN Notes

CAN structure

Message ID Module ID Data Length Data Bytes Checksum Description
0x6F1 0x60 0x05 0x30 0x20 0x06 0x12 0x3B 0x5A Speedo Gauge 100%
0x6F1 0x60 0x05 0x30 0x20 0x06 0x09 0x1D 0x67 Speedo Gauge 50%
0x6F1 0x60 0x03 0x30 0x20 0x00 0x73 Speedo Gauge Reset
0x6F1 0x60 0x05 0x30 0x21 0x06 0x12 0x3B 0x5B Tacho Gauge 100%
0x6F1 0x60 0x05 0x30 0x21 0x06 0x09 0x1D 0x66 Tacho Gauge 50%