How to install Sagitar IQ.Light tail lights on a MK7 Jetta
Fitting a EuroCustomAutos Sagitar IQ.Light four-piece set to a North American VW Jetta MK7.
Why this one is different
The Sagitar is Volkswagen's Chinese-market Jetta, and the facelift got the IQ.Light treatment North America never received — an X-shaped illuminated signature, amber sequential signals and a startup animation. This is that exact conversion, and it's a four-piece job: the two outer lights plus two inner trunk-lid pieces that replace the blank filler panels your Jetta came with. That second pair is what turns the rear into one wide connected signature instead of two lamps at either end.
Mechanically it's one of the easier retrofits we do. The harness is plug-and-play — no de-pinning, no repinning, no cut wires. What the job really asks of you is the coding. Every rear lamp position has to be told what it now is, what load type it draws, and which fault byte belongs to it, and then the sweep has to be switched on in six separate parameters. Get the coding right and every function works; get one channel wrong and you'll be chasing a bulb-out warning or a signal that flashes on both sides at once. The tables below are the complete list.
Tools you'll need
- VCDS or OBDeleven — not optional on this install. Every value in Steps 4 and 5 goes in with one of these.
- Trim removal tools — for the trunk panels that cover the tail light harnesses
- Basic automotive electrical knowledge — you'll be pinning terminals into a connector by wire colour
- Electrical or cloth tape for tidying the loom on reassembly
What's in the box
- 2 × outer tail lights — these replace your factory lamps in the quarter panels
- 2 × inner trunk-lid pieces — these go where your blank filler panels are now, and carry the white LED reverse lights
- Inner and outer adapter harnesses — supplied de-pinned and wrapped in protective tape so they route cleanly
- 3-pin connectors — one per side, for joining the inner and outer harness wires by colour
Count everything against this list before you start. A missing connector is much easier to deal with before the trunk is in pieces.
Step 1 — Preparation
- Turn the vehicle ignition off.
- Open the trunk and carefully remove the interior panels to access the tail light harnesses. Work the clips with a trim tool rather than levering on the panel edge.
Step 2 — Route and connect the harness
Both the inner and outer harness wires come de-pinned and wrapped in protective tape. That's deliberate: the taped bundle slides through the grommets far more easily than loose terminals, and the tape keeps the pins from catching and bending on the way through.
- Route the outer harness wires carefully through the existing rubber grommets.
- Do not remove the tape until the harness is fully routed. This is the step people rush, and a bent terminal means a lamp that reads as failed later.
- Once routed, remove the protective tape from both the inner and outer harness ends.
- Colour match the wires from the inner and outer harnesses using the supplied 3-pin connector, pushing each terminal into the slot that matches its wire colour. Push until it clicks.
- Check sides before you go any further: left harness to the left tail light, right harness to the right tail light.
Step 3 — Final assembly
- Confirm all connectors and pins are properly seated. A terminal that is 90% home will work on the bench and fail over a speed bump.
- Reinstall all removed trunk panels and interior trim, checking that no harness is pinched under a clip or trapped where the trunk lid closes.
Leave the coding until the car is back together — you'll want to open and close the trunk and cycle the lights while testing, and it's easier with the panels in.
Step 4 — Code the car (VCDS or OBDeleven)
Each rear lamp position in the car is a Leuchte channel, and each one needs four things set: the load type it should expect (Lasttyp), the bit position it reports failures on (Lampendefektbitposition), the middle DTC byte (Fehlerort mittleres Byte DTC-DFCC), and the light function it performs (Lichtfunktion A, and on the running lights, B as well). Here's what each channel becomes:
| Channel | Becomes |
|---|---|
| Leuchte 20 / 21 | Brake light, left / right |
| Leuchte 17 / 16 | Turn signal, left / right |
| Leuchte 23 / 24 | Running (tail and park) light, left / right |
| Leuchte 28 / 27 | Dynamic power feed, left / right — the permanent 12 V (Klemme 30G) that drives the animations |
| Leuchte 29 | Reverse light |
| Leuchte 18 / 19 | 2019 cars only — old left / right turn channels, switched off. 2020 and newer are already off by default. |
Brake lights and turn signals
| # | Property | L20 · Brake L | L21 · Brake R | L17 · Turn L | L16 · Turn R |
|---|---|---|---|---|---|
| 1 | Lasttyp | 34 – LED Blinkleuchten | 34 – LED Blinkleuchten | 38 – LED Blinkleuchten | 38 – LED Blinkleuchten |
| 2 | Lampendefektbitposition | 09 | 25 | 8 | 24 |
| 3 | Fehlerort mittleres Byte DTC-DFCC | 43 | 45 | 22 | 24 |
| 4 | Lichtfunktion A | Brake lamp | Brake lamp | Blinken links Hellphase | Blinken rechts Hellphase |
| 5 | Lichtfunktion B | not active | not active | not active | not active |
| 6 | Dimmwert AB | 127 | 127 | 127 | 127 |
| 7 | Lichtansteuerung HD AB | Always | Always | always | always |
| 8 | Lichtfunktion C | not active | not active | not active | not active |
| 9 | Lichtfunktion D | not active | not active | not active | not active |
| 10 | Dimmwert CD | 0 | 0 | 0 | 0 |
| 11 | Dimming Direction CD | maximize | maximize | maximize | maximize |
| 12 | Lichtfunktion E | not active | not active | not active | not active |
| 13 | Lichtfunktion F | not active | not active | not active | not active |
| 14 | Dimmwert EF | 0 | 0 | 0 | 0 |
| 15 | Dimming Direction EF | maximize | maximize | maximize | maximize |
| 16 | Lichtfunktion G | not active | not active | not active | not active |
| 17 | Lichtfunktion H | not active | not active | not active | not active |
| 18 | Dimmwert GH | 0 | 0 | 0 | 0 |
| 19 | Dimming Direction GH | maximize | maximize | maximize | maximize |
Note the brake and turn channels use different Lasttyp numbers — 34 on the brake lamps, 38 on the turn signals — even though both read as "LED Blinkleuchten" in the tool.
Running lights, dynamic power and reverse
| # | Property | L23 · Running L | L24 · Running R | L28 · Dyn power L | L27 · Dyn power R | L29 · Reverse |
|---|---|---|---|---|---|---|
| 1 | Lasttyp | 37 – allgemeine LED bis 12W | 37 – allgemeine LED bis 12W | 32 – Allgemeine_Gluehlampe12W | 32 – Allgemeine_Gluehlampe12W | 32 – allgemeine LED bis 12W |
| 2 | Lampendefektbitposition | 10 | 26 | 0 | 0 | 1B |
| 3 | Fehlerort mittleres Byte DTC-DFCC | 41 | 42 | 1 | 1 | 32 |
| 4 | Lichtfunktion A | Standlicht allgemein (schlusslicht; Positionslicht, begrenzungslicht) | Standlicht allgemein (schlusslicht; Positionslicht, begrenzungslicht) | Klemme 30G | Klemme 30G | Rueckfahrlicht |
| 5 | Lichtfunktion B | Parklicht links (beidseitiges parklicht aktiviert li & re) | Parklicht rechts | not active | not active | not active |
| 6 | Dimmwert AB | 127 | 127 | 127 | 127 | 127 |
| 7 | Lichtansteuerung HD AB | always | always | always | always | always |
| 8 | Lichtfunktion C | not active | not active | not active | not active | not active |
| 9 | Lichtfunktion D | not active | not active | not active | not active | not active |
| 10 | Dimmwert CD | 0 | 0 | 0 | 0 | 0 |
| 11 | Dimming Direction CD | maximize | maximize | maximize | maximize | maximize |
| 12 | Lichtfunktion E | not active | not active | not active | not active | not active |
| 13 | Lichtfunktion F | not active | not active | not active | not active | not active |
| 14 | Dimmwert EF | 0 | 0 | 0 | 0 | 0 |
| 15 | Dimming Direction EF | maximize | maximize | maximize | maximize | maximize |
| 16 | Lichtfunktion G | not active | not active | not active | not active | not active |
| 17 | Lichtfunktion H | not active | not active | not active | not active | not active |
| 18 | Dimmwert GH | 0 | 0 | 0 | 0 | 0 |
| 19 | Dimming Direction GH | maximize | maximize | maximize | maximize | maximize |
Leuchte 28 and 27 aren't lights. They're the permanent 12 V feed (Klemme 30G) the lights need to run their animations, which is why they're set as a plain 12 W bulb load rather than an LED. Leave them at Lampendefektbitposition 0 and DTC byte 1 so the car never expects a lamp there. On Leuchte 29 the Lasttyp entry your tool offers may read slightly differently between software versions — pick the general-LED-to-12 W entry.
2019 cars only — switch off Leuchte 18 and 19
On a 2019 Jetta the old left and right turn channels are still live and will fight the new ones. Set both to inactive. On 2020 and newer cars these channels are already off by default — check them, but you shouldn't need to change anything.
| # | Property | L18 · Left turn (2019 only) | L19 · Right turn (2019 only) |
|---|---|---|---|
| 1 | Lasttyp | not active | not active |
| 2 | Lampendefektbitposition | 0 | 0 |
| 3 | Fehlerort mittleres Byte DTC-DFCC | 0 | 0 |
| 4 | Lichtfunktion A | not active | not active |
| 5 | Lichtfunktion B | not active | not active |
| 6 | Dimmwert AB | 0 | 0 |
| 7 | Lichtansteuerung HD AB | always | always |
| 8 | Lichtfunktion C | not active | not active |
| 9 | Lichtfunktion D | not active | not active |
| 10 | Dimmwert CD | 0 | 0 |
| 11 | Dimming Direction CD | maximize | maximize |
| 12 | Lichtfunktion E | not active | not active |
| 13 | Lichtfunktion F | not active | not active |
| 14 | Dimmwert EF | 0 | 0 |
| 15 | Dimming Direction EF | maximize | maximize |
| 16 | Lichtfunktion G | not active | not active |
| 17 | Lichtfunktion H | not active | not active |
| 18 | Dimmwert GH | 0 | 0 |
| 19 | Dimming Direction GH | maximize | maximize |
Step 5 — Turn on the sweeping signals
The sweep is enabled in six separate parameters, each covering a different trigger. Active means that trigger sweeps; not active means it just blinks. Set all six for the full effect, or pick and choose — plenty of people run the turn signals sweeping and leave the lock and unlock animations off.
| Parameter | Trigger | Value |
|---|---|---|
| Außenlicht_Blinker-Richtungs_blinken_links | Turn signal, left | Active |
| Außenlicht_Blinker-Richtungs_blinken_rechts | Turn signal, right | Active |
| Außenlicht_Blinker-Warnblinken_Zuendung_AUS | Hazards, ignition off | Active |
| Außenlicht_Blinker-Warnblinken_Zuendung_EIN | Hazards, ignition on | Active |
| Außenlicht_Blinker-ZV_Blinken_auf | Unlock | Active |
| Außenlicht_Blinker-ZV_Blinken_zu | Lock | Active |
Final checks
- Clear the fault codes with your diagnostic tool once the coding is done. Codes stored during the install will otherwise sit there and light the cluster.
- Then test, thoroughly, one at a time:
- Brake lights
- Running lights
- Turn signals, both sides
- Reverse lights
- Sweeping animation, on each trigger you activated
- Re-scan for faults after testing. A clean scan with everything working is the point at which the job is finished.
Tips & common problems
Almost everything that goes wrong on this install is either a connector or one coding value — the lights themselves are rarely at fault.
- Both turn signals flash at the same time. The classic one, and it's always the left/right coding. Check that Leuchte 17 is set to Blinken links Hellphase and Leuchte 16 to Blinken rechts Hellphase — not both to the same value. Then confirm the left harness actually went to the left light.
- Signals blink but never sweep. The six Außenlicht parameters in Step 5 haven't been set to Active. If the search comes up empty, remember the ß is "ss".
- Bulb-out warning in the cluster. A Lasttyp that doesn't match what's actually fitted, or a Lampendefektbitposition left on the factory value. Work back through the Step 4 tables channel by channel — the bit position and DTC byte are different for every lamp and are easy to transpose between left and right.
- A function is dead on one side only. Go back to the 3-pin connector on that side. A terminal that isn't fully clicked in is the usual cause, and it often passes a quick tug test.
- Turn signals behave oddly on a 2019 car. Leuchte 18 and 19 are still active and competing with 16 and 17. Switch them off using the 2019-only table.
- No animation at all, everything else fine. Check Leuchte 27 and 28 — that's the Klemme 30G power feed. Without it the lights work but never animate.
- Nothing codes at all on a 2024+ car. That's SFD2. It isn't a fault, and it isn't something a different tool solves yet — these lights can't be enabled on 2024 and newer Jettas.
- Condensation inside a light. A little clears on its own; standing water means a bad seal and the light should be swapped.
Other guides
On a Golf instead? See MK7.5 tail lights on a MK7, MK8 Euro tail lights, or the MK8.5 tail light guide. Not sure which generation your car is? Start with MK7 vs MK7.5 vs MK8. Or browse all our DIY guides.