If your BMW brake lights don't work, or your get Brake Light Circuit Failure, brake lights are always on, the shifter won't move out of park, BMW won't start the culprit could be a bad brake light switch. You may think that because the brake lights work, the brake light is working properly. The brake light test can often be misleading. You can learn more about symptoms and how brake light switches work here.
In this DIY guide, we will focus on how to change the brake light switch on a BMW. Follow the step by step instructions below.
Park your BMW in a safe area. Set the parking brakes and turn off the ignition. It is recommended to disconnect the battery negative terminal as well. Just in case there is short while you work under the dash.
Access the panel under the dashboard on the driver side. This is the black panel right above the brake and gas pedals also known as the kick panel.
Remove the Philips screws. In some BMWs, you may need Torx Bits to remove the screws. It is recommended to completely remove the kick panel even though in most cases you can access and replace the brake light switch with only partially loosening the kick panel.
Locate the brake light switch.
Unplug the wire harness from BMW brake light switch. Press on the connector then pull it away from the brake light switch.
The next step is to remove the brake light switch from the bracket. This is where it can get challenging. Start by pressing the brake pedal which will allow you to inspect how the brake light switch is installed on your BMW. There will be one or two tabs that you need to press which will release the brake light switch. If your brake light switch has a red or white collar, you will need to slide that out then press the tabs and release the brake light switch.
If you are still getting an error message or your brake lights still don't work, you will need to scan your BMW for codes. A generic OBD2 scanner will not be able to read fault codes from BMW brake system. For further instructions read this article on How to scan BMW for fault codes.