if you’ve ever stared at a BMW with one headlight or taillight dead because of a short circuit fault, you know the pain. Those little errors lock out the lamp completely until you clear the counter. And yeah, ISTA can do it… most of the time. But we’ve all hit those versions where the function just ghosts you or throws errors. That’s exactly why a bunch of us in the shop keep Tool32 handy.
I’ve been wrenching and coding BMWs for years – F10s, F30s, G20s, G05s, you name it – and this Tool32 method has saved me (and my customers) countless hours and dealer visits. It’s straightforward, works when ISTA doesn’t, and once you know the right jobs and codes, it’s almost too easy. Let’s walk through it like we’re standing next to the car together.
Why Tool32 Beats ISTA for Short Circuit Resets Sometimes
ISTA is great, don’t get me wrong. But BMW software updates love to break things quietly. In a few ISTA versions the “reset short circuit” function for exterior lights just doesn’t fire properly, especially on F-chassis and later cars with BDC, FEM, or the newer BCP modules.
Tool32 (part of the old EDIABAS/INPA suite that still works wonders) lets you talk straight to the control units and run the exact jobs. No fancy interface drama. Just load the right .PRG file, pick the job, enter the lamp code, and boom – counter resets and the light comes back.
This works on:
- F-series (F10, F20, F30, F15, etc.)
- G-series and later (G01, G05, G11, G20, G30…)
- Basically anything with BDC, FEM_20, BDC_G05, BDC_G11, or the new BCP from SP2021 onward
What You’ll Need Before You Start
- A decent K+DCAN or ENET cable (ENET preferred for newer cars)
- Tool32 installed and working with your EDIABAS setup
- Car on, ignition on (engine can be off)
- Battery maintainer if you’re going to be at it a while (these modules are picky)
- The correct .PRG files (they come with most solid BMW coding packs)
Safety first: Don’t play with lights while driving. Do this parked. And if there’s an actual wiring short still present, the counter will just climb again – fix the real problem first (chafed wires, water in connectors, bad bulbs/LEDs, aftermarket crap).
Step-by-Step: Resetting Short Circuits with Tool32
- Connect your cable and open Tool32.
- Load the right program for your car’s module.
- Select the job.
- Enter the argument (the hex code for the specific lamp or ALL).
- Execute and check status.
- Cycle ignition and test the light.
That’s the overview. Now the details that actually matter.
For Most F-Series and Early G: BDC.PRG or FEM_20.PRG
Job name: control_reset_shortcircuit_shutdown
(Sometimes shown as control_reset_shortcircuit)
Here’s the full list of arguments I use daily:
- 0x01 AL_L (Low beam left)
- 0x02 AL_R (Low beam right)
- 0x03 TFL_L (DRL left)
- 0x04 TFL_R (DRL right)
- 0x05 SML_L (Side marker left)
- 0x06 SML_R (Side marker right)
- 0x07 FL_L (High beam left)
- 0x08 FL_R (High beam right)
- 0x09 POL_L (Front turn left)
- 0x0A POL_R (Front turn right)
- 0x0B NSW_L (Fog left)
- 0x0C NSW_R (Fog right)
- 0x0D FRA_V_L (Front side marker/DRL combo left – varies)
- 0x0E FRA_V_R
- 0x10 FRA_Z_L
- 0x11 FRA_Z_R
- 0x12 BIX_L (Bi-xenon or similar)
- 0x13 BIX_R
- 0x14 SL_L (Tail light left)
- 0x15 SL_R
- 0x16 SL_2_L
- 0x17 SL_2_R
- 0x18 BL_L (Brake left)
- 0x19 BL_R
- 0x1A BFD_L
- 0x1B BFD_R
- 0x1C NSL_L (Rear fog left)
- 0x1D NSL_R
- 0x1E RFS_L (Reverse left)
- 0x1F RFS_R
- 0x20 FRA_H_L
- 0x21 FRA_H_R
- 0x22 KZL (License plate)
- 0x23 BL_M (Center brake)
- 0x26 WBL_LED
- 0x27 to 0x2F LCI_0 through LCI_8 (LCI specific lights)
- 0x30 TMS_LEUCHTRING_L (Kidney halo left etc.)
- 0x31 TMS_LEUCHTRING_R
- 0x32 TMS_SML_L
- 0x33 TMS_SML_R
- 0x34 TMS_DESIGN_L
- 0x35 TMS_DESIGN_R
- 0x40 PDC_LED
- 0x41 HDC_LED
- 0x42 SPECIAL_FUNCTION_1_LED
- 0xFE ALL ← This is your best friend when you just want everything cleared
- 0xFF INVALID
For FEM_20.PRG the list is almost identical but a bit shorter on some rear lamps – same job name.
Pro tip from the bay: Always try 0xFE ALL first. It clears every short-circuit counter in one go. Then test. If one light still acts up, hit the specific code.
For G05 and Similar: BDC_G05.PRG
Job: _steuern_licht_kurzschlusscounter_abs
Same style of codes, plus a few extras like LC_R0 to LC_R3. Again, 0xFE ALL_OUTPUTS is gold.
For G11 and Later Variants: BDC_G11.PRG
Job: _steuern_kurzschlusscounter_abs
Codes start from 0x00 not active, then the usual AL_L etc., and goes up to MSA_LED, SST_LED, with 0xFE ALL and 0xFF UNKNOWN.
Newest Stuff – Basis Central Platform SP2021 and Later: BCP_SP21.PRG
This one is still a bit fresh. The exact job name isn’t fully documented everywhere yet (it’s on my personal TODO to confirm the precise string in the latest packs), but the light channels are numbered differently – more descriptive:
1 Low beam left
2 Low beam right
3 High beam left
4 High beam right
5 Side marker left
… all the way through the complicated rear combined lamps, fog, reverse, license plate, secondary lights, etc., up to around 72, and 0xFF invalid.
When the job becomes fully mapped in the community packs, you’ll select the channel number the same way. Until then, many of us still fall back to the BDC-style jobs if the car allows dual addressing, or we use ISTA+ when it behaves.
Real-World Tips That Make This Actually Work
- After the reset, turn the ignition fully off for 30–60 seconds, then back on. Sometimes you need two cycles.
- Clear any related faults in the module afterward with Tool32 or ISTA.
- If the light is LED and aftermarket, the module might still see it as a short or open – coding the lamp type or load properly is the real fix.
- Water ingress in the headlight or rear lamp connectors is the #1 repeat offender I see. Resetting without drying and dielectric greasing just wastes time.
- On cars with adaptive LEDs or laser lights, double-check you grabbed the right channel – some share controllers.
I’ve used this exact process on everything from a 2012 F30 to a 2024 G05. Customer comes in with “passenger headlight out, dealer wants $800 to diagnose.” Ten minutes later the light is back and they’re smiling. That’s the kind of win that keeps a shop busy.
Common Mistakes to Avoid
Don’t just hammer ALL repeatedly if the short is still there – you’ll look silly when it comes back in two days.
Make sure you’re on the correct control unit (BDC vs FEM vs BCP). Loading the wrong .PRG does nothing.
Battery voltage below 12.4V? Stop and put a charger on. These modules hate low voltage during jobs.
Want to Get Really Good at This Stuff?
If you’re serious about BMW coding, programming, and retrofits (not just light resets), check out the advanced course over at Auto Code Works. It’s the one a lot of us pros actually recommend because it covers the real workflow, not just theory:
BMWAdvancedProgramming&RetrofitCourse
They go deep on Tool32, ISTA, E-Sys, module replacement, VO coding, the whole nine yards. Worth every bit if you want to stop guessing.