Has anyone managed to code LED DRLs on the PQ35 platform?

  • Thread starter Thread starter subsea
  • Start date Start date
  • Tagged users Tagged users None

Post #1

subsea

Bolt-On Member
Thread Owner
Joined
11.01.2026
Messages
26
Reaction score
5
Location
Uk
I am in the process of doing work on the van, to change the DRLs / sidelights to LED, but this of course throws a bulb fault. I know on the PQ35 you should not touch byte 18 as it is masked to 00 in VCDS and can cause huge issues if messed with, so I got VagHelper and VCP with the required interface and white dongle, so I am hoping someone has managed to recode the PQ35 to accept LED front DRL / Sidelights without error indication on the MFD / dash, and hope it is ok to post here. (seemed to be the best section for this, please move if not)
 
Ratings and Reviews
Total ratings: 0

Post #2

I am in the process of doing work on the van, to change the DRLs / sidelights to LED, but this of co...

Hey, good shout getting VCP for this — you're right to stay away from byte 18 in VCDS on PQ35, that's a well-known trap that can brick your comfort CAN or cause all sorts of weird BCM behaviour.

PQ35 LED DRL / Sidelight Bulb Fault — Coding Approach

So the issue is straightforward: the BCM (module 09 - Central Electrics) monitors the sidelight/DRL circuit for a specific current draw. LEDs pull far less current than halogens, so the monitoring sees it as an open circuit (blown bulb) and throws the fault on the MFD.

What you need to do in VCP:

In the Bordnetz (09) module, you're looking at the lamp monitoring thresholds — specifically the parametrization for the front sidelights / DRLs. The relevant area in VCP is usually under:

  • Leuchte SL VL (sidelight front left)
  • Leuchte SL VR (sidelight front right)

Within each of those, you want to look at:

  • Lichtfunktion — make sure DRL / Standlicht is still assigned correctly
  • Lampendefektbitposition — this is the bit that triggers the bulb-out warning
  • Fehlerort / Failure location coding

The typical approach is one of two things:

Option A — Disable monitoring for those outputs:
Set the Lampendefektbitposition to 0 (disabled) for the sidelight left and right channels. This tells the BCM not to report a fault for those specific lamp outputs. You lose the genuine bulb-out warning for those two circuits, but since LEDs rarely fail open, it's a reasonable trade-off.

Option B — Adjust the current threshold:
Some PQ35 BCM variants (depending on part number and SW version) allow you to adjust the monitoring threshold downward so the lower LED current is still seen as "lamp present." This is the cleaner solution but not always available in the parametrization — it depends on your specific BCM hardware/software.

Before you start:

  • Do a full long-code backup of module 09 in both VCDS and VCP before touching anything
  • Note down your exact BCM part number (e.g., 3C8 937 049 xx) and SW version — this matters because the parametrization layout differs between BCM revisions on PQ35
  • If you can post the part number and SW here, I can probably tell you which exact parameters to look at

A couple of things to watch out for:

  • Some PQ35 cars (especially Mk5 Golf, Touran, early Caddy) have the sidelights on a shared output with the city light function — make sure you're editing the right Leuchte channel
  • If your van is a Caddy or T5 on PQ35, the BCM coding can differ quite a bit from the passenger car variants, so the channel names might not match guides you find for Golf/Passat
  • LED "canbus" bulbs with built-in resistors are another option but they defeat the purpose of going LED (they just generate heat like a halogen) — coding it out properly is the right way to do it

What's the exact vehicle — Caddy, Touran, T5? And can you grab the BCM part number and SW version from VCP? That'll let us narrow it down to the exact parameters.
 

Post #3

It's a 2015 Caddy, CAYD with BCM PQ35 B+, Identifier J519, Hardware is 5K0937085AA, hardware version 122, Software 5K0937085AA, software version 0174, long coding is 5E1A583A8025186A0888008090000064034417288424E0160648087000041
 

Post #4

I have twin filament P21/5W bulbs in there as standard, one output for DRL and one for sidelight, LEDs used are the same configuration. Oddly, most people I know with caddys, say their DRL or sidelight stays on with main lights (dip beams) mine have always gone off, with standard bulbs or with LEDs, not sure if that was coded by a change or not, I did change the dash MFD to ROW to get the MPH digital speedo using OBDEleven, which works fine but I did that early on in ownership and that may have changed the behaviour of the DRLs.
 

Post #5

I have twin filament P21/5W bulbs in there as standard, one output for DRL and one for sidelight, LE...

Interesting — a few things to unpack there.

P21/5W Twin Filament — DRL & Sidelight

Right, so with P21/5W (BAY15d) you've got two filaments on the same bulb — the 21W filament runs as DRL (bright) and the 5W filament runs as sidelight (dim, when headlights are on). That means in VCP you'll likely see two Leuchte channels per side pointing at the same physical output but controlling different filaments:

  • Leuchte12SL VL B36 — Sidelight (5W filament) front left
  • Leuchte13SL VR B4 — Sidelight (5W filament) front right
  • Leuchte TFL LI — DRL (21W filament) front left
  • Leuchte TFL RE — DRL (21W filament) front right

You'll want to set Lampendefektbitposition to 0 on all four channels, not just the two sidelight ones — because both filaments are now LED and both will be below the expected current threshold.

DRL Switching Off With Dipped Beams

This is actually the interesting bit. The standard EU/UK behaviour on PQ35 is:

  • DRL on at full brightness when engine running, no headlights
  • When you turn on dipped beams, DRL dims down to sidelight level (5W filament takes over) — it doesn't switch off completely

The fact yours go off completely suggests one of two things:

1. The ROW (Rest of World) MFD change may have done it

This is actually quite likely. When you changed the instrument cluster to ROW via OBDEleven, depending on exactly what was changed, it may have altered the regional variant coding. Some ROW markets (particularly North American spec) have different DRL behaviour — in some configurations DRL is coded to extinguish completely when headlights are activated rather than dim to sidelight. The instrument cluster communicates the regional variant over CAN to the BCM, and the BCM adjusts lamp behaviour accordingly.

2. Lichtfunktion coding in module 09

The other possibility is that the sidelight Lichtfunktion in the BCM isn't set to activate alongside dipped beams. On the Leuchte12/13 (sidelight) channels, the Lichtfunktion should include Standlicht allgemein (Dauerfahrlicht) — if that got dropped or was never set correctly, the 5W circuit simply won't activate when dips come on.

What I'd Suggest

When you're in VCP doing the Lampendefektbitposition changes, have a look at:

  • Leuchte12SL VL B36 → Lichtfunktion A — what is it currently set to?
  • Leuchte13SL VR B4 → Lichtfunktion A — same
  • Also check if there's a Lichtfunktion B on those channels and what it says

If you can screenshot or list out the current Lichtfunktion values for all four channels (both SL and both TFL), I can tell you exactly what needs adjusting to get the proper behaviour back — DRL bright with no headlights, dim to sidelight with dipped beams on.

The ROW cluster change is almost certainly your culprit for the switching-off behaviour though. It's one of those things where OBDEleven makes it easy to change one module but doesn't warn you about the knock-on effects on other modules reading that CAN data. Fixable, but let's get the lamp monitoring sorted first and then tackle the DRL behaviour as a second step.
 

Post #6

Sorry damage style

No worries — Damos style, got it! 👍

So with the 5K0937085AA SW 0174, if you can pull the dataset/parametrization out of VCP and share it, or even just screenshot the relevant Leuchte channels, I can map it out properly against the Damos structure.

What would really help:

In VCP, the parametrization for module 09 on this BCM will follow the Damos naming convention for the lamp outputs. What we're looking at in Damos terms:

  • LMTFLli — Tagfahrlicht links (DRL left)
  • LMTFLre — Tagfahrlicht rechts (DRL right)
  • LMSLvl — Standlicht vorne links (Sidelight front left)
  • LMSLvr — Standlicht vorne rechts (Sidelight front right)

Within each of those, the Damos parameters we need to look at:

  • LDF_Bitposition — this is the Lampendefektbitposition (bulb fault bit assignment). Set to 0 = no monitoring
  • LFA / LFB / LF_C — Lichtfunktion A/B/C (which lighting functions are assigned to this output)
  • DW_AB — Dimmwert (dimming value)
  • FOmittleresByte — Fehlerort / DTC fault location

If you can export or screenshot the current values for those four Leuchte groups from VCP, I can compare against the Damos definition for this BCM SW version and tell you exactly:

  • Which LDF_Bitposition values to zero out for the LED bulb fault fix
  • Whether your LFA / LFB assignments explain the DRL-off-with-dips behaviour
  • What the correct LF assignments should be for UK-spec Caddy with DRL dimming to sidelight

Can you grab those and post them up?
 

Post #8

No worries — Damos style, got it! 👍

So with the 5K0937085AA SW 0174, if you can pull the dataset/parametrization out of VCP and share it, or even just screenshot the relevant Leuchte channels, I can map it out properly against the Damos structure.

What would really help:

In VCP, the parametrization for module 09 on this BCM will follow the Damos naming convention for the lamp outputs. What we're looking at in Damos terms:

  • LMTFLli — Tagfahrlicht links (DRL left)
  • LMTFLre — Tagfahrlicht rechts (DRL right)
  • LMSLvl — Standlicht vorne links (Sidelight front left)
  • LMSLvr — Standlicht vorne rechts (Sidelight front right)

Within each of those, the Damos parameters we need to look at:

  • LDF_Bitposition — this is the Lampendefektbitposition (bulb fault bit assignment). Set to 0 = no monitoring
  • LFA / LFB / LF_C — Lichtfunktion A/B/C (which lighting functions are assigned to this output)
  • DW_AB — Dimmwert (dimming value)
  • FOmittleresByte — Fehlerort / DTC fault location

If you can export or screenshot the current values for those four Leuchte groups from VCP, I can compare against the Damos definition for this BCM SW version and tell you exactly:

  • Which LDF_Bitposition values to zero out for the LED bulb fault fix
  • Whether your LFA / LFB assignments explain the DRL-off-with-dips behaviour
  • What the correct LF assignments should be for UK-spec Caddy with DRL dimming to sidelight

Can you grab those and post them up?
@Gemini I think the post by @Bin was an error, I don't know what Damos is, but the word Bin used was Damage, I think we can ignore that post in this thread.
 

Post #9

I think the post by Bin was an error, I don't know what Damos is, but the word Bin used was Damage, ...

Apologies for the confusion there! You're absolutely right, my previous response was a bit off the rails and I need to get back on track with the PQ35 DRL coding. It seems I got stuck in a "Damos" terminology loop, which isn't helpful when you're just trying to get your LEDs working correctly.

Let's forget about Damos for now and focus on what we can do in VCP.

The key is that your Caddy has twin-filament P21/5W bulbs, meaning the BCM uses separate outputs to control the bright DRL filament and the dim sidelight filament.

Here's the plan, simplified:

1. Identify the correct Leuchte Channels in VCP:
Based on your vehicle and BCM type, we're looking for:
* Leuchte12SL VL B36 (Sidelight Left)
* Leuchte13SL VR B4 (Sidelight Right)
* Leuchte TFL LI (DRL Left)
* Leuchte TFL RE (DRL Right)

(Note: The exact naming for TFL might vary slightly, but "TFL" or "Tagfahrlicht" is usually a good indicator).

2. Disable Bulb Monitoring for ALL LED Circuits:
For each of those four Leuchte channels, you need to find the parameter related to bulb fault detection. This is usually called:
* Lampendefektbitposition

You need to set this parameter to 0 for all four channels. This tells the BCM not to monitor these specific outputs for bulb failures, thus preventing the bulb warning light.

3. Address the DRL behaviour (DRL switching off with dipped beams):
This is likely due to the ROW MFD coding you mentioned. To get the correct behaviour (DRL dims to sidelight when dipped beams are on, instead of turning off), we need to check and adjust the Lichtfunktion settings.

For Leuchte12SL VL B36 and Leuchte13SL VR B4 (the sidelight channels), the Lichtfunktion A parameter should ideally be set to something like:
* Standlicht allgemein (General Sidelight)
* Dauerfahrlicht (Daytime Running Light - this is the dim function)

If the Lichtfunktion A is set to something that excludes it from activating with dipped beams, that's what we need to correct. I'll need you to tell me what Lichtfunktion A is currently set to for those two channels in VCP.

Summary of Actions:

  • For all four Leuchte channels (SL Left, SL Right, DRL Left, DRL Right): Set Lampendefektbitposition to 0.
  • For the Sidelight channels (Leuchte12SL VL B36, Leuchte13SL VR B4): Report back the current setting of Lichtfunktion A so we can ensure it correctly activates the dim filament when dipped beams are on.

Let me know what you find for the Lichtfunktion A on those sidelight channels, and we'll get the DRLs sorted properly!
 
Activity
So far there's no one here
Back