2023-06-15 HUD ECU Hacker

Detail

HUD ECU Hacker

Supported ECU's

ECU Model Connection OBD2 Parameters Fault Codes Documentation
Autodetect OBD2 K-Line or CAN bus (14 protocols) 194 2435 Wikipedia OBD2
ECU Model Connection Vendor Parameters Flashing Manual More Details
Delphi MT05 and MT05.2 K-Line ISO 14230 115 YES Delphi MT05 & MC21 Manual.pdf
Kohler Engines MT05 K-Line ISO 14230 136 YES Delphi MT05 & MC21 Manual.pdf
Briggs & Stratton MT05 K-Line ISO 14230 136 YES Delphi MT05 & MC21 Manual.pdf
Rongmao MT05 K-Line ISO 14230 115 NO Delphi MT05 & MC21 Manual.pdf See Appendix 2
Delphi MT05.3 CAN ISO 15765 130 NO Delphi MT05 & MC21 Manual.pdf See Appendix 1
Chinese Fake MT05 K-Line + CAN ISO Only OBD2 NO Delphi MT05 & MC21 Manual.pdf See Appendix 3
Bosch MSE 3.0 K-Line ISO 14230 41 NO Bosch MSE 3.0 Manual.pdf
Bosch MSE 6.0 K-Line ISO 14230 70 NO Bosch MSE 6.0 Manual.pdf
Deni E1700 CAN Raw proprietary 55 NO Deni EXX00 Manual.pdf
Lifan EFI 9 Euro 4 K-Line ISO 14230 40 NO Lifan EFI 9 Euro 4 Manual.pdf
Liteon MC21 K-Line ISO 14230 80 NO Delphi MT05 & MC21 Manual.pdf
Motion SE08 K-Line ISO 14230 130 NO Motion SE08 & DE08 Manual.pdf
Motion DE08 K-Line ISO 14230 130 NO Motion SE08 & DE08 Manual.pdf
Yeson 28S-06 and 28S-16 K-Line ISO 9141 51 NO Yeson 28S Manual.pdf
ECU Model Connection Parameters Flashing Manual More Details
Bosch MSE 8.0 CAN ISO 15765 OBD2 only NO Bosch MSE 8.0 Manual.pdf
Deni E0900 K-Line + CAN Raw OBD2 only NO Deni EXX00 Manual.pdf
Deni E1900 K-Line OBD2 only NO Deni EXX00 Manual.pdf
Rojo GY6-125 CAN Raw Proprietary NO Rojo GY6 Manual.pdf
FAI CAN Raw Proprietary NO Fai Manual.pdf

OBD2 Scanner

Scantool

ECU's from Delphi Electronics

Cars
Great Wall Pickup
Chevrolet Sail & Cruze
JAC Motors J3, J6
Lifan 320, 520
Nanjing Yuejin Soyat NJ7150
Motorbikes ATV's (All Terrain Vehicles) Other
AJP PR7
Benelli BN600 (Italy)
Bullit Hero 125
Geon Invader 350
Hanway NK125S
Hawk DLX
Hunter Bobber 350 (Australia)
Hyosung GT650RC
Jawa Bobber 350 (Argentina)
Jialing JH200-8
Johnny Pag Spyder 300 (USA)
Junak M16 320 (Polonia)
Keeway RKF 125
Leonart Daytona 350 (Spain)
Lifan LF250-P
Mash Seventy Five
Mondial 100 SFC Snapy XI
Regal Raptor 350
Revolt RS7
Riya scooters
RKS Spontini
Scomadi scooters
Quadro scooters
Zhejiang TR125
Zongshen RX3
Zontes 250
Aeon Cobra
Baltmotors Jumbo
Bennche Bighorn 400
CFmoto Terralander X8
HiSUN 700 EFI
Hytrack (french rebranding)
Linhai T-BOSS 550
Masai (french rebranding)
Massimo Alligator 700
Odes 800
Qlink FrontRunner 700
SMC MBX 850
Speed Gear Buggy 600
Stels 800 Guepard
Trapper 500
Wels ATV 800
Briggs & Stratton (Lawn Mowers, Marine motors, Generators)
Kohler Engines (Lawn mowers)
Pin Type Usage Options
J1-2 Output ECP valve or Start motor disable relay or AC cooling fan relay or Head light relay or Second air injection valve
J1-3 Output MIL Lamp or Misfire generation status of cylinder 1
J1-4 Output O2 heater B or AC cooling fan relay or Head light relay or Second air injection valve
J1-5 Input O2 Sensor B or Analog input 1
J1-6 Output Tacho (RPM) or Toggle signal when MAP is read or Output of TPS duty cycle signal to second ECU (4 cylinder engines)
J1-14 Input Rollover Sensor Input or Power adding switch input
J1-15 Input O2 Sensor B or Analog input 2 or Input for TPS duty cycle signal from first ECU (4 cylinder engines)
J1-16 Input Reset EEprom by short to ground or Idle RPM adjust or Differential lock
J1-18 Input Clutch/Neutral switch or Reverse gear switch
J2-3 Output K-Line communication or Head light relay or Second air injection valve
J2-6 Output Injector B or Second air injection valve or Cooling fan relay
J2-12 Input TPS sensor input or MAP sensor only system

Connecting to the MT05

Which adapter to buy?

K-Line / VAG Adapter J2534 Adapter ELM327 / OBDLink Adapter
Connection Only K-Line K-Line + CAN bus K-Line + CAN bus
Advantage As there is no intelligence in the adapter even the counterfeit are working perfectly. You can also make your own cheap DIY adapter with 2 transitors. Professional adapters for scanning and flashing. They are technically the best choice. Hobbyist adapters. Bluetooth and WIFI versions available. There is no advantage over J2534 adapters.
Disadvantage No support for CAN bus.
Cannot measure battery voltage. Timing depends on computer speed.
The genuine are expensive but chinese clones exist which do work. Misdesigned (see below)
ECU Emulator and CAN Raw protocol do not work. All ELM327 adapters in internet are fake, except genuine OBDLink, ScanTool.
Summary OK (limited use) recommended deprecated
Price Genuine $5 USD $180 … $500 USD OBDLink: $40 USD
Price Counterfeit $5 USD
Do NOT buy Ross-Tech
VISLONE: $33 USD is OK
Do NOT buy Mini-VCI fake
$10 USD
Do NOT buy cheap fake!
HUD ECU Hacker
Function
K-Line
Adapter
J2534
Adapter
OBDLink
Adapter
Fake Elm327
Adapter
UsbCAN
adapter
Parameter
Scanning
K-Line ISO 9141
K-Line ISO 14230
CAN ISO 15765
CAN Raw
Data Slewing K-Line ISO 9141
K-Line ISO 14230
CAN ISO 15765
CAN Raw
Sniffing K-Line ISO 9141
K-Line ISO 14230
CAN ISO 15765
CAN Raw
Flashing
MT05 / MT05.2
K-Line ISO 14230
ECU
Emulator
K-Line Fast Init
K-Line 5-Baud Init
CAN ISO 15765
CAN Raw
Proprietary
Protocols
K-Line Honda
K-Line KW 1281

Option 1: K-Line Adapter

For Electronic Experts Only

Option 1:

Option 2:

1a) Build your own ECM Cable (for Delphi MT05)

Then you can either use a crimping plier or solder the wires to the contacts and build your cable as shown in this video.

1b) Buy a complete ECM Cable (for Delphi MT05)

K-Line Adapter Echo Test

Option 3: ELM327 Adapters (deprecated)

Diagrams of a genuine adapters:

Counterfeit ELM327 Adapters

Counterfeit ELM327 USB Adapters

Counterfeit ELM327 Bluetooth Adapters

Installing a Bluetooth Adapter

Counterfeit ELM327 WIFI Adapters

Option 4: UsbCAN Adapters (deprecated)

ISO 9141 Protocol

5-Baud Initialization
Sender Data Baudrate Meaning
Tester 0x33 5 Baud Address
ECU 0x55 10400 Baud Synchronization
ECU 0x08 (0x94) 10400 Baud Keyword 1
ECU 0x08 (0x94) 10400 Baud Keyword 2
Tester 0xF7 (0x6B) 10400 Baud Keyword 2 (inverted: F7 = 08 XOR FF)
ECU 0xCC 10400 Baud Address (inverted: CC = 33 XOR FF)
Tester Packet 10400 Baud First Command
OBD2 Command '01 00' Response (1…7 data bytes)
Header 1 68 Fix value Header 1 48 Fix value
Header 2 6A Fix value Header 2 6B Fix value
Header 3 F1 Source address (Tester) Header 3 11 Source address (ECU)
Payload 1 01 OBD2 Service 1 Payload 1 41 Service confirmation = 01 + 40
Payload 2 00 PID 0 Payload 2 00 PID confirmation
Checksum C4 68+6A+F1+01+00 = C4 Payload 3 BE 8 Bits encoding supported PID's
Payload 4 36 8 Bits encoding supported PID's
Payload 5 B0 8 Bits encoding supported PID's
Payload 6 03 8 Bits encoding supported PID's
Checksum A9 48+6B+11+41+00+BE+36+B0+03 = A9

ISO 14230 Protocol

Command 'Start Communication' Response Short (1…63 data bytes)
Header 1 81 80 + length of data (1 byte) Header 1 83 80 + length of data (3 bytes)
Header 2 11 Destination address (ECU) Header 2 F1 Destination address (tester)
Header 3 F1 Source address (tester) Header 3 11 Source address (ECU)
Payload 1 81 Service 'Start Communication' Payload 1 C1 Service confirmation = 81 + 40
Checksum 04 81+11+F1+81 = 04 Payload 2 EF Key byte 1 (bit flags)
Payload 3 8F Key byte 2 (always 0x8F)
Checksum C4 83+F1+11+C1+EF+8F = C4
Command 'Read Data' Response Long (64…255 data bytes)
Header 1 82 80 + length of data (2 byte) Header 1 80 Extra length byte follows
Header 2 11 Destination address (ECU) Header 2 F1 Destination address (tester)
Header 3 F1 Source address (tester) Header 3 11 Source address (ECU)
Payload 1 21 Service 'Read Data' Header 4 66 Length of data (102 byte)
Payload 2 01 Subfunction 1 Payload 1 61 Service confirmation = 21 + 40
Checksum A6 82+11+F1+21+01 = A6 Payload 2 01 Subfunction confirmation = 01
Payload 3 Parameter raw data byte 1
Payload 102 Parameter raw data byte 100
Checksum 80+F1+11+66+61+01+…

Errors

Keep-Alive

CAN Bus

CAN Raw Protocol

ISO 15765 Protocol

CAN Filter

Example 1 Example 2 Example 3
Field 'Response ID' 7E8 = 111 1110 1000 7EX = 111 1110 XXXX empty
Field 'Response Filter' 7E8 = 111 1110 1000 7E0 = 111 1110 0000 7E8 = 111 1110 1000
Field 'Response Mask' 7FF = 111 1111 1111 7F0 = 111 1111 0000 7FC = 111 1111 1100
Received ID's
that match the
filter and mask
7E8 = 111 1110 1000

only 1 ID matches
7E0 = 111 1110 0000
7E1 = 111 1110 0001
7E2 = 111 1110 0010
7E3 = 111 1110 0011
7E4 = 111 1110 0100
7E5 = 111 1110 0101
7E6 = 111 1110 0110
7E7 = 111 1110 0111
7E8 = 111 1110 1000
7E9 = 111 1110 1001
7EA = 111 1110 1010
7EB = 111 1110 1011
7EC = 111 1110 1100
7ED = 111 1110 1101
7EE = 111 1110 1110
7EF = 111 1110 1111

16 ID's match
7E8 = 111 1110 1000
7E9 = 111 1110 1001
7EA = 111 1110 1010
7EB = 111 1110 1011

4 ID's match

PCHUD & Diag Tool

HUD ECU Hacker

HUD ECU Hacker - Control

Clearing Fault Codes (DTC)

HUD ECU Hacker - Data Grid

HUD ECU Hacker - Dashboard

HUD ECU Hacker - Graph

HUD ECU Hacker - Manual Command Injection

Recording Logfiles

Data Slewing

ELM327 Terminal

CAN Bus Debugger

HUD ECU Hacker for Android / iOS

Download / Upload Flash Memory (MT05 / MT05.2 only)

Processor Delphi MT05 Delphi MT05.2
Model SAK-XC164CM-16F40F SAK-XC164CS-32F40BB
Flash Memory 128 kB 256 kB
RAM 8 kB 12 kB
Clock 32 MHz 32 MHz
Flash Memory Delphi MT05 Delphi MT05.2
Bootloader 000000 - 003FFF 16 kB 000000 - 003FFF 16 kB
Configuration Data 004000 - 004FFF 4 kB 004000 - 004FFF 4 kB
Calibration Tables 005000 - 007FFF 12 kB 005000 - 00AFFF 24 kB
Firmware 008000 - 01FFFF 96 kB 00B000 - 03FFFF 212 kB

Tuning (MT05 / MT05.2 only)

Tuning with Commercial Software

Tuning with HUD ECU Hacker

However HUD ECU Hacker does this analysis in less than a second. Here you see a snippet of the huge Delphi code:

c1768e f2 fc f8 f7     mov        r12,[0xF7F8]
c17692 f2 fd fc f7     mov        r13,[0xF7FC]
c17696 d7 40 01 03     extp       #0x301, #1
c1769a f2 fe 22 29     mov        r14,[0x2922]
c1769e da c1 f8 14     calls      FUN_c114f8
c176a2 f0 c4           mov        r12,r4
c176a4 f6 fc f8 f7     mov        [0xF7F8],r12
c176a8 f2 fd fc f7     mov        r13,[0xF7FC]
c176ac 42 fd f8 f7     cmp        r13,[0xF7F8]
c176b0 fd 08           jmpr       cc_ULE,LAB_c176c2
c176b2 22 fd f8 f7     sub        r13,[0xF7F8]
c176b6 f6 fd f6 f7     mov        [0xF7F6],r13
c176ba e1 12           movb       RL1,#0x1
c176bc f7 f2 e6 f7     movb       [0xF7E6],RL1
c176c0 0d 08           jmpr       cc_UC,LAB_c176d2

Hex Viewer

Delphi Calibration Data

Completing Auto-Detection Results

Editing Calibrations

Working with Patches

Adapting to other ECU's

Step 1. Sniff Data

K-Line CAN Bus

Sniffing K-Line data with HUD ECU Hacker

Sniffing CAN Bus data with HUD ECU Hacker

Step 2. Test the ECU Emulator

K-Line CAN Bus

K-Line ECU Emulator

CAN Bus ECU Emulator

Step 3. Simulate the ECU

Step 4. Enter the XML Commands and Parameters

Step 5. Enter the XML Names and Descriptions

Download and Installation

Trouble Shooting

Appendix

Delphi MT05.3

Rongmao MT05

Chinese Fake MT05

Overheating Risk

IACV Calibration

Position 0 Position 255

Idle Air Control Valve IACV

Idle Air Control Valve IACV

Self Learning

MAP TPS < 1900 < 2800 < 3750 < 4500 < 5800 < 7200 < 9000 > 9000 rpm
< 30 kPa < 4 % Cell 0 Cell 1 Cell 2 Cell 3 Cell 4 Cell 5 Cell 6 Cell 7
< 46 kPa < 10 % Cell 8 Cell 9 Cell 10 Cell 11 Cell 12 Cell 13 Cell 14 Cell 15
< 62 kPa < 19 % Cell 16 Cell 17 Cell 18 Cell 19 Cell 20 Cell 21 Cell 22 Cell 23
> 62 kPa > 19 % Cell 24 Cell 25 Cell 26 Cell 27 Cell 28 Cell 29 Cell 30 Cell 31
Rolling Idle Cells
Cell 32 Cell 33 Cell 34 Cell 35

Reset EEPROM (NVRAM)

Rescue a bricked MT05

Crankshaft Position Sensor

Battery

TAGS