Shop Canada
Toll Free: 1-800-676-6123
Photo of Arduino Uno Rev3 by Progressive Automations

How To Use An Arduino With Linear Actuators

Guest Writer
Guest Writer
PA Engineer

Just recently here at Progressive Automations, we have unveiled a new section in our selection of control systems, PLC controls. We've partnered with Arduino in order to bring you the highest quality PLCs on the market and so you can have more control options than you ever thought possible with linear actuators. So what exactly is a PLC?

Otherwise known as a programmable logic controller, it is a digital computing device that is primarily used for automation in industrial and commercial control systems. They 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.

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

Diagram of a PLC is wire to an actuator


A top-down view of a PLC shows how simple it is wire to an actuator.

With most motion control systems, you only have control 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.

Photo of a controller board
This example 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. 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);

We've got some really interesting customer projects that we will be showcasing in the near future using these Arduino microcontrollers. In the mean time be sure to take look at our varied selection of PLCs and control systems. Make sure to follow us on social media to get the heads up on when these projects will be unveiled. We also do custom programming for our controllers if you have a very specific control method in mind.

Follow Us! - Twitter, Facebook, YouTube, Google+

Please wait...