How to Control an EBM-PAPST BLDC Motor with Arduino

How to Control an EBM-PAPST BLDC Motor with Arduino: A Practical DIY Guide
 

When retrofitting old hardware or building custom robotics, dealing with unknown motors and legacy driver boards is a common hurdle. A developer working on a custom automated lawn mower project recently ran into a tricky problem: directly connecting power to an EBM-PAPST VD-3-54.14 motor caused a short circuit.

Here is what went wrong and how to correctly drive this type of motor using microcontroller platforms like Arduino or Raspberry Pi.


The Core Issue: It’s Not a Standard DC Motor

The primary reason for the short circuit is a misidentification of the motor type:

  • Brushless, Not Brushed: The EBM-PAPST VD-3-54.14 is a sensored Brushless DC (BLDC) motor, not a traditional two-wire brushed DC motor. Connecting direct DC voltage directly across its phase lines creates an immediate short.
  • Driver Architecture: Inspection of the original control board reveals a row of 6 MOSFETs. This is the classic 3-phase full-bridge inverter setup required to drive a BLDC motor.
  • Power Specs: The motor operates at 24V with a peak current draw of around 5A.

How to Solve the Control Problem

Option 1: Use an External Brushless ESC (Recommended)

The simplest way to bypass an unfamiliar proprietary control board is to replace it with a standard off-the-shelf Electronic Speed Controller (ESC).

  • Connect the 3 phase output wires of a 24V / 5A+ BLDC ESC (such as a 32-bit BLHeli_32 ESC) directly to the 3 main motor phases.
  • Sensored vs. Sensorless: Because lawn mowers experience heavy resistance and frequent stall conditions, using a sensored ESC is ideal for high low-speed torque. However, modern 32-bit sensorless ESCs using back-EMF detection can also manage moderate loads effectively.
  • Arduino Integration: Send a standard PWM signal from an Arduino digital output pin to the ESC's signal line to control speed effortlessly.
Option 2: Reverse-Engineer the Original Driver Board

If you prefer to keep the original PCB:

  • Trace the input header pins to locate the control logic pins (typically requiring a PWM speed signal, a direction signal, and a common ground).
  • Supply 24V DC to the main power terminals of the driver board while feeding 5V/3.3V PWM signals from the Arduino to the logic inputs.

Summary

Never connect DC power directly to an unknown multi-pin motor. Check for a 3-phase MOSFET arrangement to confirm if it’s a BLDC motor, match it with a suitable $10–$20 ESC, and use an Arduino PWM signal to handle speed regulation safely.