← Back

BMW 3 Series E46 1998–2006 (M54) → Speeduino Speeduino v0.4 (auto)

BMW 3 Series E46 1998–2006 (M54) — Speeduino — Speeduino
⚠ NOT CHECKED. Don't build from this.
Drawn by Michael Gnankou · Rev 0 · draft · 2026-10-11

Before you start

Not confident with automotive wiring? Have a professional harness builder or tuner do it, or check your work before first power-up. A wiring mistake can damage the ECU, the engine or the car, or start a fire.

Statusdraft · not yet verified: nobody has reported building and running this harness
Open errors9: read the Findings page before cutting any wire
Size of the job53 wires · 9 connectors · 1 part lines
ToolsCrimp and extraction tools for each terminal family (see Connectors) · wire strippers · multimeter · heat gun + heat-shrink
Order of work1. Check every part against the parts list. 2. Cut and label every wire (labels: Export → Wire labels). 3. Crimp and pin connector by connector, ticking the build checklist. 4. Run the bench test with nothing plugged in and the battery disconnected. 5. Only then connect the ECU and power up.

Build checklist

Tick each box as you go. Continuity: meter from end to end, expect under 1 Ω.

WireFromToGaugeColourCutLabelCrimp ACrimp BPin APin BContinuity
W1OEM-X60001-4SP-GND-10.85☐☐☐☐☐☐☐
W2OEM-X60001-5SP-GND-10.85☐☐☐☐☐☐☐
W3OEM-X60001-6SP-GND-10.85☐☐☐☐☐☐☐
W4OEM-X60005-5SP-GND-10.85☐☐☐☐☐☐☐
W5SP-GND-1SPEEDUINO-A-100.85☐☐☐☐☐☐☐
W6SP-GND-1SPEEDUINO-A-90.85☐☐☐☐☐☐☐
W7OEM-X60002-20SP-0V-10.5☐☐☐☐☐☐☐
W8OEM-X60002-21SP-0V-10.5☐☐☐☐☐☐☐
W9OEM-X60002-22SP-0V-10.5☐☐☐☐☐☐☐
W10OEM-X60002-24SP-0V-10.5☐☐☐☐☐☐☐
W11OEM-X60003-15SP-0V-10.5☐☐☐☐☐☐☐
W12OEM-X60003-17SP-0V-10.5☐☐☐☐☐☐☐
W13OEM-X60003-18SP-0V-10.5☐☐☐☐☐☐☐
W14OEM-X60003-20SP-0V-10.5☐☐☐☐☐☐☐
W15OEM-X60003-21SP-0V-10.5☐☐☐☐☐☐☐
W16OEM-X60003-23SP-0V-10.5☐☐☐☐☐☐☐
W17OEM-X60003-25SP-0V-10.5☐☐☐☐☐☐☐
W18OEM-X60003-28SP-0V-10.5☐☐☐☐☐☐☐
W19OEM-X60004-12SP-0V-10.5☐☐☐☐☐☐☐
W20OEM-X60004-7SP-0V-10.5☐☐☐☐☐☐☐
W21SP-0V-1SPEEDUINO-A-120.5☐☐☐☐☐☐☐
W22SP-0V-1SPEEDUINO-A-230.5☐☐☐☐☐☐☐
W23OEM-X60003-7SP-5V1-10.5☐☐☐☐☐☐☐
W24OEM-X60004-14SP-5V1-10.5☐☐☐☐☐☐☐
W25OEM-X60004-9SP-5V1-10.5☐☐☐☐☐☐☐
W26SP-5V1-1SPEEDUINO-A-130.5☐☐☐☐☐☐☐
W27OEM-X60003-8SPEEDUINO-A-250.5☐☐☐☐☐☐☐
W28OEM-X60003-2SPEEDUINO-A-240.5☐☐☐☐☐☐☐
W29OEM-X60003-5SPEEDUINO-A-260.5☐☐☐☐☐☐☐
W30OEM-X60005-3SPEEDUINO-A-70.5☐☐☐☐☐☐☐
W31OEM-X60005-2SPEEDUINO-A-340.5☐☐☐☐☐☐☐
W32OEM-X60005-1SPEEDUINO-A-330.5☐☐☐☐☐☐☐
W33OEM-X60005-9SPEEDUINO-A-80.5☐☐☐☐☐☐☐
W34OEM-X60003-33SPEEDUINO-A-10.5☐☐☐☐☐☐☐
W35OEM-X60003-34SPEEDUINO-A-20.5☐☐☐☐☐☐☐
W36OEM-X60003-35SPEEDUINO-A-30.5☐☐☐☐☐☐☐
W37OEM-X60003-36SPEEDUINO-A-50.5☐☐☐☐☐☐☐
W38OEM-X60003-37SPEEDUINO-A-10.5☐☐☐☐☐☐☐
W39OEM-X60003-38SPEEDUINO-A-20.5☐☐☐☐☐☐☐
W40OEM-X60003-43SPEEDUINO-A-310.5☐☐☐☐☐☐☐
W41OEM-X60003-44SPEEDUINO-A-320.5☐☐☐☐☐☐☐
W42OEM-X60003-46SPEEDUINO-A-290.5☐☐☐☐☐☐☐
W43OEM-X60003-47SPEEDUINO-A-300.5☐☐☐☐☐☐☐
W44OEM-X60001-1SPEEDUINO-A-160.5☐☐☐☐☐☐☐
W45OEM-X60002-23SPEEDUINO-A-150.5☐☐☐☐☐☐☐
W46OEM-X60004-10SPEEDUINO-A-360.5☐☐☐☐☐☐☐
W47OEM-X60002-1SPEEDUINO-A-350.5☐☐☐☐☐☐☐
W48OEM-X60002-13SPEEDUINO-A-370.5☐☐☐☐☐☐☐
W49OEM-X60002-19SPEEDUINO-A-380.5☐☐☐☐☐☐☐
W50OEM-X60003-19SPEEDUINO-A-220.5☐☐☐☐☐☐☐
W51OEM-X60002-14SPEEDUINO-A-210.5☐☐☐☐☐☐☐
W52OEM-X60003-24SPEEDUINO-A-190.5☐☐☐☐☐☐☐
W53OEM-X60003-22SPEEDUINO-A-200.5☐☐☐☐☐☐☐

Bench test (before first power-up)

Battery disconnected, ECU and every sensor unplugged. Meter on resistance. Each pair below must read open (OL): a reading means a pinched wire, a stray strand or a mis-pinned cavity. Then check continuity of every wire (last column of the build checklist).

#Probe AProbe BExpectWhyReading
1SPEEDUINO-A-10SPEEDUINO-A-13open (OL)power ground must not touch 5 V sensor reference
2SPEEDUINO-A-12SPEEDUINO-A-13open (OL)sensor ground must not touch 5 V sensor reference

If any reading doesn't match, stop and get help before powering up.

Revisions

RevLabelByDate
No revisions yet.

Schematic

OEM-X60001OEM-X60002OEM-X60003OEM-X60004OEM-X60005SP-0VSP-5V1SP-GNDSPEEDUINO-A

Connectors

OEM-X60001

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Injector/unloader relay control (terminal 15)—W44—0.5SPEEDUINO-A-16———
4Power ground—W1—0.85SP-GND-1———
5Power ground—W2—0.85SP-GND-1———
6Power ground—W3—0.85SP-GND-1———
7Battery constant (terminal 30)————————
8ECU main power (terminal 87 via main relay)————————
9Voltage supply (injector / fuse carrier)————————

OEM-X60002

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1O2 sensor heater, bank 1 pre-cat—W47—0.5SPEEDUINO-A-35———
13O2 sensor heater, bank 2 pre-cat—W48—0.5SPEEDUINO-A-37———
14O2 sensor signal, bank 1 pre-cat—W51—0.5SPEEDUINO-A-21———
15O2 sensor signal, bank 2 pre-cat————————
16O2 sensor signal, bank 1 post-cat————————
18O2 sensor signal, bank 2 post-cat————————
19O2 sensor heater, bank 2 post-cat—W49—0.5SPEEDUINO-A-38———
20O2 sensor ground, bank 1 pre-cat—W7—0.5SP-0V-1———
21O2 sensor ground, bank 2 pre-cat—W8—0.5SP-0V-1———
22O2 sensor ground, bank 1 post-cat—W9—0.5SP-0V-1———
23Main relay control—W45—0.5SPEEDUINO-A-15———
24O2 sensor ground, bank 2 post-cat—W10—0.5SP-0V-1———
7O2 sensor heater, bank 1 post-cat————————

OEM-X60003

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Mass air flow (MAF) signal————————
10Throttle position sensor 2————————
15Exhaust camshaft ground—W11—0.5SP-0V-1———
17MAF ground—W12—0.5SP-0V-1———
18Intake camshaft ground—W13—0.5SP-0V-1———
19Throttle position sensor 1—W50—0.5SPEEDUINO-A-22———
2Exhaust camshaft position—W28—0.5SPEEDUINO-A-24———
20Throttle ground—W14—0.5SP-0V-1———
21Crankshaft ground—W15—0.5SP-0V-1———
22Intake air temperature (IAT)—W53—0.5SPEEDUINO-A-20———
23IAT ground—W16—0.5SP-0V-1———
24Engine coolant temperature (ECT)—W52—0.5SPEEDUINO-A-19———
25ECT ground—W17—0.5SP-0V-1———
27Engine oil temperature————————
28Oil temperature ground—W18—0.5SP-0V-1———
29Knock sensor, cylinders 1-3 (A)————————
30Knock sensor, cylinders 1-3 (B)————————
31Knock sensor, cylinders 4-6 (A)————————
32Knock sensor, cylinders 4-6 (B)————————
33Injector cylinder 1—W34—0.5SPEEDUINO-A-1———
34Injector cylinder 2—W35—0.5SPEEDUINO-A-2———
35Injector cylinder 3—W36—0.5SPEEDUINO-A-3———
36Injector cylinder 4—W37—0.5SPEEDUINO-A-5———
37Injector cylinder 5—W38—0.5SPEEDUINO-A-1———
38Injector cylinder 6—W39—0.5SPEEDUINO-A-2———
40VANOS intake solenoid————————
41VANOS exhaust solenoid————————
42Evap purge valve————————
43Throttle motor drive 1 (H-bridge)—W40—0.5SPEEDUINO-A-31———
44Throttle motor drive 2 (H-bridge)—W41—0.5SPEEDUINO-A-32———
45Map-controlled thermostat————————
46Idle speed control, close—W42—0.5SPEEDUINO-A-29———
47Idle speed control, open—W43—0.5SPEEDUINO-A-30———
48Knock sensor shield————————
49DISA intake flap————————
5Intake camshaft position—W29—0.5SPEEDUINO-A-26———
7Throttle body +5V supply—W23—0.5SP-5V1-1———
8Crankshaft position—W27—0.5SPEEDUINO-A-25———

OEM-X60004

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
10Fuel pump relay control—W46—0.5SPEEDUINO-A-36———
12Pedal ground 2—W19—0.5SP-0V-1———
13Pedal position signal 2————————
14Pedal +5V supply 2—W24—0.5SP-5V1-1———
7Pedal ground 1—W20—0.5SP-0V-1———
8Pedal position signal 1————————
9Pedal +5V supply 1—W25—0.5SP-5V1-1———

OEM-X60005

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Ignition coil 3—W32—0.5SPEEDUINO-A-33———
2Ignition coil 2—W31—0.5SPEEDUINO-A-34———
3Ignition coil 1—W30—0.5SPEEDUINO-A-7———
5Ignition ground—W4—0.85SP-GND-1———
7Ignition coil 6————————
8Ignition coil 5————————
9Ignition coil 4—W33—0.5SPEEDUINO-A-8———

SP-0V

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W7—0.5OEM-X60002-20———
1——W8—0.5OEM-X60002-21———
1——W9—0.5OEM-X60002-22———
1——W10—0.5OEM-X60002-24———
1——W11—0.5OEM-X60003-15———
1——W12—0.5OEM-X60003-17———
1——W13—0.5OEM-X60003-18———
1——W14—0.5OEM-X60003-20———
1——W15—0.5OEM-X60003-21———
1——W16—0.5OEM-X60003-23———
1——W17—0.5OEM-X60003-25———
1——W18—0.5OEM-X60003-28———
1——W19—0.5OEM-X60004-12———
1——W20—0.5OEM-X60004-7———
1——W21—0.5SPEEDUINO-A-12———
1——W22—0.5SPEEDUINO-A-23———

SP-5V1

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W23—0.5OEM-X60003-7———
1——W24—0.5OEM-X60004-14———
1——W25—0.5OEM-X60004-9———
1——W26—0.5SPEEDUINO-A-13———

SP-GND

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W1—0.85OEM-X60001-4———
1——W2—0.85OEM-X60001-5———
1——W3—0.85OEM-X60001-6———
1——W4—0.85OEM-X60005-5———
1——W5—0.85SPEEDUINO-A-10———
1——W6—0.85SPEEDUINO-A-9———

SPEEDUINO-A

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Injector 1—W34—0.5OEM-X60003-33———
1Injector 1—W38—0.5OEM-X60003-37———
10Ground—W5—0.85SP-GND-1———
11MAP sensor (0-5V)————————
12Ground—W21—0.5SP-0V-1———
135V—W26—0.5SP-5V1-1———
14Proto area 1 (flex fuel)————————
15Proto area 2 (fan)—W45—0.5OEM-X60002-23———
16Proto area 3 (fuel pump)—W44—0.5OEM-X60001-1———
17Proto area 4 (tachometer)————————
18Proto area 5 (clutch)————————
19Coolant temp (CLT)—W52—0.5OEM-X60003-24———
2Injector 2—W35—0.5OEM-X60003-34———
2Injector 2—W39—0.5OEM-X60003-38———
20Inlet air temp (IAT)—W53—0.5OEM-X60003-22———
21O2 sensor—W51—0.5OEM-X60002-14———
22TPS input—W50—0.5OEM-X60003-19———
23Ground—W22—0.5SP-0V-1———
24Cam input / VR2+—W28—0.5OEM-X60003-2———
25Crank input / VR1+—W27—0.5OEM-X60003-8———
26VR2-—W29—0.5OEM-X60003-5———
27VR1-————————
285V————————
29Idle stepper 2B—W42—0.5OEM-X60003-46———
3Injector 3—W36—0.5OEM-X60003-35———
30Idle stepper 2A—W43—0.5OEM-X60003-47———
31Idle stepper 1A—W40—0.5OEM-X60003-43———
32Idle stepper 1B—W41—0.5OEM-X60003-44———
33Ignition 3—W32—0.5OEM-X60005-1———
34Ignition 2—W31—0.5OEM-X60005-2———
35Boost—W47—0.5OEM-X60002-1———
36Idle 2 (3-wire idle)—W46—0.5OEM-X60004-10———
37PWM idle—W48—0.5OEM-X60002-13———
38VVT—W49—0.5OEM-X60002-19———
5Injector 4—W37—0.5OEM-X60003-36———
7Ignition 1—W30—0.5OEM-X60005-3———
8Ignition 4—W33—0.5OEM-X60005-9———
9Ground—W6—0.85SP-GND-1———

Pin map

OEM pointOEM functionOEM familyTarget pointTarget functionTarget familyWire colourEvidence
OEM-X60001-1Injector/unloader relay control (terminal 15)low_side_outSPEEDUINO-A-16Proto area 3 (fuel pump)low_side_outcorroborated
OEM-X60001-4Power groundgroundSPEEDUINO-A-10 + SPEEDUINO-A-9Ground + Groundgroundcorroborated
OEM-X60001-5Power groundgroundSPEEDUINO-A-10 + SPEEDUINO-A-9Ground + Groundgroundcorroborated
OEM-X60001-6Power groundgroundSPEEDUINO-A-10 + SPEEDUINO-A-9Ground + Groundgroundcorroborated
OEM-X60001-7Battery constant (terminal 30)power_in———corroborated
OEM-X60001-8ECU main power (terminal 87 via main relay)power_in———corroborated
OEM-X60001-9Voltage supply (injector / fuse carrier)power_in———corroborated
OEM-X60002-1O2 sensor heater, bank 1 pre-catlow_side_outSPEEDUINO-A-35Boostlow_side_outcorroborated
OEM-X60002-13O2 sensor heater, bank 2 pre-catlow_side_outSPEEDUINO-A-37PWM idlelow_side_outcorroborated
OEM-X60002-14O2 sensor signal, bank 1 pre-catlambda_nb_inSPEEDUINO-A-21O2 sensorlambda_nb_incorroborated
OEM-X60002-15O2 sensor signal, bank 2 pre-catlambda_nb_in———corroborated
OEM-X60002-16O2 sensor signal, bank 1 post-catlambda_nb_in———corroborated
OEM-X60002-18O2 sensor signal, bank 2 post-catlambda_nb_in———corroborated
OEM-X60002-19O2 sensor heater, bank 2 post-catlow_side_outSPEEDUINO-A-38VVTlow_side_outcorroborated
OEM-X60002-20O2 sensor ground, bank 1 pre-catsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60002-21O2 sensor ground, bank 2 pre-catsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60002-22O2 sensor ground, bank 1 post-catsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60002-23Main relay controllow_side_outSPEEDUINO-A-15Proto area 2 (fan)low_side_outcorroborated
OEM-X60002-24O2 sensor ground, bank 2 post-catsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60002-7O2 sensor heater, bank 1 post-catlow_side_out———corroborated
OEM-X60003-1Mass air flow (MAF) signalanalog_in———corroborated
OEM-X60003-10Throttle position sensor 2analog_in———corroborated
OEM-X60003-15Exhaust camshaft groundsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60003-17MAF groundsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60003-18Intake camshaft groundsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60003-19Throttle position sensor 1analog_inSPEEDUINO-A-22TPS inputanalog_incorroborated
OEM-X60003-2Exhaust camshaft positiontrigger_inSPEEDUINO-A-24Cam input / VR2+trigger_incorroborated
OEM-X60003-20Throttle groundsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60003-21Crankshaft groundsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60003-22Intake air temperature (IAT)temp_inSPEEDUINO-A-20Inlet air temp (IAT)temp_incorroborated
OEM-X60003-23IAT groundsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60003-24Engine coolant temperature (ECT)temp_inSPEEDUINO-A-19Coolant temp (CLT)temp_incorroborated
OEM-X60003-25ECT groundsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60003-27Engine oil temperaturetemp_in———corroborated
OEM-X60003-28Oil temperature groundsensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60003-29Knock sensor, cylinders 1-3 (A)knock_in———corroborated
OEM-X60003-30Knock sensor, cylinders 1-3 (B)knock_in———corroborated
OEM-X60003-31Knock sensor, cylinders 4-6 (A)knock_in———corroborated
OEM-X60003-32Knock sensor, cylinders 4-6 (B)knock_in———corroborated
OEM-X60003-33Injector cylinder 1injector_outSPEEDUINO-A-1Injector 1injector_outcorroborated
OEM-X60003-34Injector cylinder 2injector_outSPEEDUINO-A-2Injector 2injector_outcorroborated
OEM-X60003-35Injector cylinder 3injector_outSPEEDUINO-A-3Injector 3injector_outcorroborated
OEM-X60003-36Injector cylinder 4injector_outSPEEDUINO-A-5Injector 4injector_outcorroborated
OEM-X60003-37Injector cylinder 5injector_outSPEEDUINO-A-1Injector 1injector_outcorroborated
OEM-X60003-38Injector cylinder 6injector_outSPEEDUINO-A-2Injector 2injector_outcorroborated
OEM-X60003-40VANOS intake solenoidlow_side_out———corroborated
OEM-X60003-41VANOS exhaust solenoidlow_side_out———corroborated
OEM-X60003-42Evap purge valvelow_side_out———corroborated
OEM-X60003-43Throttle motor drive 1 (H-bridge)hbridge_outSPEEDUINO-A-31Idle stepper 1Ahbridge_outcorroborated
OEM-X60003-44Throttle motor drive 2 (H-bridge)hbridge_outSPEEDUINO-A-32Idle stepper 1Bhbridge_outcorroborated
OEM-X60003-45Map-controlled thermostatlow_side_out———corroborated
OEM-X60003-46Idle speed control, closehbridge_outSPEEDUINO-A-29Idle stepper 2Bhbridge_outcorroborated
OEM-X60003-47Idle speed control, openhbridge_outSPEEDUINO-A-30Idle stepper 2Ahbridge_outcorroborated
OEM-X60003-48Knock sensor shieldshield———corroborated
OEM-X60003-49DISA intake flaplow_side_out———corroborated
OEM-X60003-5Intake camshaft positiontrigger_inSPEEDUINO-A-26VR2-trigger_incorroborated
OEM-X60003-7Throttle body +5V supplyvrefSPEEDUINO-A-135Vvrefcorroborated
OEM-X60003-8Crankshaft positiontrigger_inSPEEDUINO-A-25Crank input / VR1+trigger_incorroborated
OEM-X60004-10Fuel pump relay controllow_side_outSPEEDUINO-A-36Idle 2 (3-wire idle)low_side_outcorroborated
OEM-X60004-12Pedal ground 2sensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60004-13Pedal position signal 2analog_in———corroborated
OEM-X60004-14Pedal +5V supply 2vrefSPEEDUINO-A-135Vvrefcorroborated
OEM-X60004-7Pedal ground 1sensor_groundSPEEDUINO-A-12 + SPEEDUINO-A-23Ground + Groundsensor_groundcorroborated
OEM-X60004-8Pedal position signal 1analog_in———corroborated
OEM-X60004-9Pedal +5V supply 1vrefSPEEDUINO-A-135Vvrefcorroborated
OEM-X60005-1Ignition coil 3ignition_outSPEEDUINO-A-33Ignition 3ignition_outcorroborated
OEM-X60005-2Ignition coil 2ignition_outSPEEDUINO-A-34Ignition 2ignition_outcorroborated
OEM-X60005-3Ignition coil 1ignition_outSPEEDUINO-A-7Ignition 1ignition_outcorroborated
OEM-X60005-5Ignition groundgroundSPEEDUINO-A-10 + SPEEDUINO-A-9Ground + Groundgroundcorroborated
OEM-X60005-7Ignition coil 6ignition_out———corroborated
OEM-X60005-8Ignition coil 5ignition_out———corroborated
OEM-X60005-9Ignition coil 4ignition_outSPEEDUINO-A-8Ignition 4ignition_outcorroborated

Cut list

WireFromToGauge (mm²)ColourLengthSignalIdent
W1OEM-X60001-4SP-GND-10.85no routePower ground—
W2OEM-X60001-5SP-GND-10.85no routePower ground—
W3OEM-X60001-6SP-GND-10.85no routePower ground—
W4OEM-X60005-5SP-GND-10.85no routeIgnition ground—
W5SP-GND-1SPEEDUINO-A-100.85no routeGround—
W6SP-GND-1SPEEDUINO-A-90.85no routeGround—
W7OEM-X60002-20SP-0V-10.5no routeO2 sensor ground, bank 1 pre-cat—
W8OEM-X60002-21SP-0V-10.5no routeO2 sensor ground, bank 2 pre-cat—
W9OEM-X60002-22SP-0V-10.5no routeO2 sensor ground, bank 1 post-cat—
W10OEM-X60002-24SP-0V-10.5no routeO2 sensor ground, bank 2 post-cat—
W11OEM-X60003-15SP-0V-10.5no routeExhaust camshaft ground—
W12OEM-X60003-17SP-0V-10.5no routeMAF ground—
W13OEM-X60003-18SP-0V-10.5no routeIntake camshaft ground—
W14OEM-X60003-20SP-0V-10.5no routeThrottle ground—
W15OEM-X60003-21SP-0V-10.5no routeCrankshaft ground—
W16OEM-X60003-23SP-0V-10.5no routeIAT ground—
W17OEM-X60003-25SP-0V-10.5no routeECT ground—
W18OEM-X60003-28SP-0V-10.5no routeOil temperature ground—
W19OEM-X60004-12SP-0V-10.5no routePedal ground 2—
W20OEM-X60004-7SP-0V-10.5no routePedal ground 1—
W21SP-0V-1SPEEDUINO-A-120.5no routeGround—
W22SP-0V-1SPEEDUINO-A-230.5no routeGround—
W23OEM-X60003-7SP-5V1-10.5no routeThrottle body +5V supply—
W24OEM-X60004-14SP-5V1-10.5no routePedal +5V supply 2—
W25OEM-X60004-9SP-5V1-10.5no routePedal +5V supply 1—
W26SP-5V1-1SPEEDUINO-A-130.5no route5V—
W27OEM-X60003-8SPEEDUINO-A-250.5no routeCrankshaft position—
W28OEM-X60003-2SPEEDUINO-A-240.5no routeExhaust camshaft position—
W29OEM-X60003-5SPEEDUINO-A-260.5no routeIntake camshaft position—
W30OEM-X60005-3SPEEDUINO-A-70.5no routeIgnition coil 1—
W31OEM-X60005-2SPEEDUINO-A-340.5no routeIgnition coil 2—
W32OEM-X60005-1SPEEDUINO-A-330.5no routeIgnition coil 3—
W33OEM-X60005-9SPEEDUINO-A-80.5no routeIgnition coil 4—
W34OEM-X60003-33SPEEDUINO-A-10.5no routeInjector cylinder 1—
W35OEM-X60003-34SPEEDUINO-A-20.5no routeInjector cylinder 2—
W36OEM-X60003-35SPEEDUINO-A-30.5no routeInjector cylinder 3—
W37OEM-X60003-36SPEEDUINO-A-50.5no routeInjector cylinder 4—
W38OEM-X60003-37SPEEDUINO-A-10.5no routeInjector cylinder 5—
W39OEM-X60003-38SPEEDUINO-A-20.5no routeInjector cylinder 6—
W40OEM-X60003-43SPEEDUINO-A-310.5no routeThrottle motor drive 1 (H-bridge)—
W41OEM-X60003-44SPEEDUINO-A-320.5no routeThrottle motor drive 2 (H-bridge)—
W42OEM-X60003-46SPEEDUINO-A-290.5no routeIdle speed control, close—
W43OEM-X60003-47SPEEDUINO-A-300.5no routeIdle speed control, open—
W44OEM-X60001-1SPEEDUINO-A-160.5no routeInjector/unloader relay control (terminal 15)—
W45OEM-X60002-23SPEEDUINO-A-150.5no routeMain relay control—
W46OEM-X60004-10SPEEDUINO-A-360.5no routeFuel pump relay control—
W47OEM-X60002-1SPEEDUINO-A-350.5no routeO2 sensor heater, bank 1 pre-cat—
W48OEM-X60002-13SPEEDUINO-A-370.5no routeO2 sensor heater, bank 2 pre-cat—
W49OEM-X60002-19SPEEDUINO-A-380.5no routeO2 sensor heater, bank 2 post-cat—
W50OEM-X60003-19SPEEDUINO-A-220.5no routeThrottle position sensor 1—
W51OEM-X60002-14SPEEDUINO-A-210.5no routeO2 sensor signal, bank 1 pre-cat—
W52OEM-X60003-24SPEEDUINO-A-190.5no routeEngine coolant temperature (ECT)—
W53OEM-X60003-22SPEEDUINO-A-200.5no routeIntake air temperature (IAT)—

Bill of materials

CategoryPart numberManufacturerDescriptionQtyUnit
connectorBMW-E46-MS43-CONNBMWE46 DME (MS43) harness connector1.000ea

ECU setup sheet

RoleEngine refEngine signalSensorECU pointECU functionECU classSetup flag
No configured channels.

Findings

Open (12)

SeverityCodeSubjectMessage
errorNET_MERGEDOEM-X60003-33 + OEM-X60003-37 + SPEEDUINO-A-12 different OEM functions share one net: OEM-X60003-33 Injector cylinder 1; OEM-X60003-37 Injector cylinder 5
errorNET_MERGEDOEM-X60003-34 + OEM-X60003-38 + SPEEDUINO-A-22 different OEM functions share one net: OEM-X60003-34 Injector cylinder 2; OEM-X60003-38 Injector cylinder 6
errorREQUIRED_UNMAPPEDOEM-X60001-8Required OEM function "ECU main power (terminal 87 via main relay)" (power_in) is not connected to the new ECU.
errorREQUIRED_UNMAPPEDOEM-X60003-1Required OEM function "Mass air flow (MAF) signal" (analog_in) is not connected to the new ECU.
errorREQUIRED_UNMAPPEDOEM-X60003-10Required OEM function "Throttle position sensor 2" (analog_in) is not connected to the new ECU.
errorREQUIRED_UNMAPPEDOEM-X60004-13Required OEM function "Pedal position signal 2" (analog_in) is not connected to the new ECU.
errorREQUIRED_UNMAPPEDOEM-X60004-8Required OEM function "Pedal position signal 1" (analog_in) is not connected to the new ECU.
errorREQUIRED_UNMAPPEDOEM-X60005-7Required OEM function "Ignition coil 6" (ignition_out) is not connected to the new ECU.
errorREQUIRED_UNMAPPEDOEM-X60005-8Required OEM function "Ignition coil 5" (ignition_out) is not connected to the new ECU.
warnDBW_MOTOR_CURRENTSPEEDUINO-A-31Cannot confirm Speeduino can drive the throttle motor: neither the motor stall current (OEM-X60003-43) nor the peak rating of SPEEDUINO-A-31 "Idle stepper 1A" is known.
warnDBW_MOTOR_CURRENTSPEEDUINO-A-32Cannot confirm Speeduino can drive the throttle motor: neither the motor stall current (OEM-X60003-44) nor the peak rating of SPEEDUINO-A-32 "Idle stepper 1B" is known.
infoUNMAPPEDOEM16 optional OEM pins are not mapped: OEM-X60001-9 Voltage supply (injector / fuse carrier); OEM-X60002-15 O2 sensor signal, bank 2 pre-cat; OEM-X60002-16 O2 sensor signal, bank 1 post-cat; OEM-X60002-18 O2 sensor signal, bank 2 post-cat; OEM-X60002-7 O2 sensor heater, bank 1 post-cat; OEM-X60003-27 Engine oil temperature; OEM-X60003-29 Knock sensor, cylinders 1-3 (A); OEM-X60003-30 Knock sensor, cylinders 1-3 (B); OEM-X60003-31 Knock sensor, cylinders 4-6 (A); OEM-X60003-32 Knock sensor, cylinders 4-6 (B); OEM-X60003-40 VANOS intake solenoid; OEM-X60003-41 VANOS exhaust solenoid; OEM-X60003-42 Evap purge valve; OEM-X60003-45 Map-controlled thermostat; OEM-X60003-48 Knock sensor shield; OEM-X60003-49 DISA intake flap

Accepted (1)

CodeSubjectReasonBy
REQUIRED_UNMAPPEDOEM-X60001-7Battery-constant (memory) feed of the stock ECU: the new ECU has no such input, so it is not needed.mapping-proposal

Notes

Fit check: needs add-on. Resolve these before building: - No drive-by-wire; needs a cable-throttle conversion or an external DBW controller - Needs CAN (E46 K-bus/CAN); not documented for this ECU - No knock input; the stock knock sensor would be unused - Only 4 ignition outputs for 6 cylinders: wasted spark (pair coils per firing order) - Only 4 injector outputs for 6 injectors: batch / semi-sequential injection - This car has EWS 3.3 (rolling code) immobilizer; needs a delete/bypass Auto-mapped by auto_map() from the library pin data on 2026-10-11. Review every wire against both manuals before building. Open items: - Main-relay feed: no ecu_main_power pin on the stock or the new ECU - OEM-X60005 8: Ignition coil 5: no free ignition output on Speeduino Speeduino - OEM-X60005 7: Ignition coil 6: no free ignition output on Speeduino Speeduino - OEM-X60003 1: Mass air flow (MAF) signal: no free maf/analog_0_5 on Speeduino Speeduino - OEM-X60004 8: Pedal position signal 1: no free tps/analog_0_5 on Speeduino Speeduino - OEM-X60003 10: Throttle position sensor 2: no free tps/analog_0_5 on Speeduino Speeduino - OEM-X60004 13: Pedal position signal 2: no free tps/analog_0_5 on Speeduino Speeduino - OEM-X60001 8: ECU main power (terminal 87 via main relay): no rule for class ecu_main_power; wire by hand Not wired: - OEM-X60001 7: Battery constant (terminal 30): Speeduino Speeduino has no battery-constant input; not needed - OEM-X60003 29: Knock sensor, cylinders 1-3 (A): no free knock input on Speeduino Speeduino - OEM-X60003 30: Knock sensor, cylinders 1-3 (B): no free knock input on Speeduino Speeduino - OEM-X60003 31: Knock sensor, cylinders 4-6 (A): no free knock input on Speeduino Speeduino - OEM-X60003 32: Knock sensor, cylinders 4-6 (B): no free knock input on Speeduino Speeduino - OEM-X60003 48: Knock sensor shield: no shield pin on Speeduino Speeduino - OEM-X60002 7: O2 sensor heater, bank 1 post-cat: no free heater_low_side/low_side/ls_hs/hbridge on Speeduino Speeduino - OEM-X60003 40: VANOS intake solenoid: no free low_side/ls_hs/injector/hbridge on Speeduino Speeduino - OEM-X60003 41: VANOS exhaust solenoid: no free low_side/ls_hs/injector/hbridge on Speeduino Speeduino - OEM-X60003 42: Evap purge valve: no free low_side/ls_hs/injector/hbridge on Speeduino Speeduino - OEM-X60003 45: Map-controlled thermostat: no free low_side/ls_hs/injector/hbridge on Speeduino Speeduino - OEM-X60003 49: DISA intake flap: no free low_side/ls_hs/injector/hbridge on Speeduino Speeduino - OEM-X60002 15: O2 sensor signal, bank 2 pre-cat: no free o2_narrowband/analog_0_5 on Speeduino Speeduino - OEM-X60002 16: O2 sensor signal, bank 1 post-cat: no free o2_narrowband/analog_0_5 on Speeduino Speeduino - OEM-X60002 18: O2 sensor signal, bank 2 post-cat: no free o2_narrowband/analog_0_5 on Speeduino Speeduino - OEM-X60003 27: Engine oil temperature: no free thermistor/analog_0_5 on Speeduino Speeduino - OEM-X60001 9: Voltage supply (injector / fuse carrier): no rule for class switched_feed; wire by hand

Sources

ReliabilityKindTitleURLArchiveCapturedSHA-256
4vendor_docSpeeduino Manual (08/04/25) — V0.4 board IDC40 pinout & featureshttps://speeduino.com/Speeduino_manual.pdfarchive2026-10-0521806bd29ef0
2community_copyms4x.net: Siemens MS43 Pinouthttps://www.ms4x.net/index.php?title=Siemens_MS43_Pinout———
2community_copyrusefi wiki: 2002 BMW 325 / 2004 BMW 330Ci E46 DME pinout (M54/MS43)https://github.com/rusefi/rusefi/wiki/2002-BMW-325-and-2004-BMW-330Ci-E46-DME-pinout———