Engine profile

N20 / N26 (modular 4-cyl).

First BMW modular 4-cylinder turbo. Replaced by the B48 in 2015; still very common on used-car lots.

F-series 2.0L turbo I4, 2011–2016UDS over DoIP14/22 params verifiedIndependent profile

Overview

First BMW modular 4-cylinder turbo. Replaced by the B48 in 2015; still very common on used-car lots.

Engine familyN20 / N26 (modular 4-cyl)
EraF-series 2.0L turbo I4, 2011–2016
Diagnostic protocolUDS over DoIP
Verification63% of 22 params

Common models

F20 125i; F22 228i; F30 328i; F32 428i; F10 528i; F25 X3 28i; F26 X4 28i; F48 X1 28i.

Supported live-data parameters

Beemuu’s N20 profile reads 22 parameters from the engine control module. 14 are marked verified — sourced from the OBDb DID database and confirmed against the project’s own OBDb-verified community data set. The remaining parameters are seeded from standard OBD-II PIDs or marked as BMW-specific but pending real-car verification.

Each parameter has a query path (either an OBD-II PID like obd:0C or a BMW-specific identifier) and a decoder (how raw bytes are converted to engineering units). The full schema is documented in docs/DECODE_FUNCTIONS.md.

Parameter IDLabelUnitQuery pathDecoderStatus
rpmEngine speedrpmobd:0Cu16_quarter✓ verified
coolantCoolant temp°Cobd:05temp_u8✓ verified
iatIntake air temp (post-IC)°Cobd:0Ftemp_u8✓ verified
mapManifold pressure (abs)kPaobd:0Bu8✓ verified
baroBarometric pressurekPaobd:33u8✓ verified
loadEngine load%obd:04percent_a✓ verified
throttleThrottle position%obd:11percent_a✓ verified
speedVehicle speedkm/hobd:0Du8✓ verified
voltModule voltageVobd:42u16_milli✓ verified
ambientAmbient temp°Cobd:46temp_u8✓ verified
battery_vBattery voltage (DME) [needs verification]Vdid:4002u16_tenths⚠ unverified
hpfp_railHPFP rail pressure [needs verification]MPadid:44F0u16_tenths⚠ unverified
boost_cmdBoost command (relative) [needs verification]kPadid:4367u16_tenths⚠ unverified
mafMass air flow [needs verification]kg/hdid:4077u16_div100⚠ unverified
ambient_presAmbient pressure (DME) [needs verification]kPadid:4003u16_div100⚠ unverified
dme_tempDME temperature (signed, 0.25C resolution) [needs verification]Cdid:4001s16_div4⚠ unverified
eng_torqueEngine torque (signed) [needs verification]Nmdid:4500s16_div100⚠ unverified
lambda_1Lambda bank 1 [needs verification]did:400Bu8_div100⚠ unverified
inj_timeInjection time (per cylinder) [needs verification, UDS only]msdid:4363u8_div100✓ verified
gearGear position (EGS) [needs verification, UDS only]did:DA0Au8_enum✓ verified
engine_stateEngine state (DME) [needs verification, UDS only]did:4004u8_enum✓ verified
knock_detectKnock detection (DME) [needs verification, UDS only]did:401Fu8_enum✓ verified

Common N20 faults worth scanning for

Timing-chain stretch on higher-mileage cars (an N20 with a stretched chain throws cam-timing codes before anything else fails); high-pressure fuel-pump failures on early production; valve-cover gasket oil leaks.

For BMW-specific fault codes that come up on the N20, see the DTC index — particularly the fuel-pressure, VANOS and boost-pressure families. The project’s community opinions have per-code repair paths contributed by owners and indie technicians.

N20 questions

What is the N20 engine?

First BMW modular 4-cylinder turbo. Replaced by the B48 in 2015; still very common on used-car lots.

How do I connect Beemuu to a N20 car?

UDS over DoIP is the standard. E-series N20 uses KWP2000 over K+DCAN; F/G-series N20 uses UDS over DoIP via an ENET cable.

What live-data parameters does Beemuu read?

22 parameters; 14 verified, the rest seeded and pending real-car validation.

What should I check first?

Timing-chain stretch on higher-mileage cars (an N20 with a stretched chain throws cam-timing codes before anything else fails); high-pressure fuel-pump failures on early production; valve-cover gasket oil leaks.

Read the engine in front of you.

Beemuu reads the N20 over K+DCAN or ENET/DoIP and renders live data the way the engine actually behaves.

Download BeemuuAll engines

Last updated: 2026-08-02 · Beemuu contributors