Sale ends todayGet 30% off any course (excluding packages)

Ends in --- --- ---

Wiper control with an AIM PDM32

PDM Installation & Configuration

Forum Posts



Tech Articles

Discussion and questions related to the course PDM Installation & Configuration

= Resolved threads


I'm configuring a wiper motor with an AIM PDM32. It does not have a dedicated wiper control output/function like some other PDMs but it does have all the control logic options you'd expect plus PWM control (100Hz) on all output types including the half-bridge outputs (35A continuous).

The motor is a pretty standard 4 wire arrangement. Low speed winding (draws 4A), high speed winding (draws 6A), a park switch that connects to ground when running and a common ground. 17V back EMF on the low speed winding when then high speed it on. I'll wire the park switch to a digital input on the PDM with an internal pullup resistor for control logic. When the low speed winding is connected to ground it brakes the motor.

There are two options I can think of.

1. Use a half bridge output to power the motor and switch it between high/low speed windings with a relay (see sketch). Needs a relay; uurrgghh!

2. Connect the high speed winding to a half bridge. PWM modulate the output to make the motor turn slower to simulate a 'low speed' winding.

I can't test either of these just yet (waiting for the PDM to arrive whilst I start on the loom). But I think they should both work insofar as allowing the motor to turn at low or high speed and be able to brake it by connecting the low speed wiring to ground

Any feedback or ideas?

Should I put a diode in between the output and ground to prevent spike going to the PDM from the inductance of the motor when is it switched off?

Attached Files

One thing I've learned about the PDM32, is that the Half Bridge outputs only function as half-bridge when they are configured as full-bridge. If you just use them independently, then they are just normal HS or LS outputs. So you won't get any braking, unless you link two of them as a Full Bridge.

Hmm, you're right. The documentation says a high side output "When deactivated, out goes in high impedance disconnecting load from power supply.". But this makes no sense. In order to use a full bridge as per example on page 12 you'd need 4 half-bridge outputs, wire +ve to two outputs and -ve to two outputs and write the logic to ensure any two output pairs are never both on or both off.

My unit arrives in a few days - I can then do some testing.

AIM support tells me 'for the half bridge output there is a difference between off (high impedance) and 0% PWM (connected to ground for a high side load)'.

I need to do some testing when the unit arrives to get my head around it. Perhaps you could try it in the mean time Matt.

2 half bridges makes a full bridge, not 4. So you just have to use 2 outputs to power the motor.

I have much bigger projects on the go, I'll get back to the wipers maybe in the fall when it rains again.

Adrian, I'm in the same boat as you – also configuring an AIM PDM32 to control my wipers! Your solution using a half bridge and PWM seems elegant to me, and I'm trying to put it into practice.

So it sounds like a full bridge needs to be set up, but if I'm understanding correctly, we would only use a single half-bridge output to power the wipers while ignoring the other half-bridge output.

The only thing I want to figure out before testing this is if a diode/resistor is needed between the wipers and the PDM. I need to learn more about when to actually worry about back EMF and how to calculate which diode/resistor needs to be used.

I just learned that external diodes are not required since the AIM PDM32 now has internal diode protection on all outputs. This is despite the documentation stating otherwise, which seems to be outdated information. So I'm going to go ahead and test the wipers using this configuration.

Hey Eric

Here is what I have sketched. Waiting on my unit to arrive (good old Australia Post has lost it!!). Maybe you can try it. My understanding is that a 0% duty cycle connects both sides on the motor to ground thereby shorting it and cancelling the back EMF. No extra resistors etc needed. The forum formats this a bit weird - attached text file is easier to read.

Inputs are: WiperPark connected to the park switch and reads the wiper position. Values are 'Run' and 'Park'

WiperSelect is a CAN input that has values: 'Off', 'Slow', 'Fast'

WiperMotor is the current duty cycle of the output. 0% (off), 50% Slow and 100% Fast.

Output 0% duty cycle when

WiperPark = Park AND WiperSelect = Off //Driver has turned the wiper off and wipers are in the park position


Engine State = Cranking //Disable the output when cranking/starting the engine

Output 50% duty cycle when

WiperSelect = Off AND WiperMotor = 100 //Slow the wiper to half speed if it's currently at full speed but the driver has turned it off. Slows the wiper


WiperSelect = Slow //Driver has selected slow. Ingore park switch

Output 100% duty cycle when

WiperSelect = Fast //Driver has selected slow. Ingore park switch

Output 50% duty cycle when

WiperPark = Run AND WiperSelect = Off //Car was turned off and the wipers are not in park. Set slow speed until the higher priority condition (e.g. switch off) sets 0% duty cycle when the park is On.

Attached Files

Excellent, I'll try out this configuration and let you know how it goes! I'm going to wire it along with the rest of my PDM harness, so it might take me a couple days to get results.

Hi Karl

I'd like to see this doc but don't have access to your Google drive account. Could you please either make public or attach the doc here? Thanks.

Sorry try this attachment.

Hello, I need some help with this issue, trying to wire in my AIM PDM32 to my 993 wiper motor which has 6 wires. Looking at the diagram it goes like this.

3 wires come from the stock wiper stalk which I would like to use still

1 wire for ground

1 wire fused 25a power

1 wire from wiper control module

I am a total newbie to this, anyone have tips on how to go about my wiring? Do I use 2 or 4 half bridge outs?

And do I need to connect all 6 wires? And if anyone has tips on how to program hazards lights as well that would be amazing.

Hello, I need some help with this issue, trying to wire in my AIM PDM32 to my 993 wiper motor which has 6 wires. Looking at the diagram it goes like this.

3 wires come from the stock wiper stalk which I would like to use still

1 wire for ground

1 wire fused 25a power

1 wire from wiper control module

I am a total newbie to this, anyone have tips on how to go about my wiring? Do I use 2 or 4 half bridge outs?

And do I need to connect all 6 wires? And if anyone has tips on how to program hazards lights as well that would be amazing.

Hi Angie

I'm not familiar with the 993 circuit so this is more of a generic reply.

It sounds like you are retaining the 993 wiper control module, stalk buttons etc. In that case it would likely just be a simple 12V power supply. The complexity of wiper control comes in when you want the PDM to do the high/low speed control, park position logic etc. If you have the motor currently wired up this would be straight forward to test. Just see if the 12V signal is constant for all options (on/off/fast/slow). If this is the case the either one half bridge or a high power output would be OK. If you can test the current draw you might even get away with a mid power output. You will need to retain the wiper control module, park switch and OEM wiring to the stalk etc.

The AIM PDM 32 has a few options for controlling hazards. But first I need to know how you are controlling the indicators? Are you retaining the OEM stalk control and what signals come out of that? What are you using as the hazard button? ie how will the PDM know you've selected left/right/hazard?

Hi Adrian

Thank you for the response, yes I am trying to retain the wiper stalks on the column. Got it, let me dig out the wiper control module and just wire that back in to make my life easier. For the hazards I wanted to use the opposite stock stalk as well as the switch to trigger left and right. But for hazard as a whole I wanted to use a CAN bus switch to activate it.

How do I reprogram the AIM PDM to blink? Do I use PMW for that? I know how to group them together on the CAN programming already.

PWM (pulse width modulation) us usually used to simulate a varying voltage for things like LED's and pumps. What you want is a Flash function, this is typically programmed with an ON time and OFF time.

That's right. The functionality in RaceStudio 3 is called "square wave" in the power output page. 0.5 seconds on and on 0.5 seconds off is a good start.


Thank you for the tips again Adrian and David, will give this a try!

Getting Back to the wiper control... I have been reading the FAQ section on the AIM website re Wiper control https://support.aimshop.com/faq/pdm/pdf/PDM32%20Wipers.pdf

Reading through this I assume that the back EMF created by the windings when either the low speed or high speed windings are activated is not a problem when each are connected to the Mid Power outputs? Does an internal diode protect from this?

Also nowhere does it mention the use of half bridge outputs or the capability to set brake times for the motor?

Hi Karl

Yep, the documentation for this is crap.

I've not tested this yet but I believe that the High/Mid/Low outputs will be badly affected by back EMF on the 'low' winding when the 'high' winding is energised. These outputs have two states - on +12v and off (ground). When the high winding is on you will be pushing that EMF to ground - e.g. energising on high and trying to brake with low.

The half bridge outputs have three states. On or 100% duty cycle (12v), 0 duty cycle (ground) and off (open circuit/high impedance). The back EMF going to open circuit is what you want.

Tying them to ground is the braking function.

Hi Adrain,

Have you had a chance to try out your code? This is my first go at coding a PDM and I'm working on setting up my PDM32 and I feel like I am starting to understand how it works. But I haven't received my unit yet so I cant do any bench testing.

Obviously the wiper function is one of the more difficult outputs to program. I think I follow your logic, so it would be awesome if you have any updates on this.

I'm trying to setup the wipers but with an One Pass Switch.

1- 4 pin wiper motor (GND, 12V Slow, 12V Fast, Park Sw)

2- 15 pos keypad

3- External Switch for One Pass Function

The AIM Wiper doc attached here seems to be of some older version of RaceStudio because it is a bit different from 3.55 that I'm running.

For example in this document there is the "immediately" that I couldn't find in the newer RS.


I will attach what I did so far.

1- Wiper Keypad set as 0123:

0 = off

1 = intermittent

2 = slow

3 = fast


2- Wiper Intermitent Square Wave Status Variable


3- Wiper Slow Speed Status Variable:


4- Wiper Slow Output:


5- Wiper Fast Output:



Have you installed or bench tested your above setup, yet?

I have pretty much this exact same setup rigged up on a bench test rig. When I activate the "Fast" output, I get an Open condition on the "Slow" power output, as well as on a random LP output (that isn't even wired up), in other words the EMF is affecting random outputs.

Just thought I'd give you a heads-up, that you'll likely run into that.

If anyone has the definitive way to setup a 4-wire wiper setup with the PDM32, I'm all ears, as I'm at a bit of a loss right now.

Are you using mid power outputs for the high and low speed winding?

Have you tried using a half bridge for the slow speed winding and then experimenting with Off vs 0% duty cycle on the slow speed winding when the high speed winding is enabled?

We usually reply within 12hrs (often sooner)

Need Help?

Need help choosing a course?

Experiencing website difficulties?

Or need to contact us for any other reason?