ECU File: What It Is, the Types Workshops Buy and How to Find Yours
A Golf arrives on a trailer. The last garage tried a remap over OBD, the write stopped part way through and now the engine ECU won’t answer the diagnostic tool. The owner has been told on a forum to “just download the ECU file”. Which one, though? The stock flash for that exact software version, a full bench read that includes the EEPROM, or an FRF container that the dealer tool can push back in? Those are three different files, and picking the wrong one turns a two-hour recovery into a replacement ECU and a trip to the dealer for immobiliser matching.
This guide is written for the person at the bench. It covers what an ECU file actually contains, the file types workshops buy, the formats and tools you’ll meet, how to pin down the exact file for a unit in front of you and how to check it before anything gets written. Every count quoted below comes from our catalogue.
What an ECU file is, and why the term is so loose
An ECU file is a copy of the memory of an electronic control unit, saved on a PC. Most of the time people mean the engine ECU, but gearbox controllers, airbag modules, instrument clusters, immobiliser boxes and body modules all have memory that can be read and saved in the same way.
The trouble is that “ECU file”, “ECU dump”, “bin”, “read” and “original” get used for the same thing on forums, and they aren’t the same thing. It helps to split them into three groups:
- A read or dump is what came out of one particular unit. If it’s a full read, it carries that car’s immobiliser data, its adaptations and its learned values along with the software.
- A flash or software file is the program and calibration as the manufacturer released it for a given software version. It isn’t tied to a car or a VIN. Dealer update containers such as FRF and SGO fall into this group.
- A modified file is a read or flash file that someone has changed: a tune, an immobiliser function switched off, a DPF or EGR strategy removed, a unit reset to virgin state.
If you came here from a file-extension search, there’s no single “.ecu” format for car control units. Most car ECU files are raw binary images, and the extension is whatever the reading tool or the person who saved it chose. More on formats further down.
What’s inside a full read
Open a full read in a hex editor and it’s just a long run of bytes. Knowing which part of the memory does what tells you which file you need and what you can safely swap.
The program
This is the operating software: the code that runs injection timing, reads sensors, talks on CAN and handles diagnostics. It’s the biggest part of the flash and it rarely changes between cars with the same software version.
The calibration
The calibration is the set of maps and constants the program works from: fuel quantity, boost targets, torque limiters, rail pressure, EGR and DPF strategies, rev limits and so on. It’s a much smaller area than the program. A tuner edits the calibration, and on many Bosch EDC17 and MED17 units it sits in its own block, which is why some tools can read or write it over OBD without touching the rest.
EEPROM data
This is the part that makes a read belong to one car. Depending on the unit it holds immobiliser data (the codes that pair the ECU with the car’s immobiliser, key module or body controller), the VIN, injector correction codes, learned adaptations, fault memory and various counters. On older Bosch units such as EDC15 and EDC16 it’s a separate 8-pin serial EEPROM on the board, often from the 95xxx series. On the Tricore-based EDC17 and MED17 families it’s emulated inside a data-flash area of the processor, so there’s no separate chip to clip onto.
That split is the reason a stock flash file from a catalogue can bring a unit back to life but won’t make it start the car on its own. The immobiliser pairing lives in the EEPROM area, not in the program or calibration.
Checksums and signatures
Each area of the flash is protected by checksums. Change one byte in a map without correcting the checksum and the ECU will usually refuse to run that block, stay in boot mode, or throw a fault. Tuning tools correct checksums for the ECUs they support when writing, and a proper file service will tell you whether a file has already been corrected. Later units add signature checks during programming, and manufacturer tuning protection on EDC17 and MED17 (often called TPROT) blocks OBD writes of modified files. Our guide to how TPROT tuning protection works on EDC17 and MED17 covers what that means for reading and writing.
The file types workshops actually buy
Here is what a workshop orders day to day, with the number of files we currently list in each category. The two big categories are there for a reason: most jobs start with getting the stock software right.
| File type | What it is | When a workshop needs it | In our catalogue | Category page |
|---|---|---|---|---|
| FRF / SGO | Manufacturer flash containers for VW group control units | Dealer-style software update or recovery with ODIS or a compatible tool, or extracting a clean stock calibration | 19,315 | FRF and SGO flash files |
| Original File | Unmodified stock read for a specific hardware and software combination | Recovering a failed flash, reversing a tune, a base file for calibration work, comparing against a suspect read | 11,571 | original ECU files |
| Immo Off | File with the immobiliser function disabled in the engine software | Replacement ECU or failed immobiliser system on a vehicle the customer owns | 1,479 | immo off files |
| Chip Tuning | Modified calibration for more power or torque, or better drivability | Performance work on a healthy engine, written over the matching stock software | 552 | chip tuning files |
| Virgin | Read reset to an unpaired state | Fitting a used ECU so it can be matched to another car’s immobiliser | 498 | virgin ECU files |
| Gearbox | TCU flash or dumps for automatic and dual-clutch boxes | Replacing or recovering a transmission control unit | 416 | gearbox and TCU files |
| EGR Off | Calibration with the EGR function and related faults removed | Off-road, export or motorsport vehicles only | 362 | EGR off files |
| Airbag | Airbag module dumps, including clean dumps after a crash record | Restoring an airbag unit after the deployed parts have been replaced | 351 | airbag module dumps |
| Immobilizer | Dumps from immobiliser boxes and key-related modules | Replacing a failed immobiliser unit or adding keys to an owned car | 229 | immobiliser dumps |
| DPF Off | Calibration with the particulate filter strategy removed | Off-road, export or motorsport vehicles only | 218 | DPF off files |
| Dashboard | Instrument cluster EEPROM and flash dumps | Replacing or repairing a cluster, with the recorded mileage carried over unchanged | 211 | dashboard dumps |
| EWS / CAS | BMW immobiliser (EWS) and car access system (CAS) module dumps | Replacing a CAS or EWS module, or key work on an owned car | 97 | EWS and CAS dumps |
| FRM | BMW footwell module dumps | Repairing an FRM whose memory was corrupted, often after low voltage | 80 | FRM module dumps |
A few things the table doesn’t show. The original, virgin and FRF files overlap in use but not in content: an original read keeps the donor car’s immobiliser data, a virgin read has it cleared, and an FRF has no car-specific data at all. If you’re unsure which one a job needs, our comparison of original, virgin and FRF files works through the usual cases.
Immo off is the one people ask about most on the phone. It’s a legitimate repair when the immobiliser system itself has failed or the ECU has been replaced on a car the customer owns, and it isn’t something we’ll help with on a vehicle whose ownership is unclear. There’s more detail in what an immo off file does and when it’s appropriate.
Formats: .bin, .ori, .frf, .sgo, .odx and hex
File extensions tell you less than you’d hope. Here’s what you’ll run into:
- .bin is a raw binary image, byte for byte what was in the memory. Most bench, boot and EEPROM reads end up as .bin. The file size should match the memory size of the chip or area that was read, which is a quick first check.
- .ori is simply a naming habit for “original”. It’s usually a .bin under another name. Don’t assume anything inside is stock just because of the extension.
- .frf is a VW group flash container used by ODIS and compatible tools. It’s compressed and encrypted, so you can’t open it in a hex editor, but several editors and tuning tools can extract the flash and calibration from it.
- .sgo is the older VW group container format from the VAS 5051 and 5052 era. Same idea, different packaging.
- .odx is an XML-based data format from the ASAM ODX standard. Newer dealer systems, including the VW group’s, use ODX containers for flash data.
- .hex and .s19 are text formats (Intel HEX and Motorola S-record) that describe the data line by line with addresses. You’ll see them with some programmers and manufacturer software. They convert to .bin without loss.
One trap: files saved by slave versions of tools such as KESS V2, KTAG or Flex are encrypted to the master account and won’t open anywhere else. If you’re sending a read to a service, say which tool and whether it’s a slave, or send the decrypted file.
How ECU files are read, and with what
How a file was read matters as much as where it came from. The same ECU can give you three different files depending on the method.
- OBD: through the diagnostic socket with the ECU in the car. Quick and no dismantling, but on many units it only reaches the calibration area, and a failed write over OBD is the most common cause of a bricked ECU.
- Bench: the ECU is removed, powered on the desk and connected through its own connector pins. On supported units a bench read gets the full flash and the EEPROM data without opening the case.
- Boot: the case is opened and the processor is put into its boot or bootstrap mode through test points on the board. This reaches areas that OBD and bench can’t, and it’s the usual way to recover a unit that no longer communicates.
- BDM and JTAG: debug interfaces used on older processor families, again with the case open.
- EEPROM programmer: the serial EEPROM is read directly with a clip or after desoldering. This is the normal method for clusters, airbag modules, immobiliser boxes and older engine ECUs.
Our walkthrough of OBD, bench and boot reading on EDC17 and MED17 goes through each method with the risks. If a write has already gone wrong, start with recovering a bricked ECU after a failed flash before ordering anything.
Files in our catalogue are tagged with the tool used to read them. The biggest groups are KESS V2 (3,646 files), Flex (2,419), PCM Flash (1,720), New Trasdata (1,180) and KTAG (531), followed by VVDI Prog (274), IO Terminal (179), Multi Prog (171) and X17 MagPro (112). Smaller numbers come from XProg, UPA-S, KT200, FoxFlash, Galletto, Autotuner and KESS3. A tag tells you how the file was produced, which helps when you want to write it back with the same tool and method. It doesn’t mean the file can’t be used with anything else, but a full raw read and a tool-specific partial read are not interchangeable.
The largest ECU families in our catalogue
The spread is heavily weighted towards VW group diesels and petrols, which matches what comes through most European workshops. VW accounts for 4,704 files across the two brand names in our catalogue, with Audi at 1,597, Fiat at 960 and Toyota at 891. These are the families with the most files:
| ECU family | Typical makes | Files | Family page |
|---|---|---|---|
| Bosch EDC17CP14 | VW, Audi | 1,150 | EDC17CP14 files |
| Denso | Toyota, Lexus, Mitsubishi, Nissan | 1,079 | Denso ECU files |
| Bosch EDC17C46 | VW, Skoda, Audi, SEAT | 712 | EDC17C46 files |
| Bosch EDC17CP20 | VW, Audi | 476 | EDC17CP20 files |
| Bosch MED17.5.5 | VW, Audi, SEAT | 363 | MED17.5.5 files |
| Bosch EDC16C39 | Fiat, Hyundai, Kia, Chevrolet, Alfa Romeo | 362 | EDC16C39 files |
| Bosch EDC17C64 | VW, Audi, Skoda, SEAT | 360 | EDC17C64 files |
| Bosch EDC16C34 | Peugeot, Citroen, Ford, Volvo | 307 | EDC16C34 files |
| Bosch EDC17C54 | VW | 293 | EDC17C54 files |
| Bosch EDC17CP44 | Audi, VW, Porsche | 258 | EDC17CP44 files |
| Bosch MED17.1 | VW, Audi | 249 | MED17.1 files |
| Bosch MD1CS003 | Peugeot, Citroen, Opel | 215 | MD1CS003 files |
| VW group DQ200 (TCU) | VW, Audi, Skoda, SEAT | 202 | DQ200 gearbox files |
Almost all of the EDC17 and MED17 files in these families are original reads. The older families look different: EDC16C39 has 115 immo off files next to its 196 originals, and EDC16C34 has 75 EGR off files, which reflects the age of those cars and the jobs they come in for. Other large groups that didn’t fit the table include MED17.5.21 (199 files), PCR2.1 (175), EDC15C7 (166), SID807EVO (142), SID208 (140) and EDC16CP31 (104).
Several of these families have their own guides with label examples and reading notes: the Bosch EDC17CP14 guide, EDC17C46 part numbers and reading, EDC17CP20 on VW and Audi, the EDC17C64 guide, MED17.5.5 petrol units, the DQ200 DSG TCU guide, EDC16C34 immo off and original files and MD1CS003 original files for PSA and Opel.
Identifying the exact file you need
A file that’s “for EDC17C46” is not a file for your EDC17C46. The family only tells you the platform. What decides the match is a set of numbers, and you need at least two of them to agree.
Numbers on the label
- Hardware number: on Bosch units a ten-digit number starting 0281 on most diesels and 0261 on most petrols. It identifies the physical unit. For example, hardware 0281035365 appears on 99 files in our catalogue, all MD1CS003, spread across Peugeot, Citroen and Opel models.
- Manufacturer part number: the car maker’s number, such as a VW group part number in the 03L906 or 04L906 style, a PSA number like 9663241480, or a Ford number like BK31-12A650-BB. The PSA number above covers 115 files in our catalogue on SID807EVO and SID807 units, and the Ford one covers 58 SID208 files, all Transit.
- Software number: on Bosch units usually a ten-digit number starting 1037. It’s sometimes printed on the label, but the label shows what was fitted at the factory, not what’s in the unit now if it has been updated.
Labels get scratched, re-stickered and swapped. Our guide on reading ECU label numbers shows where each number sits on Bosch, Siemens, Delphi and Denso units.
Numbers inside the software
The label can be wrong; the software can’t lie about itself. Connect a diagnostic tool (VCDS or ODIS on VW group, Diagbox on PSA, FORScan on Ford, Techstream on Toyota) or use your reading tool’s ID function, and note the software number and version as the ECU reports it. On VW group cars the part number plus its index and the software version (for example a four-digit number after the part number) is what an FRF or original file has to match.
VIN and engine code
The VIN and engine code confirm the car side of the match. Two cars with the same hardware can carry different software for different engine codes, gearboxes or emissions levels. In our catalogue the engine codes with the most files are CFFB (173), CAXA (128) and CAGA (117). A hundred-odd files for one engine code tells you on its own that the hardware number isn’t enough, so always give the engine code when you ask for a file.
Checking a file matches before you write it
- Read the unit first and save that read somewhere safe, even if it’s corrupted. It’s your way back and it’s the best evidence of what was there.
- Compare the hardware and software numbers in your read with the product listing. Open both files in a hex editor and search for the part number and software number strings; they’re usually stored as plain text.
- Check the file size matches your own read for the same area. A 2 MB file won’t go into a 4 MB flash, and a partial OBD read isn’t the same as a full bench read.
- Do a compare. Two files for the same software should be almost identical outside the calibration and the car-specific data. Large differences across the program area mean a different software version.
- Confirm the checksums are corrected, either by the service or by your tool on write.
- Write with a stable power supply, not a battery charger that ramps its voltage, and don’t write over OBD to an ECU with tuning protection active.
If the numbers don’t line up, stop. A near-match is where most bricked ECUs come from.
What an ECU file service does, and how to pick one
An ECU file service supplies files you can’t or don’t want to make yourself. That covers two kinds of work. One is a catalogue: stock reads, FRF containers and prepared files indexed by hardware, software and vehicle, downloaded straight away. The other is custom work: you send your read, the service modifies it (tuning, immo off, virgin reset, off-road DPF or EGR solutions) and sends it back with checksums corrected.
When you’re choosing one, a few questions sort the good from the risky:
- Do they list the hardware number, software number and reading tool for each file, or only a family name and a car?
- Are the originals real reads from cars, or files “matched” from a different software version?
- Will they tell you whether checksums are corrected and which tool the file suits?
- Do they ask for your own read before modifying anything? A service that sends a modified file without seeing your software is guessing.
- Are they clear about what they won’t do? Anyone offering mileage changes or road-use emissions deletes without comment is telling you how they treat everything else.
- What happens if a file doesn’t match? Ask before you buy.
You can search the catalogue side of our ECU file service by hardware number, software number, ECU family or vehicle, or start from the ECU files home page and filter by category.
Legal and safety limits
Workshops carry the responsibility for what goes back on the road, so these limits aren’t small print.
- Emissions equipment: removing or disabling a DPF, EGR system, AdBlue/SCR system or catalyst is not road-legal in the EU, the UK and many other countries. Those files are for off-road, export or motorsport vehicles only, and the vehicle will fail an emissions inspection if it’s tested.
- Immobiliser: immo off, virgin, EWS/CAS and key-related files are for vehicles the customer owns and can prove they own. Check the documents before you start.
- Mileage: dashboard and cluster files are for repair and replacement with the recorded mileage carried over as it was. We don’t supply files or advice to change a recorded mileage, and you shouldn’t take on a job that asks for it.
- Airbags: clearing crash data from an airbag module is only safe once every deployed part (airbags, pretensioners, and any sensors the maker requires) has been replaced.
- Mechanical faults: a file doesn’t fix hardware. A sticking EGR valve, a blocked DPF on a car that needs it, a failing turbo actuator or a worn injector will still be there after a write. Diagnose first.
Quick answers
Is an ECU file the same as an ECU dump?
Mostly, yes. “Dump” usually means a read taken from a specific unit, often including EEPROM data. “ECU file” is broader and also covers flash containers and modified files that were never read from a car.
Can I use an original file from another car with the same hardware number?
Only if the software number also matches, and even then the immobiliser data won’t. For a flash recovery with the same software, the program and calibration are what count. For the car to start, the EEPROM data has to be the car’s own or be matched to it.
What’s the difference between an FRF and a .bin?
An FRF is an encrypted manufacturer container meant for a dealer-style flash of the whole software. A .bin is a raw memory image. You can extract a .bin-style flash from an FRF, but an FRF never contains car-specific data.
Do I need the EEPROM as well as the flash?
For a straight software recovery on the same car, often not, because the EEPROM area is usually intact. For swapping in a used ECU, or when the EEPROM itself is corrupted, yes.
Will an immo off file work on any ECU with the same family name?
No. Immo off is done at software level, so it has to match your software number. Using one built for a different version is a common way to end up with a non-starting car and a unit in boot mode.
Can a new file cure limp mode or smoke?
Only if the cause is software. Limp mode from a boost leak or smoke from a leaking injector needs a repair. Read the fault codes and the live data before you reach for a file.
If your hardware and software combination isn’t listed, don’t settle for the nearest one. Send us the hardware number, the software number as the ECU reports it, the vehicle and engine code, the tool you’re using and a full read if you have one, through the file request form, and we’ll check it against what we hold.
More ECU guides
EDC16C7 and EDC16CP31 Immo Off / Virgin: Fiat, Alfa, PSA and Chrysler Diesel ECUs
Two Bosch diesel ECUs from the mid-2000s generate a steady stream of immobilizer requests: the EDC16C7 (Peugeot 307/407 2.0 HDi, Citroen C4/C5, Ford 2.0 TDCi shared…
Bosch EDC16C34 Immo Off and Original Files: Peugeot, Citroen, Ford, Volvo 1.6 HDi/TDCi
A Citroen Berlingo 1.6 HDi comes in on the back of a recovery truck. It cranks, it won't fire, and the owner eventually admits the engine…
Bosch EDC17C46 guide for VW Golf, Skoda Octavia, Audi A4 and SEAT Leon 2.0 TDI ECUs
The unit on the bench came out of a Passat. The Bosch label reads 0281017946, the VW part number is 03L906018PA, and the owner wants the…