If you’re converting a BMW M20 to MegaSquirt, one of the most important drivability upgrades is a true variable (“resistive”) throttle position sensor (TPS). The stock M20 TPS is usually a switch-style (idle/WOT contacts), which can’t provide a real throttle angle signal. This guide explains the TPS types, wiring pinouts, harness options, and the tuning steps that prevent the usual “my TPS is weird” headaches.
Quick Executive Summary
- Stock M20 TPS = usually a switch (idle/WOT), not a real throttle angle sensor.
- MegaSquirt expects a 3-wire potentiometer TPS: 5V Vref + sensor ground + signal.
- M50/E36 3-pin TPS is the common upgrade; you mount it with an adapter and either re-pin the connector or build an adapter harness.
- After wiring: verify 5V Vref, verify smooth signal sweep, then Calibrate TPS in TunerStudio (KOEO).
TPS Types: Switch vs Variable (“Resistive”)
“Resistive TPS” in this context means a potentiometer TPS (variable resistor). MegaSquirt supplies 5V and sensor ground, then reads the TPS signal voltage (0–5V) as throttle angle.
Wiring Pinouts (Stock M20 TPS vs M50 TPS vs MegaSquirt)
The stock M20 TPS is typically a switch, so its pins are “closed/idle,” ground, and “WOT.” The M50/E36 TPS is a potentiometer, so its pins are ground, signal, and 5V reference. MegaSquirt typically provides TPS signal input, TPS 5V reference (Vref), and sensor ground.
Harness Options: How to Wire It Without Regrets
There are two clean approaches: (1) re-pin your existing TPS connector so the three existing wires become ground / signal / 5V in the correct order for the M50 TPS, or (2) build a short reversible adapter harness that plugs into the factory harness on one side and the M50 TPS on the other.
Calibration + Tuning Steps (TPS Scaling, Idle, AE)
Do not tune around a bad TPS signal. First, verify wiring with a multimeter (5V Vref present, good sensor ground, smooth signal sweep), then calibrate TPS in TunerStudio with key on, engine off.
- Verify Vref: you should have ~5V between TPSVREF and sensor ground.
- Verify TPS sweep: signal voltage should change smoothly as you open the throttle.
- Calibrate TPS: Tools → Calibrate TPS → “Get Current” at closed throttle, then WOT, then Accept.
- If WOT count is lower than closed count: swap TPS ground and TPSVREF at the sensor/connector.
- Accel enrichment: start simple. Many setups use TPSdot or blended TPSdot/MAPdot for crisp throttle response.
- Idle control: configure your idle hardware correctly (M20 setups often require proper drivers/boards depending on valve type and ECU variant).
Pre‑Start Testing Checklist
- Battery charged, ECU power fused, fuel pump control verified.
- All sensors grounded to appropriate MegaSquirt sensor ground strategy.
- TPS: 5V Vref present, smooth signal sweep, calibrated in software.
- No sensor grounds accidentally tied to chassis ground (common issue on old harnesses).
- Datalog a short KOEO session: TPS stable, CLT/IAT sane, MAP sane.
Mermaid Flowchart (Wiring Steps)
If your theme doesn’t render Mermaid, paste this into any Mermaid editor to generate an image for the post.
flowchart TD
A[Confirm MS platform + harness type] --> B[Confirm stock TPS is switch-style]
B --> C[Install M50/E36 3-wire TPS using adapter]
C --> D{Harness approach}
D -->|Repin factory connector| E[Often swap pins 1 & 2, then map GND/SIG/VREF]
D -->|Build adapter harness| F[Use 3-pin Bosch connectors + correct pin mapping]
E --> G[Verify 5V Vref + smooth sweep]
F --> G
G --> H[Calibrate TPS (KOEO)]
H --> I[Tune AE + idle control + drivability]
Troubleshooting (Fast Answers)
- TPS reads backwards: swap TPSVREF and sensor ground at the TPS connector; re-calibrate TPS.
- TPS jumps/noise: fix sensor grounding strategy; don’t share sensor ground with noisy high-current grounds.
- Still on stock throttle switches: you’ll fight drivability tuning—move to a potentiometer TPS.
- No 5V Vref: unplug sensors and check for a short; verify Vref isn’t tied to ground or 12V.
Sources / Helpful Threads
(Most are English. Some forums may require login or javascript.)
- MS2 V3.0 Hardware Manual (TPS wiring + grounding)
- MS3X V3.0 Hardware Manual (TPS + sensor ground)
- Megasquirt-2 Setting Up (Calibrate TPS steps)
- R3VLimited: TPS plug wire change help (M5x pin mapping)
- MegaSquirtPNP: E30 variable TPS conversion pinout + calibration tips
- E30Zone Wiki: Megasquirting Your M20 (overview)