What this procedure applies to
All E-series with DSC (E46, E90, E60, E70 etc.); all F/G-series. The DSC module address is 0x29.
When to use it
After an alignment, after suspension work (control arms, tie rods, wheel bearings), after a battery disconnect longer than ~10 minutes, after replacing the steering column or the DSC module, or any time the DSC warning light comes on with a steering-angle-sensor-related code.
Steps
- Centre the steering wheel.
Front wheels straight ahead, steering wheel perfectly level. This is the reference position the calibration zeroes against.
- Connect Beemuu and read the current SAS reading.
Before calibration, the sensor should report 0° ± 2° with the wheels straight. A larger offset means the sensor has drifted.
- Run the calibration routine.
Beemuu’s Service Functions tab targets the DSC module (0x29) with the calibration routine. The DSC module clears its current zero-point and stores the new reference.
- Verify.
Re-read the SAS reading. With wheels straight, it should report 0.0° ± 0.1°. Drive slowly in a circle; the reading should change smoothly without jumps.
Steering-angle calibration is a write path but a low-risk one — it does not actuate hardware. Use a battery maintainer; the routine takes a few seconds and the DSC module needs stable power.
Steering-angle calibration is on the known-missing list in docs/validation/service-functions.md per the v0.8.0 audit. The routine ID in service_functions.rs is a placeholder. Real chassis require a known-good routine ID that the project does not have in-repo. Treat as a placeholder; cross-check against ISTA on a non-critical car before relying on it.
Related procedures
CBS (Condition Based Service) — CBS reset on a BMW.
EGS (transmission) adaptation — EGS transmission adaptation reset.
Steering-angle sensor calibration questions
Is the Steering-angle sensor calibration routine ID verified?
No. The routine ID in the project is a placeholder per the v0.8.0 audit. Real BMW modules expect specific IDs that the project does not have in-repo.
What chassis does this apply to?
All E-series with DSC (E46, E90, E60, E70 etc.); all F/G-series. The DSC module address is 0x29.
Is this a write path?
Yes. Service functions write to the target ECU. Use a battery maintainer and follow the safety guidance in the procedure.
Can I trust the procedure without a real-car report?
No. The procedure describes the general shape; the routine ID itself needs to be verified against ISTA on a real chassis.