BMW service procedure

Battery registration on a BMW.

Modern BMWs use an Intelligent Battery Sensor (IBS) and a power-management module that tracks battery age, capacity and state of charge. When you fit a new battery — even the same spec — you must register the replacement so the power management updates its ageing model. Without registration, the car over- or under-charges the new battery and shortens its life.

low riskUnverified routine IDsUpdated August 2026

What this procedure applies to

E60/E70/E90 with IBS, all F/G-series with IBS/IBO/BDC power management. The battery registration targets the DME (0x12) or, on some F/G-series, the BDC (0x60) body domain.

When to use it

Whenever you fit a new battery. Required even if you fit the exact same spec as the old one. Required even if the new battery is the same brand and capacity — the car wants the age counter reset, not just a fresh cell with the same aging profile.

Steps

  1. Connect Beemuu on the right cable.

    K+DCAN for E-series, ENET/DoIP for F/G-series. Use a battery maintainer; the car must stay awake for the routine.

  2. Select the battery registration routine.

    Beemuu’s Service Functions tab shows battery_reg. The routine targets the DME (or BDC on later F-series) and resets the battery-age counter, updates the capacity model, and clears the old cell’s history.

  3. Enter the new battery’s specs (if prompted).

    Some chassis want the new battery’s capacity (Ah) and type (AGM, EFB, flooded). Beemuu reads these from the routine’s parameters when the target module expects them.

  4. Confirm and execute.

    Beemuu shows the routine ID and parameter set; confirm and run.

  5. Verify the registration.

    Re-read the battery state. The age counter should be at its initial value, and the state-of-charge model should be reset.

Safety first

Battery registration is a write path. Do not skip the registration — an unregistered new battery will be charged as if it were the old (worn-out) one, leading to chronic undercharging. Use a battery maintainer; the car needs stable voltage while the routine runs.

Verification status

The battery registration routine IDs in service_functions.rs are unverified. Real-car validation is required before trusting them on a customer’s car. The simulator will accept any routine ID; production BMW modules expect specific IDs that the project does not have in-repo. Treat as a placeholder until docs/validation/service-functions.md has a real-car report.

CBS (Condition Based Service) — CBS reset on a BMW.

Valvetronic adaptation — Valvetronic adaptation reset.

Battery registration questions

Is the Battery registration 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?

E60/E70/E90 with IBS, all F/G-series with IBS/IBO/BDC power management. The battery registration targets the DME (0x12) or, on some F/G-series, the BDC (0x60) body domain.

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.

Connect and read first.

Service-reset procedures are a write path. Always read the relevant state before invoking a routine, and use a battery maintainer.

Download BeemuuService resets index

Last updated: 2026-08-02 ยท Beemuu contributors