Steering angle sensor - dirty or faulty?
#1
New Members
Thread Starter
Join Date: Mar 2016
Location: California
Posts: 115
Likes: 0
Received 0 Likes
on
0 Posts
My Ride: 2005 525i
![Default](https://5series.net/forums/images/icons/icon1.gif)
So I've read around about the steering angle sensor or the SZL module that could either just be dirty or be faulty under certain circumstances, but some articles are confusing.
My '05 525i drives perfectly fine. However, at first start and the second I turn my wheel in any direction I get the DCS light and malfunction pop up on my iDrive. Once that happens, my turn signals won't cancel.
I've read that the steering angle sensor could just be dirty and to clean it, but some of the symptoms I have could also mean the SZL module itself could be faulty. Which is it?
005EBA
0094E7
00E51D
00E51A
009CC6
I do have adaptive xenons and the light is blinking, although it could be more than just the steering angle sensor?
Any help/advice would be nice! I would rather spend a few bucks to clean the sensor, than $600+ for a new module.
My '05 525i drives perfectly fine. However, at first start and the second I turn my wheel in any direction I get the DCS light and malfunction pop up on my iDrive. Once that happens, my turn signals won't cancel.
I've read that the steering angle sensor could just be dirty and to clean it, but some of the symptoms I have could also mean the SZL module itself could be faulty. Which is it?
- Turn signal stalk works, my turn signals just won't cancel after the turn
- Windshield wiper stalk works, manual or auto
- Cruise control stalk works as far as I can tell
005EBA
0094E7
00E51D
00E51A
009CC6
I do have adaptive xenons and the light is blinking, although it could be more than just the steering angle sensor?
Any help/advice would be nice! I would rather spend a few bucks to clean the sensor, than $600+ for a new module.
#3
Super Moderator
![](https://5series.net/forums/images/ranks/veteran_army.png)
Join Date: Jul 2011
Location: Augusta, GA
Posts: 3,611
Likes: 0
Received 316 Likes
on
303 Posts
My Ride: 05 530i M54
Model Year: 05 530i
Engine: 3.0 M54
![Default](https://5series.net/forums/images/icons/icon1.gif)
From experience it's not worth cleaning. The 05 pre-LCI 9 times out of 10 once a code comes up it's broke due to the design. I would advise you to find one on eBay or the junk yard they are no more than $50. I got one for $50. Install code and set timing.
If you want to check it out prior to just take it out. It's not hard and only takes about 10 mins at most (disconnect battery, pop out airbag, unbolt wheel, remove SZL). You only are looking at the center round piece. The other stuff can be switched over. The cover will clip off so you can see the 2 pins that run across the board. Most of the time the pins break. If the board is dirty you can clean it will alcohol and a-tips but again it's a waist of time. Look at link to see what it look like.
If you want to check it out prior to just take it out. It's not hard and only takes about 10 mins at most (disconnect battery, pop out airbag, unbolt wheel, remove SZL). You only are looking at the center round piece. The other stuff can be switched over. The cover will clip off so you can see the 2 pins that run across the board. Most of the time the pins break. If the board is dirty you can clean it will alcohol and a-tips but again it's a waist of time. Look at link to see what it look like.
Last edited by seanjordan20; 05-21-2021 at 01:48 AM.
#4
![Default](https://5series.net/forums/images/icons/icon1.gif)
From experience it's not worth cleaning. The 05 pre-LCI 9 times out of 10 once a code comes up it's broke due to the design. I would advise you to find one on eBay or the junk yard they are no more than $50. I got one for $50. Install code and set timing.
If you want to check it out prior to just take it out. It's not hard and only takes about 10 mins at most (disconnect battery, pop out airbag, unbolt wheel, remove SZL). You only are looking at the center round piece. The other stuff can be switched over. The cover will clip off so you can see the 2 pins that run across the board. Most of the time the pins break. If the board is dirty you can clean it will alcohol and a-tips but again it's a waist of time. Look at link to see what it look like.
If you want to check it out prior to just take it out. It's not hard and only takes about 10 mins at most (disconnect battery, pop out airbag, unbolt wheel, remove SZL). You only are looking at the center round piece. The other stuff can be switched over. The cover will clip off so you can see the 2 pins that run across the board. Most of the time the pins break. If the board is dirty you can clean it will alcohol and a-tips but again it's a waist of time. Look at link to see what it look like.
#5
Super Moderator
![](https://5series.net/forums/images/ranks/veteran_army.png)
Join Date: Jul 2011
Location: Augusta, GA
Posts: 3,611
Likes: 0
Received 316 Likes
on
303 Posts
My Ride: 05 530i M54
Model Year: 05 530i
Engine: 3.0 M54
![Default](https://5series.net/forums/images/icons/icon1.gif)
No I do not have a guide written for the replacement. What are you using to do the programming/coding? All you need to do is ensure the wheel is straight, code VIN, and set timing.
Last edited by seanjordan20; 11-29-2021 at 01:35 AM.
#6
![Default](https://5series.net/forums/images/icons/icon1.gif)
I have a driver side airbag malfunction light which an indie attributed to a faulty SZL sensor. I'm looking to replace that myself.
Thanks for you help!
Last edited by bmwm3gtr; 11-30-2021 at 11:24 AM.
#7
Super Moderator
![](https://5series.net/forums/images/ranks/veteran_army.png)
Join Date: Jul 2011
Location: Augusta, GA
Posts: 3,611
Likes: 0
Received 316 Likes
on
303 Posts
My Ride: 05 530i M54
Model Year: 05 530i
Engine: 3.0 M54
![Default](https://5series.net/forums/images/icons/icon1.gif)
I wrote a how to for coding and programming SZL after it's installed. I think I captured everything as it's been about a year since the last I've done it. Happy hunting.
Program and Reset SZL system time
INPA: UIF (User Information Field) Report
1-Open INPA>select your car model (E60)>Functional Jobs>F3 UIF
2-You'll see a list of all control units with their ZUSB number and VIN
3-Print to PDF the report.
4-Identify the ZUSB numbers without your VIN and copy from the PDF and close INPA
WinKFP: Edit VIN and Flash Module
5-Open WinKFP (Load SPDaten files google it)
6-Select comfort mode
7-Then click find ZUSB
8-Paste the number you copied
9-this will go straight to the right ZUSB
10-Then enter your full VIN and then click on done
11-Double check that the module your going to flash it's safe to flash with your cable and the battery needs to be connect to another power source
12-Click on update ZUSB (this will flash the module with SPDaten files and re-write the VIN)
NCExpert: Code to Default
13- Open NCExpert
14-Load profile -> Expertmode -> F1 -> F3 -> choose E60 from the list -> choose any module you want from this list -> now click F6 Back -> select F4 Process ECU -> choose Module -> now click ReadECU -> close the notepad window that showed up after the module was read.
15-Press F5 for basic functions -> Select "coapiReadSgGetFswPsw" and click Ok -> Select F2 "job" select SG_CODIEREN and press ok -> Press F3 Execute job and wait for the buttons to become active, when active it's all done.
INPA: Identification Report and Clear Errors
16-Open INPA>select your car model (E60)>Functional Jobs>Identification
17-Print the report to PDF.
18-Look in the SGBD column the module you replace
19-Clear (EM, IM and HM) Errors and Close INPA
Ediabas Tool32: Start System Time
20-Start Tool32
21-Select File->Load SGBD, Group file
22-Browse to the EDIABAS\ECU folder, and search for the file name based on the listed SGBD column. Can be more than 1 file.
23-In the Left of the window select systemzeit_lesen (write)
24-In the middle of the window Argument (value of) type 1 in the dropdown menu
25-double click systemzeit_schreiben and done.
26-double click systemzeit_starten. (no arguments) too to restart the time
Program and Reset SZL system time
INPA: UIF (User Information Field) Report
1-Open INPA>select your car model (E60)>Functional Jobs>F3 UIF
2-You'll see a list of all control units with their ZUSB number and VIN
3-Print to PDF the report.
4-Identify the ZUSB numbers without your VIN and copy from the PDF and close INPA
WinKFP: Edit VIN and Flash Module
5-Open WinKFP (Load SPDaten files google it)
6-Select comfort mode
7-Then click find ZUSB
8-Paste the number you copied
9-this will go straight to the right ZUSB
10-Then enter your full VIN and then click on done
11-Double check that the module your going to flash it's safe to flash with your cable and the battery needs to be connect to another power source
12-Click on update ZUSB (this will flash the module with SPDaten files and re-write the VIN)
NCExpert: Code to Default
13- Open NCExpert
14-Load profile -> Expertmode -> F1 -> F3 -> choose E60 from the list -> choose any module you want from this list -> now click F6 Back -> select F4 Process ECU -> choose Module -> now click ReadECU -> close the notepad window that showed up after the module was read.
15-Press F5 for basic functions -> Select "coapiReadSgGetFswPsw" and click Ok -> Select F2 "job" select SG_CODIEREN and press ok -> Press F3 Execute job and wait for the buttons to become active, when active it's all done.
INPA: Identification Report and Clear Errors
16-Open INPA>select your car model (E60)>Functional Jobs>Identification
17-Print the report to PDF.
18-Look in the SGBD column the module you replace
19-Clear (EM, IM and HM) Errors and Close INPA
Ediabas Tool32: Start System Time
20-Start Tool32
21-Select File->Load SGBD, Group file
22-Browse to the EDIABAS\ECU folder, and search for the file name based on the listed SGBD column. Can be more than 1 file.
23-In the Left of the window select systemzeit_lesen (write)
24-In the middle of the window Argument (value of) type 1 in the dropdown menu
25-double click systemzeit_schreiben and done.
26-double click systemzeit_starten. (no arguments) too to restart the time
Last edited by seanjordan20; 12-01-2021 at 12:43 AM.
#8
![Default](https://5series.net/forums/images/icons/icon1.gif)
I wrote a how to for coding and programming SZL after it installed. I think I captured everything as it's need about a year since the last I've done it. Happy hunting.
Program and Reset SZL system time
INPA: UIF (User Information Field) Report
1-Open INPA>select your car model (E60)>Functional Jobs>F3 UIF
2-You'll see a list of all control units with their ZUSB number and VIN
3-Print to PDF the report.
4-Identify the ZUSB numbers without your VIN and copy from the PDF and close INPA
WinKFP: Edit VIN and Flash Module
5-Open WinKFP (Load SPDaten files google it)
6-Select comfort mode
7-Then click find ZUSB
8-Paste the number you copied
9-this will go straight to the right ZUSB
10-Then enter your full VIN and then click on done
11-Double check that the module your going to flash it's safe to flash with your cable and the battery needs to be connect to another power source
12-Click on update ZUSB (this will flash the module with SPDaten files and re-write the VIN)
NCExpert: Code to Default
13- Open NCExpert
14-Load profile -> Expertmode -> F1 -> F3 -> choose E60 from the list -> choose any module you want from this list -> now click F6 Back -> select F4 Process ECU -> choose Module -> now click ReadECU -> close the notepad window that showed up after the module was read.
15-Press F5 for basic functions -> Select "coapiReadSgGetFswPsw" and click Ok -> Select F2 "job" select SG_CODIEREN and press ok -> Press F3 Execute job and wait for the buttons to become active, when active it's all done.
INPA: Identification Report and Clear Errors
16-Open INPA>select your car model (E60)>Functional Jobs>Identification
17-Print the report to PDF.
18-Look in the SGBD column the module you replace
19-Clear (EM, IM and HM) Errors and Close INPA
Ediabas Tool32: Start System Time
20-Start Tool32
21-Select File->Load SGBD, Group file
22-Browse to the EDIABAS\ECU folder, and search for the file name based on the listed SGBD column. Can be more than 1 file.
23-In the Left of the window select systemzeit_lesen (write)
24-In the middle of the window Argument (value of) type 1 in the dropdown menu
25-double click systemzeit_schreiben and done.
26-double click systemzeit_starten. (no arguments) too to restart the time
Program and Reset SZL system time
INPA: UIF (User Information Field) Report
1-Open INPA>select your car model (E60)>Functional Jobs>F3 UIF
2-You'll see a list of all control units with their ZUSB number and VIN
3-Print to PDF the report.
4-Identify the ZUSB numbers without your VIN and copy from the PDF and close INPA
WinKFP: Edit VIN and Flash Module
5-Open WinKFP (Load SPDaten files google it)
6-Select comfort mode
7-Then click find ZUSB
8-Paste the number you copied
9-this will go straight to the right ZUSB
10-Then enter your full VIN and then click on done
11-Double check that the module your going to flash it's safe to flash with your cable and the battery needs to be connect to another power source
12-Click on update ZUSB (this will flash the module with SPDaten files and re-write the VIN)
NCExpert: Code to Default
13- Open NCExpert
14-Load profile -> Expertmode -> F1 -> F3 -> choose E60 from the list -> choose any module you want from this list -> now click F6 Back -> select F4 Process ECU -> choose Module -> now click ReadECU -> close the notepad window that showed up after the module was read.
15-Press F5 for basic functions -> Select "coapiReadSgGetFswPsw" and click Ok -> Select F2 "job" select SG_CODIEREN and press ok -> Press F3 Execute job and wait for the buttons to become active, when active it's all done.
INPA: Identification Report and Clear Errors
16-Open INPA>select your car model (E60)>Functional Jobs>Identification
17-Print the report to PDF.
18-Look in the SGBD column the module you replace
19-Clear (EM, IM and HM) Errors and Close INPA
Ediabas Tool32: Start System Time
20-Start Tool32
21-Select File->Load SGBD, Group file
22-Browse to the EDIABAS\ECU folder, and search for the file name based on the listed SGBD column. Can be more than 1 file.
23-In the Left of the window select systemzeit_lesen (write)
24-In the middle of the window Argument (value of) type 1 in the dropdown menu
25-double click systemzeit_schreiben and done.
26-double click systemzeit_starten. (no arguments) too to restart the time
Wow I'm incredibly thankful Sean. Will install all the programs and get working
The following users liked this post:
jasondomina (01-13-2024)
#10
New Members
![Default](https://5series.net/forums/images/icons/icon1.gif)
Hi there! I found this video instruction,you can try it or just contact with video creator just to ask him.Good luck