Quick facts
- Car: Mini One R50, 1.6 petrol, naturally aspirated, 90 hp.
- ECU: Siemens EMS2000.
- Processor: Infineon C167, with 512 KB of memory.
- Software we worked on: 740904003ELM4.
- Compared with: Mini Cooper R50, 115 hp, software 740902003EHC2.
- Factory rev limit: about 7,000 rpm.
- Checksum: yes, and we correct it on every file.
Starting from a raw read
A read from an ECU is just half a million numbers in a row. There are no labels and no table of contents. On the common Bosch ECUs, tuning software already knows where everything is. On the EMS2000 nobody had done that work properly, so we read the engine software itself and followed it to the tables it uses.
This ECU makes that harder than usual. It never points straight at its tables. It splits its memory into pages and looks things up page by page, so the tools that normally show which part of the program reads which table show nothing at all. Once we understood how it does that, every table could be found, and its size and axes could be confirmed from how the engine software actually uses it. Nothing was guessed from what merely looks like a map.
The result is a full definition: more than 60 tables and settings, and 36 axes, each named after what it does in the engine.
Checking every table against the code paid off. Several tables looked like one thing and turned out to be another. One looked like a rev limit per gear, but it was really one row of a larger table that has nothing to do with rpm. A tuning file built on a wrong label changes the wrong thing, and you only find out on the road.

The checksum
The EMS2000 keeps checking its own calibration in the background, so a single changed number without a corrected checksum is noticed. It turned out to be a standard, well-known type of checksum rather than a secret one, and we reproduce the factory value exactly on original files. Every file we make for this ECU leaves with its checksum corrected.
The 90 hp One and the 115 hp Cooper: same engine, different limits
The R50 was sold as the Mini One with 90 hp and as the Mini Cooper with 115 hp, both with a 1.6 petrol. You will often read online that the difference is only in the software. We checked, by comparing a factory One file with a factory Cooper file table by table. The two run different versions of the engine program, so their tables sit in slightly different places, and every pair was matched up and checked by its axes.
The tables that describe the engine itself are identical in both: the ignition maps, the torque model and the rev limit of about 7,000 rpm. The One has the Cooper's engine, held back in software. The difference is in three limits:
- How much air the engine may take in. Below about 3,500 rpm the two are the same, which is why their factory torque figures are close: 140 Nm for the One and 149 Nm for the Cooper. Above that the One's limit falls away while the Cooper's keeps rising, and by 6,500 rpm the Cooper is allowed about 60 percent more.
- Throttle opening at high rpm. In the first three gears the Cooper's software keeps letting more air past the throttle all the way to 6,500 rpm. The One's stops adding any from about 3,800 rpm.
- The accelerator pedal. Because the One's limit is so low, its pedal asks for full engine output at about a third of its travel at low rpm. The Cooper's pedal is progressive.
What Stage 1 changes on this engine
The Cooper comparison shows where the One is held back, and that is where Stage 1 starts: the limit on how much air the engine is allowed to take in, plus ignition timing. In broad terms:
- The air limit, which the factory software shapes by rpm, is opened up.
- Ignition timing is advanced only where it actually makes torque. Idle, cruise and the timing used when you lift off stay factory.
- The rev limit, about 7,000 rpm from the factory, is raised slightly.
- Throttle response is made more direct at low and high rpm.
- Knock control keeps full authority. If the engine sees knock, it pulls timing exactly as it did from the factory.

Pops and bangs you can switch off with the A/C button
Why a factory car does not pop: when you lift off at high rpm, the ECU cuts the fuel completely. No fuel means nothing to burn in the exhaust. On a factory One this cut is allowed above about 3,500 rpm.
The switch was already in the factory software. The EMS2000 has two versions of its table for when to cut fuel: one used when the A/C compressor is off and one used when it is on. We changed only the A/C-off version. With A/C off you get pops. Press the A/C button and the factory fuel cut is back from the next lift-off. Only calibration is changed, not the engine program itself.
It pops above 4,000 rpm, with the coolant at about 60 °C or warmer, and the A/C off. We tested the file on the road, and with the A/C on the pops stayed off.
The hidden part: a floor under the ignition timing
Pops need the timing pulled far back when you lift off, so that fuel burns in the exhaust instead of in the cylinder. The obvious way is to lower the main ignition table. On the EMS2000 that does almost nothing.
A second table sets the latest timing the ECU will ever allow, and from the factory that floor sits more than 20 degrees before top dead centre at high rpm, far above what pops need. So the ECU quietly ignores a lower value in the main table. We moved both tables together, and only in the lightest-load cells, which the engine only uses when you are off the throttle. Normal driving is untouched.
If you tune this ECU yourself and lowering the timing does not give you pops, look for the floor.
What to expect
- Below 4,000 rpm with the A/C off there are no pops, but there is a little less engine braking, because the fuel stays on.
- The pops work in every gear, and on free revs in neutral too.
- Pops with this much retard make the exhaust very hot. That is why we build them only on a file meant for motorsport.
A note on road use
A file without catalyst monitoring is not legal on public roads in Finland or in most of Europe, and pops and bangs can break noise rules too. These files are for motorsport and off-road use. Emissions solutions are not sold to private individuals in Finland, only to trade customers.
Got an EMS2000 Mini One?
Send us your read and we will calibrate it for your car. If you tune yourself, we can also make a map pack or an XDF definition for the EMS2000 on request.