How PDM wiper control works
A typical two-speed wiper motor has separate low and high speed windings. With a PDM in charge, we only use the high speed winding. The PDM drives it with a PWM (pulse width modulated) half bridge output, so varying the duty varies motor speed. One winding, infinitely variable speed, and one less relay in the car.
The other half of the job is parking. The motor has an internal park switch that tells the PDM when the blades are at rest, so they always stop at the bottom of the screen instead of wherever they happened to be.
Identifying the motor pins
A common five-terminal layout looks like this:
| Pin | Inside the motor | Connect to |
|---|---|---|
| A | Low speed winding | Leave unconnected |
| B | High speed winding | A PDM half bridge output (HBO), driven high to run the motor |
| C | Park switch 12V supply | Leave unconnected |
| D | Park switch ground | Battery ground |
| E | Park switch common | A PDM input such as an AVI, pull-up on, active low |
Not sure which winding is which on your motor? Set a multimeter to resistance and measure each winding. The high speed winding reads lower than the low speed one. Always confirm on your own motor rather than trusting a pin letter.
Get the park input working before you fine-tune speeds. If the PDM cannot see the park switch, the blades will stop in odd places or keep running.
Setting it up in the software
Turn on the Windscreen Wipers function under Electrical. That opens a wiring page where you choose which driver controls you want, then assign pins to them.
Choosing your driver controls
- Front Low Speed Enable: adds an input for a low speed request.
- Front Off Input Enable: adds an input that holds the wipers parked.
- Front Hold To Swipe Input Enable: adds a momentary input; the wipers run at full speed while it is held and stop when released, handy for a quick clear.
- Front Intermittent Mode:
- Off: no intermittent input.
- Single Speed: a pause between each wipe.
- Slow when Stopped: a longer pause when the car is stationary.
- Voltage Input: a variable voltage input, such as a knob, sets the pause length through the Intermittent Voltage Settings.
- Rear Mode:
- Disabled: hides the rear wiper input and output options.
- Rear Wiper Input: the driver switches the rear wiper directly.
- Follow Front When Reversing: runs the rear wiper in reverse whenever the fronts are on.
Assigning pins
| Node | Assign it to | Notes |
|---|---|---|
| Front Wiper Output | A half bridge output | This drives the high speed winding |
| Front Park Input | An input | The motor park switch common |
| Front Full Speed Input | An input | Can be Conditional |
| Front Low Speed Input | An input | Can be Conditional |
| Front Intermittent Input | An input | Can be Conditional |
| Front Off Input | An input | Can be Conditional |
| Front Hold To Swipe Input | An input | Can be Conditional |
| Rear Wiper Output | A half bridge output | Only if a rear mode is chosen |
| Rear Park Input | An input | The rear motor park switch |
| Rear Full Speed Input | An input | Can be Conditional |
Each node has Assign and Clear buttons. The request inputs also offer Conditional, which lets you trigger a wiper mode from a condition rather than a single physical switch, for example a CAN keypad button combined with another channel. Clear removes the assignment if you change your mind.
Troubleshooting
| Symptom | Usually |
|---|---|
| Blades stop mid-screen | Park input not assigned, pull-up off, or pin E not wired |
| Motor runs slower than expected at full speed | Output wired to the low speed winding instead of the high speed one |
| Motor never stops | Park switch ground (pin D) missing |
| Rear wiper options missing | Rear Mode still set to Disabled |
FAQ
Why isn't the low speed winding used?
Because the PDM varies speed with PWM on the high speed winding, a second winding adds nothing. It keeps the wiring to one output.
Do I need a PDM, or can an ECU do this?
This function runs on a Haltech PDM such as the Nexus PD16, which has the half bridge outputs a wiper motor needs. For a real-world install, see our Datsun 1200 wiper example.




