How Do I Reduce Electrical Noise in My Actuator's Feedback Signal?
DC motors generate significant electrical noise that can corrupt potentiometer or Hall effect signals, causing erratic position readings. This article covers both hardware and software noise reduction techniques.
Where Noise Comes From
Brushed DC motors generate noise through two mechanisms: brush arcing (high-frequency spikes each time a brush segment contacts a commutator bar) and motor inductance switching (voltage spikes from rapidly switching current in motor windings by the H-bridge). Both couple into nearby signal wires through capacitive and inductive coupling.
Hardware Noise Reduction
| Technique | Component | Where to Install | Effect |
|---|---|---|---|
| Motor decoupling capacitors | 100 nF ceramic capacitor × 2 | Across each motor terminal to motor housing (ground) | Attenuates brush arc spikes at the source |
| Signal line filter cap | 100 nF ceramic capacitor | Between pot signal wire and GND at Arduino pin | Filters high-frequency noise before reaching ADC |
| Shielded cable | Shielded 3-conductor signal cable | For pot/Hall wires >6" long | Blocks capacitively-coupled noise from motor wires |
| Physical separation | Route signal wires away from motor wires | Maintain >1" separation; cross at 90° if unavoidable | Reduces inductive coupling proportional to distance squared |
| Motor snubber | 100 Ω + 10 nF in series across motor terminals | Directly at motor terminals | Damps high-frequency ringing from H-bridge switching |
Software Noise Reduction
When hardware filtering isn't enough, software averaging further smooths the signal:
%2013.52.03.png?width=626&height=267&name=Captura%20de%20Pantalla%202026-03-10%20a%20la(s)%2013.52.03.png)
✅ Recommended combination: 100 nF cap on signal line (hardware) + 8-sample rolling average or EMA (software). This combination reduces typical motor-induced ADC noise from ±15–20 counts to ±2–3 counts on a 10-bit ADC.