Public knowledge

Understand the fundamentals.

A concise reference desk for the concepts, terminology and habits behind a well-documented ECU project.

01 / CONTROL SYSTEMS

What does an ECU do?

An electronic control unit is a computer that manages a particular set of functions in a vehicle. In an engine context, it receives information from sensors, processes that information using its software and calibration data, and sends commands to components such as injectors and ignition coils.

Three parts of the picture

  • Inputs: measurements and messages that describe what is happening, such as engine speed and temperature.
  • Processing: software uses these inputs alongside stored parameters and operating conditions to make control decisions.
  • Outputs: electrical commands or network messages request an action from another component.

A vehicle can contain many control units. An engine ECU, transmission controller and body controller have different jobs, and may communicate over shared vehicle networks.

Hardware, software and calibration are different layers. A label or file name alone does not establish that a file belongs to a particular controller.

02 / PROJECT PRACTICE

Before you change a file

A useful project record explains where each file came from, what it relates to and how it differs from an earlier version. Keeping this information together makes later comparison and support conversations much clearer.

Record the context

  • Note the vehicle and controller identifiers reported by your tools, along with the date and tool version.
  • Keep the original file separately, with a descriptive name and a record of its source. Keep another copy away from your working folder.
  • Record each revision and the reason for it. Avoid overwriting earlier versions when a new revision is created.
  • Attach observations and relevant logs to the same project record.

A cryptographic file hash can help identify whether two copies have identical contents. It does not prove that a file is suitable for a controller, nor that its contents are correct.

The project worksheet in member downloads ↗ provides a starting structure for these notes. It is a reference document, not a programming procedure.

03 / WORKING WITH DATA

Make sense of hexadecimal

Hexadecimal is a base-16 number system. It uses the digits 0–9 and the letters A–F, where A represents ten and F represents fifteen. Each hexadecimal digit represents four binary bits, so two hexadecimal digits can represent one byte.

The same value can be written in different number systems. For example:

Decimal
255
Hexadecimal
0xFF
Binary
11111111

The prefix 0x is a common way to indicate a hexadecimal value. Changing the representation does not change the underlying number.

Representation is only one step

Interpreting file data also depends on its context: byte order, signed or unsigned representation, data width and any scaling applied. A number converter cannot identify a calibration parameter or determine what a value means in a particular file.

Open the number converter