Hi everyone,
I'm currently working on remapping the ECU of a Citroen Berlingo 2010, 1.6 HDI 90hp (EDC16C34 - Bosch 0281013872 / PSA 9664843780 / SW 1039398221). Hardware: KESS V2 clone, K-TAG 7.02, Scanmatik 3 original, PCMflash original (EDC16C34 module not purchased yet).
The goal is modest, reliability-first torque/power gains for daily driving.
I've identified and verified most of the maps through direct binary reads of the file (not just an automated parser), but there are a few points I can't settle on my own. Full map list below, with specific open questions at the end where I'm looking for input or confirmation.
Any corrections, remarks, or experience from a similar ECU would be very welcome, thanks in advance!
=== HIGH CONFIDENCE ===
1C7F0C - SOI ("normal" variant) - 16x16
X: IQ mg/stroke (24.3-39.3) | Y: RPM (750-5300) | Out: deg x0.023437 signed (0.52 to 18.12)
Notes: no negative values at all, matches "normal SOI" hypothesis
1D37C0, 1D3A8C, 1D8FA0, 1D9208, 1D9490, 1D971A, 1D99C4, 1D9C6E, 1DA648, 1DA8B0, 1DAB38 - SOI (11 other variants) - 16x20 to 19x16
X: IQ mg/stroke (varies) | Y: RPM (varies, approx 750-5300) | Out: deg x0.023437 signed (-10.99 to +29.51 depending on variant)
Notes: groupings consistent with DPF regen / cold start hypotheses
1C61AC - EGR Hysteresis (1st table) - 12x1
X: IQ mg (0-3500) | Y: none (single axis) | Out: mg/s x1 (1700-2200)
1C61DE - EGR Hysteresis (2nd table) - 12x1
X: IQ mg (0-3500) | Y: none (single axis) | Out: mg/s x1 (1500-1900)
1F6936, 1F6B7A, 1F6DBE, 1F7002, 1F7696 - Rail Pressure (family) - 16x16
X: IQ mg/stroke x0.01 (0-42, varies) | Y: RPM (600/750/1800 to 3300/4500, varies) | Out: bar x0.1 (220-1644, varies)
Notes: suspected main/base/limp-derate groupings
1C14EA, 1C172E, 1C1972, 1C1D80, 1C1FC4 - Driver's Wish - 15x16 / 10x16
X: Pedal % x0.012207 (0-100%) | Y: RPM (varies) | Out: Nm x0.1 SIGNED - Group A: -1.0 to 302.5 / Group B: -0.5/-7.8 to 158.6/170.9
Notes: must be read signed. Two sub-families, likely different roles (see open questions)
1CE484 - Torque Limiter (main) - 24x1
X: RPM (0-5202) | Y: none | Out: Nm x0.1 (174-311, + 2 placeholder points 450/482 at RPM=0/600)
Notes: last 3 points (RPM>=5200) = 0 Nm, engine cutoff
1CFD92, 1CFFD6, 1D021A, 1D045E - IQ to Nm Conversion - 16x16
X: RPM (250-5000) | Y: Torque Nm (0-300) | Out: mg x0.01 - 0-70.24 (3 identical) / 0-111.57 (1D045E)
1E9BEE - Injection Duration CR - 24x16
X: IQ mg/stroke (0-125) | Y: Rail Pressure bar (119-1750) | Out: ms x0.001 (0-8.70)
1C2AFA - Turbo Boost (outlier variant) - 16x16
X: IQ mg/str (varies) | Y: RPM 750-5000 (shared) | Out: mBar x1 (320-2350)
Notes: differs from the other 5 by 30-34%
1EFEA0, 1F00E4, 1F0328, 1F056C, 1F07B0 - Turbo Boost (5 other variants) - 16x16
X: IQ mg/str (varies) | Y: RPM 750-5000 (shared) | Out: mBar x1 (991-2415, varies)
Notes: 1EFEA0 = 1F00E4 strictly identical
=== GOOD CONFIDENCE ===
1C9D16 - Map Sensor (sensor calibration) - 4x1
X: Voltage x5 mV (100-5115) | Y: none | Out: mbar (500-2500)
Notes: 2-point calibration line, not a real engine map
1FA4FC - Start IQ - 10x9
X: Temperature degC (-30 to 80) | Y: RPM (200-1200) | Out: Nm x0.1 (72-602)
Notes: cold-start torque limiter by temp/RPM
1C3A2C - N75 / VNT duty cycle (turbo) - 16x16
X: IQ mg/str x0.01 (0-33) | Y: RPM (1500-3004) | Out: % - see open question on factor
Notes: smooth progression with load and RPM
1DB394 - Fuel map - 16x16
X: IQ mg/stroke x0.01 (0-34) | Y: RPM (1700-3101) | Out: mg x0.01 (0-33.88)
1E3C98 - Smoke limiter - 16x16
X: IQ mg/str x0.01 (10-32.4) | Y: RPM (1700-3101) | Out: AFR x0.0145 (18.3-42.6)
Notes: equivalent to lambda x0.001 (1.263-2.941)
1CE7B4 - Oil temperature limiter - 11x5
X: RPM (1000-4200) | Y: oil temp degC (115-135) | Out: mg x0.01 (31-100)
1FA146 - IQ / barometric pressure limiter - 8x8
X: Temperature degC (-30 to 80) | Y: RPM (200-1200) | Out: mg x0.01 (27.5-58)
1F6140 - Torque Limiter (secondary) - 16x1
X: RPM (400-4000) | Y: none | Out: Nm x0.1 (57.3-245.8, approx 209-216 Nm at 2500-2750rpm)
Notes: distinct table from 1CE484, coexistence not yet confirmed (see open questions)
=== UNRESOLVED / DISCARDED ===
1E3144 - former N75 candidate - discarded (output 0-1.13%, inconsistent pattern)
1F753C - "rail pressure precontrol" hypothesis - role unclear, RPMxRPM axes atypical, not a priority
=== OPEN QUESTIONS - FEEDBACK WELCOME ===
1) Per-gear torque limiter (area near 1CE484, around 1CF4C0)
On related ECUs this function shows up as several short tables (one per engaged gear + reverse), but the exact layout (point count, spacing) seems to vary per file/SW. My attempt to segment this area didn't converge on a clean split. If anyone has already isolated this on a 90hp EDC16C34, keen to hear about it.
2) Other, still unidentified torque limiters?
Multiple torque limiters can coexist on this ECU type, sometimes deliberately set very high to be effectively disabled. Any other known addresses on this SW or a close one?
3) Exact factor for the N75/VNT duty cycle table (1C3A2C)
Two factor hypotheses still open: x0.01 (output 19-76%) or /81.92 (output 23.2-92.9%). Has anyone confirmed either one on this exact ECU?
4) Exact role of the two Driver's Wish groups (Group A up to 302.5 Nm / Group B up to 170.9 Nm)
Hypothesis: Group A = normal operation, Group B = reduced-demand mode (limp mode, different gear, or a specific drive mode). Exact nature not confirmed - any thoughts?
5) Interaction between the two confirmed torque limiters (1CE484 and 1F6140)
Both are real, distinct tables. Unclear which one is actually the binding constraint in normal driving, or whether both need to be raised together for a consistent gain.
6) Which Rail Pressure / SOI / Turbo Boost variant is actually active under real conditions?
Each function has several variants in memory (normal driving / DPF regen / limp mode), with no certainty on which is active at a given moment. Real-world logging experience would be very helpful.
Thanks in advance for any input!








