G-Chassis Developer Guide
The essential guide to diagnostics, programming, and coding for modern BMWs (G20, G80, etc.).
Critical Safety Warning
Modifying your vehicle's electronic systems involves significant risk.
- Stable Power is Mandatory: For any programming or flashing, a 50A+ voltage-stable power supply is non-negotiable.
- Irreversible Damage Risk: An interrupted flash can permanently "brick" essential control units (MGU, DME).
- Expert Mode Disclaimer: Standard coding is safe. Expert Mode (editing raw values) bypasses safety checks and is done at your own risk.
1. Connection & Hardware
Physical interfaces and software tools.
1. Connection & Hardware
Physical interfaces and software tools.
Mobile (BimmerCode/Link)
For light coding and battery reg.
- Recommended: MHD Universal (Black), UniCarScan.
- Avoid: Cheap ELM327 clones.
PC (ISTA+/E-Sys)
For heavy diagnostics and flashing.
- Cable: E-NET Cable (Ethernet to OBD).
- Software: BimmerUtility is recommended for FDL coding.
2. BimmerCode Library
Divided into Normal & Expert Modes.
2. BimmerCode Library
Divided into Normal & Expert Modes.
These features are available as simple toggles/menus in BimmerCode without entering Expert Mode.
BDC (Body Domain Controller)
| Feature | Details |
|---|---|
| 5-Blink Turn Signal | Increases one-touch signal from 3 to 5. |
| Window Roll-up Interruption | Allows window to keep closing even if door is opened. |
| Horn on Lock (Engine On) | Disables the double honk when locking with engine running. |
| Rear DRLs | Activates rear tail lights together with front DRLs. |
| Mirror Tilt in Reverse | Adjust percentage (default is 70%, change to 50% or less). |
| Boot Opening Delay | Set to 0.5s or 1s to prevent accidental opening. |
HU_MGU (Headunit)
| Feature | Details |
|---|---|
| Bowers & Wilkins Profile | Unlocks B&W sound settings (concert hall, etc.) for HK systems. |
| Legal Disclaimers | Disables startup safety warnings/camera warnings. |
| Video in Motion | Allows video playback while driving (requires restart). |
| M Startup Animation | Changes iDrive boot logo to M. |
| Tire Pressure & Temp | Displays tire temp alongside pressure. |
| Checkbox Front DRL | Adds option in iDrive to toggle front DRLs. |
Other Modules
- ACSM: Seatbelt Chimes Disable Driver/Passenger chimes independently.
- HKFM: Tailgate Close Enable closing with Key Fob & Interior Button without long press.
- DME: A/C Memory Remember last A/C setting (Off/On) after restart.
- DKOMBI: Alpina Layout Change cluster to Alpina blue theme.
3. BimmerUtility (Engineering)
Capabilities beyond BimmerCode.
3. BimmerUtility (Engineering)
Capabilities beyond BimmerCode.
BimmerUtility is a professional-grade tool that replaces E-Sys Launchers. It allows access to modules that are locked or invisible in BimmerCode.
Exclusive Capabilities
- ● SAS3 Module Access: Required for coding Lane Change Assistant and other ADAS features (BimmerCode cannot access this).
- ● VO Coding (FA Editor): Easily add/remove option codes (e.g., 2TB Sport Trans, 5DN Parking Plus) and code the whole car to match.
- ● CAFD Compare: Compare your coding files against stock or other cars to find differences.
Top BimmerUtility Codes
- Enable Lane Change Assist: Requires coding HU_MGU, BDC, and SAS3.
- Anti-Dazzle High Beams (US): Requires VO Coding to remove "5AP" (Decoding Anti-Dazzle) and then FDL coding KAFAS/FLM modules.
- Variable Light Distribution: Requires VO coding to remove "8S4".
EGS (Transmission) - Sport Auto (2TB) VO Coding Guide
1. Difference vs. Standard (205)
Option 2TB provides noticeably snappier shifts in Sport/Sport+ modes and holds gears longer. Shifts feel firmer (less torque smoothing).
2. Are Paddle Shifters Required?
No. You can code 2TB without paddles. The transmission will behave aggressively as intended. (Note: A harmless "missing paddles" shadow error may appear in diagnostics, but it does not affect functionality).
3. How to Activate Launch Control
Coding 2TB automatically enables Launch Control logic in the EGS.
- Drive 10km to warm up engine/transmission.
- Select Sport+ (or DTC/Traction mode).
- Move shifter left to S/M gate.
- Press Brake hard with left foot.
- Floor Gas past the resistance point (kickdown). "Launch Control Active" flag appears on dash.
- Release Brake within 3 seconds.
Step-by-Step Coding (BimmerUtility):
- Connect BimmerUtility and go to Vehicle Order (FA).
- In the "SALAPA-Elements" list, type
2TBand click Add. - Click Save to update the FA.
- Go to the Coding (ECU List) tab.
- Right-click the EGS (Transmission) module and select Code (This VO Codes the module).
- (Optional) Code BDC and DKOMBI if you want Sport+ menu items to appear correctly.
4. E-Sys Coding (Advanced Flashing)
Firmware Flashing & Updates.
4. E-Sys Coding (Advanced Flashing)
Firmware Flashing & Updates.
High Risk Procedure
This process involves flashing firmware to the transmission ECU. A voltage drop WILL brick the module. A 50A+ Power Supply Unit (PSU) connected to the battery is mandatory. Do not use a battery charger.
Project A: Enable ALPINA Transmission Software
Compatible with F/G-Series BMWs using ZF 8HP transmissions (typically 3.0L+ engines). This flash replaces the standard BMW shift logic with ALPINA's mapped logic, offering buttery smooth shifts in Comfort (displaying gear numbers D1, D2) and rapid, torque-heavy shifts in Sport.
1. Preparation & Requirements
- Power Supply: You must maintain 13.0V+. If voltage drops during the bootloader erase phase, the ECU will remain in a boot loop (bricked).
- Software: E-Sys (e.g., 3.27 or 3.30+) with Full PSdZData. The "Full" version contains the actual firmware files (swe, swfl) needed for flashing. "Lite" only contains coding data.
- Connection: Ensure a stable ENET connection. Disable laptop sleep/screensaver.
2. Edit Vehicle Order (FA) - The "Spoof"
To get E-Sys to calculate the ALPINA firmware, we must temporarily trick the software into thinking your car is an ALPINA model.
- Go to Expert Mode > Coding. Read your FA (Vehicle Order) and Save it as
ALPINA_FA.xml. - Open Editors > FA Editor and load your new file.
- Add Option Codes: Navigate to
SALAPA-Element. Add:920(Alpina without label)9XA(Alpina package)
- Change Type Code (Typschlüssel): This is the most critical step. You must change your chassis code to the ALPINA equivalent.
Examples (Verify on forums for your specific engine):
- G30 530d (JC91) → JD11 (Alpina D5 S)
- F10 535d (5D51) → 5E51
- F30 335d → Research "Alpina D3 Biturbo" type code.
- Time Criteria (Zeitkriterium): If your car is older than the first ALPINA of that model, update the date (e.g., from 0711 to 1211) so the software exists.
- Right-click FA → Calculate FP. If it calculates without error, the Type Code is valid. Save.
3. Calculate Firmware (TAL)
We now ask E-Sys: "If this car were an ALPINA (based on the FA we just made), what software should it have?"
- Go to Comfort Mode > TAL Calculating.
- Load your modified
ALPINA_FA.xml. - Read SVT (This reads the current state of your ECUs).
- SVT Target: Select "Complete Flash".
- I-Step (Shipm.): Select the I-Level matching your car's production date.
- I-Step (Target): Select the latest available version in your PSdZData.
- Click Calculate.
- Verify the Result: Look at the EGS (Transmission) folder in the generated tree. It should show blue/red changes indicating a new firmware file (SWFL) is planned. Common ALPINA SWFL IDs:
47DA(G-Series),1367(F-Series). - Save the generated
SVT_soll(Target) andTAL(Transaction Action List) files.
4. Flash Process (Critical Execution)
This is where we write the data. One mistake here can brick other modules.
- Go to Expert Mode > TAL Processing.
- Load your
TAL,SVT_soll, and the modifiedALPINA_FA. - UNCHECK EVERYTHING: The list will show all ECUs. You MUST uncheck every single box (blFlash, swDeploy, etc.) for every ECU EXCEPT the EGS.
Reason: If you leave the DME (Engine) checked, E-Sys will try to flash ALPINA engine software onto your standard engine, which will fail and brick the DME. - Select EGS Only: For the EGS row, check:
- blFlash (Bootloader)
- swDeploy (Software)
- cdDeploy (Coding Data)
- ibaDeploy (Manuals)
- Click Check Software Availability. It ensures the files exist in your library.
- Start: Press Start. The transmission will disconnect, gears will vanish from dash. Process takes ~2 minutes. Success message will appear.
5. Verification & Cleanup
- Hard Reset: Disconnect E-Sys. Turn off ignition. Lock car. Wait 5-10 minutes for the car to sleep (modules reboot).
- Verify: Start engine. In Comfort Mode, the cluster should display D1, D2, D3 instead of just "D".
- Clear Errors: Your car will likely have "Drivetrain Malfunction" errors initially due to lost communication during flash. Use ISTA+ or BimmerLink to clear all error codes.
- Enjoy: Test drive to adapt the new shift points.
Project B: Full I-Step Software Update
Updating the entire vehicle's firmware to the latest version (I-Level). Fixes bugs, improves logic.
Pre-Flash Checklist
- Power: Connect 50A+ PSU. Open hood (diagnostic mode) and trunk (battery access).
- Software: Use plain E-Sys (e.g., 3.36) without launchers. Full PSdZData required.
- Test: Code a safe ECU (e.g., Climate) first to verify stable connection.
1. Calculate Targets (Comfort Mode)
- Read FA (Vehicle Order) & SVT Actual (Current ECUs). Save both.
- Go to TAL Calculating. Load FA & SVT Actual.
- Set Calculation Strategy: Complete Flash.
- Select I-Step (Shipm.) (Auto-detected) and I-Step (Target) (Newest available).
- Click Calculate. Save
SVT_soll(Target) andTAL(Transaction List). - Review: Check SVT tree. Black HW (Hardware) = Good. Blue/Red HW = Mismatch (Stop!).
2. Execute Flash (Expert Mode)
- Go to TAL Processing. Load TAL, SVT Target, and FA.
- Parameters: Check
blFlash,swDeploy,cdDeploy,ibaDeploy. LeaveParallel ProgrammingON. - Start: Press Start. The process can take 60-90 minutes.
3. Post-Flash
- Update VCM: Go to VCM > Master. Write the new I-Step to the car.
- Clear Errors: Use external transmitter or ISTA+ to clear the hundreds of temporary errors generated.
- Lock Airbags: If ACSM was flashed, use ISTA+ Service Functions to lock airbags.
5. Service History & Maintenance
Digital Service Records (iDrive).
5. Service History & Maintenance
Digital Service Records (iDrive).
If you perform your own maintenance, you can write the digital records to the iDrive screen using third-party tools.
Tools Required
- Hardware: ENET Cable.
- Software: HU Service Manager (older) or Service History Manager (SHM) (Preferred/Easier).
- Dependencies: Ediabas must be installed. Use "EasyConnect" tool to lock ENET IP.
Important Note
These records are stored locally in the Headunit. They are NOT uploaded to BMW's central servers. If a dealer updates your software or connects their tools, these local records may be overwritten by the official server data.
Procedure (Using SHM)
- Connect: Plug in ENET cable. Use "EasyConnect" to set Mode to ENET and Lock IP.
- Launch: Open Service History Manager (SHM).
- Read (Optional): If you have the Pro version, click "Read from Car". Otherwise, take a photo of your existing history screen as a backup.
- Add Entry: Click "Add".
- Date: Select service date.
- Mileage: Enter km at time of service.
- Dealer: Enter a code or text (e.g., "007" or "DIY").
- Job: Check boxes for Oil, Microfilter, Brake Fluid, etc.
- Write: Click "Write to Car". The Headunit will restart automatically.
- Verify: Check iDrive > Vehicle Status > Service Requirements > Service History.
6. Diagnostics (ISTA+)
Dealer-level troubleshooting.
6. Diagnostics (ISTA+)
Dealer-level troubleshooting.
ISTA+ is BMW's official diagnostic software. It doesn't just read codes; it tells you how to fix them.
Correct Workflow:
- Connect via E-NET and run "Complete Identification".
- Go to "Fault Memory", select a fault, and click "Calculate Test Plan".
- Follow the ABL (Procedure) step-by-step.