Controlling the Motor Controller - Methods and Options

When it comes to controlling your motor controller there are a number of options that can be used. This article explores some of the main methods and explores the pros and cons of each method in order to try and help you choose the best option for your project. 

Onboard Pot

Using an onboard pot (short for potentiometer) is a quick way of enabling basic speed control of a motor controller. Obvious limitations of this method include the fact that it will be difficult to make ‘on the fly’ changes to speed and overall flexibility is very limited.

External Pot

This is one of the simplest and most commonly used methods for controlling a motor controller. The use of an external pot enables the user to make quick and easy changes to speed as and when they require it.

0-5V analogue input

A 0-5V analogue input works on the same basis as an external pot but enables the user to connect a signal input to the controller which can then be used to change the speed. The controller can be preset so that the input works across a fixed speed range (for example 0V = 10rpm and 5V = 60rpm). Simply change the input signal voltage and the controller will adjust the speed.

4-20mA analogue input

A 4-20mA analogue input works in exactly the same way as a 0-5V input with the exception that it uses a change in current to trigger a change in speed. The low end of the signal input starts at 4mA as minor levels of EMC can interfere with the signal input below 4mA which could cause the controller to stop/start and jump when it is not wanted.

Enable / Direction Inputs

Enable and Direction Inputs are essentially like simple switches which tell the controller to run and which direction to go in. Simply change the switch and the controller will adjust accordingly. These inputs are very widely used with speed inputs such as the 0-5V analogue input discussed above.

PWM Input

A PWM (pulse width modulation) input reads a pulse frequency which then corresponds to a desired speed. This method works very much like the analogue inputs discussed above with the frequency corresponding to the desired speed.

UART Input

A UART input allows much more detailed controls to be implemented than speed / direction / enable. With UART communications the user can specify a range of critical performance factors including current setting, speed, timing and more. UART communications can be transmitted across a range of hardware including simple pin connections or RS232 / RS485. The principles of UART are used by or heavily influence a range of other protocols.


Modbus is a serial communication protocol based around a Master and Slave network. The assigned Master can communicate directly with up to 247 Slaves with communication incorporating more complex commands. Modbus is an open protocol meaning that it is free to use for any manufacturer. As a result of this it has been widely used across a large range of industries.


CANbus is especially popular in the automotive industry but has also become widely used in other industries. The CAN in CANbus stands for controller area network with the idea being to create the opposite of the Modbus Master Slave system.

With CANbus, all the components in a network are addressable and input commands can therefore be input at any point in the network with the output command only being relevant to the specific component. The key advantage of this is that it saves on large amounts of wiring and setup by enabling components and inputs to be wired in the most logical way possible with commands being addressable throughout the network.


EtherCAT is an Ethernet based fieldbus system which is designed to be exceptionally high speed and robust. The system makes use of the standardised Ethernet system but for automation applications. As with Modbus and CANbus, EtherCAT enables much more complex commands to be sent via the system thus enabling complete and accurate control of the motor controller in question.