Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

The Wiper Thread :-)

This site may earn commission on affiliate links.

lunitiks

Cool James & Black Teacher
Nov 19, 2016
2,698
5,996
Prawn Island, VC
5aciq7a.gif


I have serious wiper issues ...

In this thread, let’s figure out everything hardware, software, DIY, replacement parts etc. related to these puppies.

I’ll kick off with my research on the Model S wipers.

How the Model S windscreen wipers work!

Tl;dr (spoiler):

22nudf.gif

Now let’s wipe that smile of your face …

Part 1: Basics

Your windscreen wipers.

Driven by a no-bulls***, 12V electric motor that resides under the cowl screen in the frunk. Did you know that the motor only has two speeds? The two gears are appropriately named “Slow” and “Fast”.

So no “medium”, “quite fast” or “custom” speeds. (Lame.)

Hardware details:
Tesla part no: 6005946-00-F (MDLS, LHD)
Supplier: SPRAGUE DEVICES
Supplier assy no: E-005-795
Supplier motor no: E-006-218

wipermotor.jpg


The motor is wired directly to the front fuse/relay box. Which provides power to the motor.

The motor power is controlled by your Body Control Module (BCM). BCM is mounted on the “firewall” in the passenger footwell (behind a cover plate under the carpet).

bcm.jpg

pektron.jpg


The BCM (by Pektron) is basically a distribution center for CAN- and LIN-messages for various third-party modules in the car, such as the ECUs for exterior lights, air suspension, doors, Homelink, power liftgate +++.

Back to the wipers. So there are five positions on the steering wheel stalk:
  • Off (“0”),
  • Auto 1 (“· · ·”),
  • Auto 2 (“····”),
  • Slow (“−“), and
  • Fast (“═”).
Once you select one of these functions, the steering column ECU sends a CAN-message to the BCM, telling it which wiper setting is activated.

Let’s have a look at the settings and what BCM does with them:

Part 2: Manual mode
As mentioned earlier, the wiper motor only has two speeds (plus “Off”). This is clearly visible in the wiring diagram and connector reference, which looks pretty much like this:

Pin B Off (“D.Park” / “Wiper Park Sense”)
Pin CGround (“GND”)
Pin DFast (“Wiper High”)
Pin ESlow (“Wiper Low”)
(Pin A is not used.)

pnout.jpg


The way this works is that BCM operates two relays in the front fuse/relay box. So if you choose Slow (“−“), BCM commands constant power through pin E (Wiper Low). If you choose Fast (“═”), constant power is provided through pin D (Wiper High). Inside the motor, power is applied to the low speed or high speed windings of the armature.

When you switch the wipers Off, a signal is sent through the Park terminal (Pin B), which actuates a disc inside the motor that breaks the 12V circuit so that no power is provided.

In essence, BCM tells the wiper motor when to engage, and at what gear. Depending on your stalk setting.

Part 3: Auto rain sensing mode
Now if the wiper motor only has two speeds, how does auto rain sensing work?

Let’s begin with pre-AP2 cars. You know, the ones with a dedicated rain/light/solar/humidity (RLSH) sensor, supplied by Hella. The RLSH sensor is mounted on the inside of the windscreen at the base of the RV mirror.

This thing:

hw1.jpg


RLSH basically works like this: An IR transmitter inside the sensor fires infrared light at the windscreen and measures the amount of light reflected back. A dry and clean windscreen reflects nearly all of the light, while a wet windscreen causes the light to scatter. (Optimal reflection = No wiping required. Poor reflection = Much wiping required. Then there are degrees in between.)

The rain-sensing data from RLSH inputs directly to the BCM through LIN bus. Based on the LIN-data, and your wiper switch position, BCM determines (1) if the wipers should be operated, (2) the wipers’ delay interval, and (3) wiper speed. So if you’re set in Auto 1 (“low sensitivity”), more water is allowed to accumulate on the windscreen before a wipe is commanded. Auto 2 (“high sensitivity”) and allows little water to accumulate.

To sum it up: When in manual mode, constant power is provided to the wiper motor. When in auto mode, BCM commands “bursts” of power (single or multiple wiping commands), depending on rain-sensor data. In either mode, the motor receives power through one of the two terminals “Slow” or “Fast”.

Now let’s get down to business: Rain-sensing with Autopilot HW 2.x.

HW2 vehicles, manufactured since October 2016, do not have the RLSH sensor. So no infrared transmitter. Instead, rain-sensing is done by processing images from the autopilot camera(s) on the vehicle. How cool is that!

Specifically, the images from the autopilot camera(s) are fed through a “convolutional neural network” (software) inside the autopilot ECU. As you probably know, the autopilot ECU - a.k.a. “APE” - is located right above the glove compartment, and is connected to BCM through the “CAN Chassis” network.

The neural networks (NNs) on APE are trained centrally at Tesla. Conveniently, the pre-trained NNs are shipped over-the-air to the fleet through software updates. This has the advantage that your rain-sensing can improve over time. So awesome.

Disadvantage? Well, Tesla’s priorities…

Currently, it is my understanding that the rain-sensing NN only uses the forward, wide-angle (“Fisheye”) camera, and relies heavily on GoogleNet modules/layers.

It would be so awesome if @verygreen, @jimmy_d, @DamianXVI, @BigD0g, @chillaban, @bjornb, @Saghost, @croman, @scottf200, @kdday and others could share their insights on this avantgarde stuff. I bet even @AnxietyRanger has some opinions on this topic. (Hey @Bladerskb, @stopcrazypp and @JeffK, you’re welcome to put the boring out of this thread as well. @buttershrimp: you really need to provide some powder white snow field testing.)

Thanks
 
Last edited:
@lunitiks - I really appreciate how you spawn these substantive threads (really, this is not sarcasm). Unlike many other threads that just become a forum for endless petty bickering you create opportunities to discuss aspects of Tesla cars that have a factual basis and you jump start them with real data. I think you're a really valuable element of this community.

But personally I just can bring myself to care about wipers enough to put any effort into investigating them so please excuse me. I'm rooting for you, but it's not my thing. If you want an opinion on a neural network feel free to send it to me. I'm sure I'll be able to overwhelm you with boring detail. :)
 
Interesting fun fact. The windshield wiper was invented by a Canadian woman. As her husband was leaning out the window wiping down the windshield with a rag in a rain shower, she said to herself "There's got to be a better way of doing this."
 
  • Informative
Reactions: svp6
Great animated .gif, @lunitiks. Wonder how many people realize that's Tom Cruise.

I would just like the wipers to clean the top 1/3 of the windshield *cleanly and completely* at some point in my remaining lifetime. An impossibility with this car or the last. SvCs don't fix the problem - went through 3 different sets of wipers at their recommendation for the last car. No joy. The Bosch Icons were the best of those tried so far. The net impact is that I go through many more gallons of wiper fluid per year than with any other car I've ever driven, which means I have to remember to carry wiper fluid *all the time*. Even when not leaving bug-free SoCal. For areas outside of SoCal, if I didn't carry pre-mixed fluid in a spray bottle (7:1 ONR Blue to distilled) and an extra microfiber towel for use *at each SC stop during each leg while in the Midworst or South*, I would literally be driving blind. Which I suspect is not the intent of a credible wiper system unless and until the day that FSD arrives.

Putting that aside, will attempt to re-digest the rest of your excellent post.
 
  • Funny
Reactions: lunitiks
I took a quick look at the washer system as well. Seems like the same basic principle: Press and hold the washer button, and a CAN-request is sent to BCM to drive the washer pump.

Since APE obviously talks with BCM, I guess a "dirt-sensing auto washer" based on fisheye NN could be done with the current hw2. In theory at least
 
  • Helpful
Reactions: TaoJones
If you want an opinion on a neural network feel free to send it to me. I'm sure I'll be able to overwhelm you with boring detail. :)
Ok @jimmy_d time for you to overhelm me with boring detail.

First I'll quote you from a couple of other threads:
9) One of the new NNs is named fisheye_wiper. The network itself is a substantially simplified googlenet implementation. The output from this network is a five output classifier indicating that it outputs a single one of 5 categories being detected. This is exactly the output you would expect for a rain intensity detector intended to control wiper blades.
Ok, I guess I have to take back some of my trash talking. After looking at the fisheye wiper and repeater networks it's pretty clear that these aren't strictly cut-and-paste. They are all based on GoogLeNet, but tweaked. The wiper network is pretty dramatically cut down.

Of note - the wiper network seems to be outputting 5 different classes of wiper operation, so I'm guess "off" plus 4 speeds of "on".
As I understand it, in 50.3 the number of outputs in the final layer has changed from 5 to 1 single output class:
In the current version - at least the latest one I've seen - it's a one output classifier which might just be 'probability that it is raining'. Or alternately it could be trained to be 'how hard is it raining' with, say, anything below 0.2 being 'probably not raining' and anything over 0.9 being 'raining cats and dogs'.
This is where I get really confused... First I think you said that the output number tells us how many possible classes the layer can output. But then you seem to be saying that the number is just a max probability and that the layer can output 0.1, 0.2, 0.3 etc... What am I not understanding here... Please help!
 
  • Like
Reactions: Fiddler
Ok @jimmy_d time for you to overhelm me with boring detail.

First I'll quote you from a couple of other threads:


As I understand it, in 50.3 the number of outputs in the final layer has changed from 5 to 1 single output class:

This is where I get really confused... First I think you said that the output number tells us how many possible classes the layer can output. But then you seem to be saying that the number is just a max probability and that the layer can output 0.1, 0.2, 0.3 etc... What am I not understanding here... Please help!

Sorry for the delay. Traveling...

So there are of course lots of ways to build neural networks so nothing is absolute, but there are also ways they *tend* to get built - mostly because it's convention. So just keep in mind that this stuff is convention that I'm talking about, not fundamental limitations.

Neural networks that take an input (like an image) and tell you what's there are often 'classifiers' - and the first version of the wiper NN is one of these. It's called a classifier because you show it an image and ask it which of some set of mutually exclusive classes match the image. In truth the image can only belong to one of the classes and the network's job is to determine which one. So for instance the classes might be 'raining' and 'not raining'. That would be a two class classifier. Or the classes could be 'not raining', 'drizzle', 'sprinkle', 'raining', and 'torrent'. That would be a total of five classes.

The output from a classifier is one number for each of the classes, and those numbers are conventionally trained to be the probability that the image matches each of the categories. So an image for the five class classifier might return - 'not raining' 1%, 'drizzle' 5%, 'sprinkle' 55%, 'raining' 35%, 'torrent' 14%. The probabilities have to add up to 100%, of course. The downstream program looks at those numbers and decides what to do. This is a nice approach mainly because it's easy to train. You just get bunches of pictures of each different class of rain and train the camera to tell you which class of rain it's seeing, which it does by giving you a probability for each of the five classes for each image you show it.

The example 5 class classifier above is what the five output version of the fisheye wiper NN was doing - or something pretty similar to it.

Ok, so the second version of the fisheye wiper network just had one number as an output and there are two ways that this could have been working. The first way is that it was still a 'classifier' and that it just had two classes - 'raining' and 'not raining'. In the case where you have two mutually exclusive classes you can just put out a single number since the second comes very simply: if the probability of rain is 65% then the probability of 'not rain' must be 35% (100% - 65%). There's no point in providing the second number since it's obvious. So the single output classifier might just be the probability of rain and what I saw in the network was consistent with this.

But there's a second way that it could have been working too - which is that output might not be a 'classifier' at all, it might be a scalar output that provided a single number representing how hard the rain was rather than the probability that it was raining. So for instance that one output could be rain intensity on a scale from 0 to 9 where 0 is dry and 9 is downpour. In some ways this is a better fit to what you want from a rain sensor than a classifier is. But it's trickier to train also - so there's that.

Given that the first network was very similar to a classifier and included some bits that are used for class probabilities, I think the first one was probably giving five probabilities for five kinds of rain. The second network was, I thought, identical but it only had a single output so I immediately jumped to the conclusion that they gave up on 5 categories and simplified the network to just answer the question, "is it raining?" But then later I looked again, prompted by a question from another poster, and noticed that the probability bits of the network were also missing - they had been present in the 5 output version. It's just a small thing and i overlooked it. With the probability part missing it was more likely that the one number that was coming out was not a probability - which suggested that maybe they had changed to the 'on a scale of 0 to 9' approach.

Does that make sense?
 
Another question: is there any substantial difference between the sensing ability of the IR solution vs the fisheye?

i.e. if the fisheye can only detect rain that falls within the sensor box, is that better or worse than the IR?

Obviously this doesn't matter in the real world: if it's raining then the whole screen gets wet. But, say a bird happens to be passing overhead and lets loose as it passes over the driver's side, with the resultant mess missing the sensor. Will either solution detect it?

(I noticed that the AP2 videos that came out testing the auto wipers all focused on the sensor area - not sure if that was because they had to, or because they thought it was the best way to test).
 
Another question: is there any substantial difference between the sensing ability of the IR solution vs the fisheye?

i.e. if the fisheye can only detect rain that falls within the sensor box, is that better or worse than the IR?

Obviously this doesn't matter in the real world: if it's raining then the whole screen gets wet. But, say a bird happens to be passing overhead and lets loose as it passes over the driver's side, with the resultant mess missing the sensor. Will either solution detect it?

(I noticed that the AP2 videos that came out testing the auto wipers all focused on the sensor area - not sure if that was because they had to, or because they thought it was the best way to test).

They vary in lots of ways. The IR sensor bounces a light through the glass and detects high refractive index material (like water) on the surface of the glass directly over the sensor. The camera looks at a patch of glass for visual patterns that are similar to rain on a window. Neither one of them will detect anything that isn't right in front of the sensor so both will fail on your bird poo test.
 
Thank you. Hi Luni and all. My name is Effi and I have serious wiper issues. “Hi Effi” says the wiper issues anonymous digital meeting group.

Had an August 26th delivered 2015 Model S 70 awesome wipers. Turned on at perfect times automatically.

My current November 4th delivered 2018 Model S 75D wipers not working and Autopilot error could have killed me today.

I took control because Autopilot veered in to lane left of lane we were in. Buckets of rain were pouring so that is likely why Autopilot failed.

That is not all!

My wipers have not worked well on this new car at all and since the beginning of the rains in OC Dec 2018 to now, it has had firmware updates, software updates and been in service once with no fix to wipers issue.

I turn wipers on they work. I click down to intermittently and they don’t work. I increase speed, they don’t work.

I pull over, power off car, turn switch to highest speed and when car powers on, wipers go fast. I then slow wipers down, then they can’t go fast again, sometimes slow them down and they stop. I had already stopped 3 times driving back from San Diego to OC today to power cycle to get wipers to turn on. Wipers were on full speed I set to slower speed they stopped working. Driving from north of Carlsbad stops to powercycle rain stopped but then approaching south OC began drizzling and raining. I pressed button for windshield washer fluid, that with certain press, gets wipers to work. I was basically manually pressing button to get 1-2 windshield wiper swipes.

When Autopilot lost control and I had to drive and manually press button for 1-2 swipes, rain was so heavy 1-2 swipes every time I pressed button still kept me feeling blind. I very very carefully exited the next exit and power cycled again to have wipers work.

Yes during troubleshooting at beginning Autowipers beta was tested both on and off.

**I had to post my piece ^ for peace..now reading:

/Agree on more speeds and custom speed to decrease lameness.

My ECU likely not communicating with CAN after one communication is sent and requires powercycle to communicate once.

Pin B shutting off once then not allowing turn back on once shut off after only turning on in powercycle when set to fast speed. If set to off during powercycle sometimes wipers don’t turn off. I have to set to fast, powercycle and then when I open door to wake car up/power on, wipers work but then they don’t go fast again if I set to slower setting or auto.

I think if the wipers worked the no RLSH sensing and camera sensing might work but I have heard from others it doesn’t work as well.

View attachment 273278

I have serious wiper issues ...

In this thread, let’s figure out everything hardware, software, DIY, replacement parts etc. related to these puppies.

I’ll kick off with my research on the Model S wipers.

How the Model S windscreen wipers work!

Tl;dr (spoiler):


Now let’s wipe that smile of your face …

Part 1: Basics

Your windscreen wipers.

Driven by a no-bulls***, 12V electric motor that resides under the cowl screen in the frunk. Did you know that the motor only has two speeds? The two gears are appropriately named “Slow” and “Fast”.

So no “medium”, “quite fast” or “custom” speeds. (Lame.)

Hardware details:
Tesla part no: 6005946-00-F (MDLS, LHD)
Supplier: SPRAGUE DEVICES
Supplier assy no: E-005-795
Supplier motor no: E-006-218

View attachment 273280

The motor is wired directly to the front fuse/relay box. Which provides power to the motor.

The motor power is controlled by your Body Control Module (BCM). BCM is mounted on the “firewall” in the passenger footwell (behind a cover plate under the carpet).

View attachment 273283
View attachment 273284

The BCM (by Pektron) is basically a distribution center for CAN- and LIN-messages for various third-party modules in the car, such as the ECUs for exterior lights, air suspension, doors, Homelink, power liftgate +++.

Back to the wipers. So there are five positions on the steering wheel stalk:
  • Off (“0”),
  • Auto 1 (“· · ·”),
  • Auto 2 (“····”),
  • Slow (“−“), and
  • Fast (“═”).
Once you select one of these functions, the steering column ECU sends a CAN-message to the BCM, telling it which wiper setting is activated.

Let’s have a look at the settings and what BCM does with them:

Part 2: Manual mode
As mentioned earlier, the wiper motor only has two speeds (plus “Off”). This is clearly visible in the wiring diagram and connector reference, which looks pretty much like this:

Pin B Off (“D.Park” / “Wiper Park Sense”)
Pin CGround (“GND”)
Pin DFast (“Wiper High”)
Pin ESlow (“Wiper Low”)
(Pin A is not used.)

View attachment 273285

The way this works is that BCM operates two relays in the front fuse/relay box. So if you choose Slow (“−“), BCM commands constant power through pin E (Wiper Low). If you choose Fast (“═”), constant power is provided through pin D (Wiper High). Inside the motor, power is applied to the low speed or high speed windings of the armature.

When you switch the wipers Off, a signal is sent through the Park terminal (Pin B), which actuates a disc inside the motor that breaks the 12V circuit so that no power is provided.

In essence, BCM tells the wiper motor when to engage, and at what gear. Depending on your stalk setting.

Part 3: Auto rain sensing mode
Now if the wiper motor only has two speeds, how does auto rain sensing work?

Let’s begin with pre-AP2 cars. You know, the ones with a dedicated rain/light/solar/humidity (RLSH) sensor, supplied by Hella. The RLSH sensor is mounted on the inside of the windscreen at the base of the RV mirror.

This thing:

View attachment 273286

RLSH basically works like this: An IR transmitter inside the sensor fires infrared light at the windscreen and measures the amount of light reflected back. A dry and clean windscreen reflects nearly all of the light, while a wet windscreen causes the light to scatter. (Optimal reflection = No wiping required. Poor reflection = Much wiping required. Then there are degrees in between.)

The rain-sensing data from RLSH inputs directly to the BCM through LIN bus. Based on the LIN-data, and your wiper switch position, BCM determines (1) if the wipers should be operated, (2) the wipers’ delay interval, and (3) wiper speed. So if you’re set in Auto 1 (“low sensitivity”), more water is allowed to accumulate on the windscreen before a wipe is commanded. Auto 2 (“high sensitivity”) and allows little water to accumulate.

To sum it up: When in manual mode, constant power is provided to the wiper motor. When in auto mode, BCM commands “bursts” of power (single or multiple wiping commands), depending on rain-sensor data. In either mode, the motor receives power through one of the two terminals “Slow” or “Fast”.

Now let’s get down to business: Rain-sensing with Autopilot HW 2.x.

HW2 vehicles, manufactured since October 2016, do not have the RLSH sensor. So no infrared transmitter. Instead, rain-sensing is done by processing images from the autopilot camera(s) on the vehicle. How cool is that!

Specifically, the images from the autopilot camera(s) are fed through a “convolutional neural network” (software) inside the autopilot ECU. As you probably know, the autopilot ECU - a.k.a. “APE” - is located right above the glove compartment, and is connected to BCM through the “CAN Chassis” network.

The neural networks (NNs) on APE are trained centrally at Tesla. Conveniently, the pre-trained NNs are shipped over-the-air to the fleet through software updates. This has the advantage that your rain-sensing can improve over time. So awesome.

Disadvantage? Well, Tesla’s priorities…

Currently, it is my understanding that the rain-sensing NN only uses the forward, wide-angle (“Fisheye”) camera, and relies heavily on GoogleNet modules/layers.

It would be so awesome if @verygreen, @jimmy_d, @DamianXVI, @BigD0g, @chillaban, @bjornb, @Saghost, @croman, @scottf200, @kdday and others could share their insights on this avantgarde stuff. I bet even @AnxietyRanger has some opinions on this topic. (Hey @Bladerskb, @stopcrazypp and @JeffK, you’re welcome to put the boring out of this thread as well. @buttershrimp: you really need to provide some powder white snow field testing.)

Thanks
 
a 2015 was not Tesla AP tech right, it was the other company they stopped using? I mean only as of this past summer could the new AP even handle most of the stuff the older cars had for ages. One reason I didn't buy any of it with my car when I got my car, which holding out proved excellent and now I "have" fsd. Sad to hear wipers are worse then older cars.. they are just god awful.
 
Hi, Can someone help and tell me where to find the fuse or relay for the wipers for model S 2015. I have found the fuse box diagram but I can not see any fuses for wipers? (for a model X it is F118 but this no. is not used on a model S)?

1645280046733.png
 
Hi, Can someone help and tell me where to find the fuse or relay for the wipers for model S 2015. I have found the fuse box diagram but I can not see any fuses for wipers? (for a model X it is F118 but this no. is not used on a model S)?

View attachment 771215
I'll check which fuse tomorrow (i've read that it's F118 but will check). The relays on this version are soldered to the PCB inside the fusebox (assuming yours is the one pictured and not the older version with the two separate fuse boxes)