How to control a linear actuator?

Hi guys.
Looking for some help with how to control a linear actuator (thinking Actuonix L16 but not set in stone)
No prior knowledge of electronics so I’m a real novice here so would appreciate any help at all.
Looking for a way to set up my system so that the actuator has a limit on how much it extends, and the movement will be started via a light sensor (light = extends) and then the actuator remains in extended position until a button is pressed to retract.
ideally run on 6v so I can use a 6v battery pack . actuator will be lifting max 1kg

did some initial research and found a control board compatible with the actuator (I think!)

Linear Actuator Control Board | Actuonix

the issue I have is figuring out how to wire etc with the light sensor and switch I need to be part of the system. struggling to get my head around it .

Any help greatly appreciated!!

Hello @markdanh and welcome to the RobotShop forum,

First, you need to select the motor you want to use, you already know you want a 6V one that can lift at least 1kg. Do you need it to be fast or speed is not important? Do you want to know its position to adjust it according to a potentiometer or you simply need it to fully extend and then retract?

Since you want to use a light sensor you will also need a microcontroller so a good option would be selecting a control board that is compatible with microcontrollers (L16 –R, as well as other Actuonix -R or -I series linear actuators are Arduino compatible)

Or you could simply use a microcontroller and a relay

You could also use the Actuonix Linear Actuator Control Board to control your actuator, however, you wouldn’t be able to use the light sensor, or at least not without a microcontroller.

I hope that helps!

Hi @geraldinebc15 , thankyou for the help, appreciate it!

With regards to the speed, it doesn’t matter too much, but ideally not fast. and with position, I would need to be able to adjust it. But only once. when the actuator is in place, I would be able to set the extension length and then that will not change. for retracting it would fully retract.

From what I’ve seen I would need an Arduino microcontroller and a motor driver/relays.
Space would be at a premium so I’m guessing a motor driver may be better then the relays?

where I’m getting stuck is, I just do not know what products to chose or how to set up/wire the whole thing.

From what I’ve seen I would need an Arduino microcontroller and a motor driver/relays.

Yes, those are your options, but if you want it to be smaller a good option could be a shield, for example:

where I’m getting stuck is, I just do not know what products to chose or how to set up/wire the whole thing.

There are tons of options. If you like the L16 choose one with RC so you can use it with the Arduino, or you can check other -R -I series Actuonix linear actuators. If you want it to be small you could use a shield that works for 6V and can withstand at least 1A, or as you only want to control one actuator you could simply get a small relay.

The wiring is easy and this tutorial should help:

And for the light sensor, an LDR should work, you can find some options in the Light Sensors section, for example:


And here’s a tutorial:

If you have a list of parts but aren’t sure if they are “compatible” or you think something is missing let me know!

Thanks again for taking the time to help!
I found the article below, and now I’m a little unsure, as in this video he’s used no relay or motor driver, as the actuator is only 6v, same as the arduino.

Using a Linear Actuator With Arduino and Photoresistor : 3 Steps - Instructables

so by this logic, would I not need to use a shield/motor controller/relays?

Hello again @markdanh!

It is not advisable to directly connect a DC motor to an Arduino as it has very small current limits (around 40mA). The motor could draw way more than this (up to 600mA for the L16, according to the datasheet) which could damage the Arduino. This is why you need to use an intermediate component such as a relay or motor driver.