How Do I Read a Potentiometer Signal from My PA Actuator?
PA potentiometer actuators output a variable analog voltage proportional to rod position. This article covers how to wire the signal, read it with an Arduino, and convert the raw ADC value into real-world position in millimetres or inches.
Wiring the Potentiometer
| Wire Colour (typical) | Connection | Notes |
|---|---|---|
| Green (Pot Vcc) | Arduino 5 V pin | Supply reference voltage for potentiometer |
| White (Pot Signal) | Arduino A0 (or any analog pin) | Variable 0–5 V output — read with analogRead() |
| Yellow (Pot GND) | Arduino GND | Must share ground with Arduino |
| Red (Motor +) | H-bridge output + | Motor power — keep separate from signal wiring |
| Black (Motor –) | H-bridge output – | Motor power — keep separate from signal wiring |
⚠️ Never mix motor wires and pot wires Connecting the potentiometer Vcc or signal wire to the 12 V motor supply will immediately destroy the sensor. Always double-check connections before applying power.
Reading with Arduino
Arduino's analogRead() returns a value from 0 to 1023 (10-bit ADC at 5 V). Because the potentiometer doesn't rotate through its full range, you must first calibrate the min/max readings and then map them to physical position.
%2013.09.37.png?width=625&height=466&name=Captura%20de%20Pantalla%202026-03-10%20a%20la(s)%2013.09.37.png)
Smoothing the Signal
Raw ADC readings fluctuate due to motor electrical noise. A simple rolling average reduces jitter significantly:
%2013.11.19.png?width=627&height=285&name=Captura%20de%20Pantalla%202026-03-10%20a%20la(s)%2013.11.19.png)
💡 Hardware filter too Place a 0.1 µF ceramic capacitor between the signal wire and GND at the Arduino pin. This blocks high-frequency motor noise before it reaches the ADC, complementing the software rolling average.