How to Use an Arduino with Linear Actuators

How to Use an Arduino with Linear Actuators

Guest Writer
Guest Writer
PA Engineer

Arduino is a specific open-source community\company\project in one, which specializes in microcontrollers, specifically the building and programming of them. Arduino also offers simple kits made for easy assembly. Arduino controllers are small controllers of microchips and boards which allow for remote control of certain pieces of equipment. These microcontrollers are both digital and analog, meaning they can be used for a wide variety of equipment, regardless of whether or not the equipment is digital or analog itself. These microcontrollers can be used with linear actuators, as a means of controlling them.

We have a large range of Arduino microcontrollers that can be paired with your linear actuator!

At Progressive Automations we have partnered with Arduino in order to bring you the highest quality PLCs on the market and to provide more control options than ever thought possible with linear actuators. These programmable logic controllers can be found in manufacturing equipment, assembly lines, oil refineries, and other various electromechanical systems. What separates them from most control systems is that they feature multiple input and output terminals, stronger resistance to impact and vibration and many more customization options. The diagram below indicates the simplicity of wiring an actuator.

Diagram of a PLC is wire to an actuator

Browse our full range of electric linear actuators, suitable for any application!

The Scope of PLC’s

With most motion control systems, you only have control over overextending and retracting the unit at its normal speed, with PLCs you have access to so much more. They offer full speed control of our units to allow smooth and fluid motions as well as speed matching with feedback models. You can also control the direction and position of your unit as well as having it activate in relation to temperature, humidity, sound, and many other options depending on the model being used. As you can see in the wiring diagram above it is a simple procedure to connect a linear actuator to a PLC as well. The example below is using the Arduino Uno, Due, Mega, ADK, Leo and Ethernet attachments. You can even combine separate controller boards together to give yourself even more control capabilities. They can be stacked up to 3 high to control 3 units individually like in the example above. If that's not enough you can add relays to the equations to control up to 6 units. This can handle all of our models at full load with a 20-amp capacity. The PLCs also have current feedback that can monitor loading for added program functionality.


The Arduino Microcontroller

These microcontrollers have a number of microprocessors installed in them to help connect the linear actuator and Arduino. All boards have pins and processes which, as mentioned before, allow them to access equipment that is either digital or analogue. This allows them to interface with as many other circuits as possible. The microcontrollers come pre-programmed with a specific loader programme. This ensures better linear actuator control with Arduino as it simplifies the process of adding programs that control the equipment.

All microprocessors have their own operating system and a standardized USB port to move applications from a computer over onto the microprocessor itself. Newer versions of the processor are installed with Bluetooth technology. Microprocessors are very tiny computer processors that have the entire CPU power of a computer loaded onto one integrated circuit to control the equipment. In this case, it is used to control the linear actuator with Arduino. It is a multipurpose circuit, or collection of circuits, which uses binary data to run information and produce output.

We have a huge range of home and office solutions, including electric standing desks!

Equipment Needed to Control a Linear Actuator with Arduino

Arduino is more complicated than expected. Instead of simply connecting a motor to the pins which are on the board, users have to control the current load very carefully. There is the possibility of using a motor drive or an H-drive, but when specifically using Arduino linear actuator control there are two other possibilities to consider as well. Firstly, is to use a relay to directly control the current which is going into the actuator itself. Secondly, is to create a closed-loop by using a very specific 12V actuator called a feedback actuator. The feedback actuator works by allowing the equipment used to control the shaft position. The relay board method of control is simpler, and therefore most likely easier for the majority of linear actuator users. So long as the relay board itself has SPDT relays, this simple guide is enough to create a method of control of a linear actuator using an Arduino microprocessor.

The SPDT relay should have three relays, namely the Common (COM), Normally Open (NO), and Normally Closed (NC).

Users will need two separate relays for linear actuator control with Arduino, as this allows the actuator to start, stop, and change direction. The normally closed relays are connected to the 12v DC, while the normally open relays are connected to the +12vDC. To split a wire in two, use a junction or use a specifically picked out jumper wire. The two actuator wires are connected to the relay two at a time.


The Process

Relays control how and where an actuator moves. These work by activating electromagnets through which a current can be controlled. Arduino linear actuators have this process followed by a switch being pulled to allow the current to be properly channelled across to the opposite relay. The two-channel relay system works best when it comes to Arduino linear actuator control.

The relays should have pins numbered up to eight, depending on the model, and all relays require at least 5v of power to function properly. Connect the power supply to the relay and line it up with the VCC and GND pins. Connect each IN pin to its corresponding Arduino pin. This will ensure that the relay works correctly when powering the actuator. Connecting the pins properly is essential in this case as if they are coupled up incorrectly the power will switch between pins, which are different from the normal set-up. It is important to remember power will connect between NC and COM if the IN pin is not connected. Furthermore, power will connect between the NO and COM terminals if the IN pin is connected to the GND pin. However, it should also be remembered that connecting directly to the IN pin will mean that the power will connect between the NC and COM pins too. In this case, the linear actuator Arduino code should like the example below.

The example for linear actuator Arduino code.


As for coding your Arduino microcontroller, we have included a simple sweep program that shows how to extend and retract a linear actuator at full speed.

​//Define pin numbers for Single Board

int ENABLE1 = 8;

int FWD1 = 11;
int REV1 = 3;
int Speed;
void setup() {               
  // initialize the digital pins as an output.
  pinMode(ENABLE1, OUTPUT); 
  pinMode(FWD1, OUTPUT);
  pinMode(REV1, OUTPUT);
void loop() {
  Speed = 255; //set a speed between 0-255
  delay(5000); //5 second delay
void Forward(){
  digitalWrite(ENABLE1, HIGH);
  analogWrite(REV, 0); 
  analogWrite(FWD, Speed);
void Reverse(){
  digitalWrite(ENABLE1, HIGH);
  analogWrite(FWD, 0); 
  analogWrite(REV, Speed);
void Stop(){
  digitalWrite(ENABLE1, LOW);
  analogWrite(FWD1, 0); 
  analogWrite(REV1, 0);


Linear actuators are becoming more prevalent in various industries and technological fields, so more and more technology is being constructed around them and their use. Arduino linear actuator control is something that many people search for due to the level of control it gives users of linear actuators. Microprocessors are a way of combining the entire CPU part of a computer onto a single circuit or a group of them. This allows the user to connect linear actuators with remote controls, processors, and otherwise give themselves greater control over the ways in which an Arduino linear actuator moves while doing the job it was designed for.

While there are numerous ways for microcontrollers to connect with linear actuators for Arduino, the two-way relay system which is described above is one of the easiest and most convenient. It offers a multitude of ways for power to reach the actuator and the microprocessor, allowing both to do their jobs as correctly and efficiently as possible.

Be sure to take look at our varied selection of PLCs and control systems. We also do custom programming for our controllers if you have a very specific control method in mind.