Generic Linear Actuator With Built-in Tension Spring




Introduction: Generic Linear Actuator With Built-in Tension Spring

About: Avid 3D printer builder, currently completing my 3rd printer design. If you like what you see and maybe even implement what provide, consider supporting subscribing to my youtube channel…

1/24/2018 Update: The STL files have been updated with a stronger belt grip.

3/17/2018 Update: Added STL files for openBuilds 2020 rail (

4/18/2018 Update: For 1010 implementation, changed the smooth idler with a 20 tooth idler (making it wider). I adjusted the STL files accordingly. (

After building the Cantilever printer (instructable here: I decided to design a more generic linear actuator. Unlike the cantilever printer the belt would run entirely on the inside of the aluminum extrusion. Unlike the cantilever printer that uses belt tensioner clips, this actuator will have a tension spring inside the idler end.

The current design has the electronic end stop build in to the NemaEnd. The STL files will have a Nema End without end stop holder

The design was created in Fusion 360 and can be downloaded from

The implementation in the attached video uses a nema 17 0.4A stepper and can reach 11000 mm/min before skipping. Adding a stronger stepper should get you more speed.

Step 1: Parts List

below is a list of all parts (non 3d printed) with Amazon links for download. I have to point out that shopping directly from China (i.e. AliExpress) could bring cost down.

8020 1003 series
Belt tensioner spring


stepper nema 17 0.4A

GT2 Timing Belt Pulley 20 Teeth Bore 5mm Width 6mm (5 pack) (1x) $8.99

Linear Rail MGN12 250mm

Square nut

hex socket screws:

Idler (20 theeth) 3mm bore:

2020 t-nut:

GT2 timing belt:

Step 2: Assembly

Once all parts are printed assembly speaks for itself.

Wire the End-stop prior to sliding into the Endstop case

Add Idler to Idler End with a 25mm hex socket screw

Add tension spring inside the Idler End and slide onto aluminum extrusion

Slide Nema End on opposite side of Aluminum extrusion

add nema stepper motor into Nema End but don't screw down yet as you will need to measure and attach belt

Wrap long piece of GT2 belt around idler and nema pully and mark were end meet at belt clip BUT before markign make sure there is tension on the spring (the spring is 20mm, I recommend pushing it in some 7-10mm when measuring belt).

Cut belt and insert ends into belt clip (meeting at the center)

remove nema stepper and loop belt all around the Aluminum extrusion.

Tension the spring (I use a long bar clamp to push in the tension spring) which will leave enough room to push through the Nema Pully.

Screw down nema and release tension.

Below is the assembly video I created for the use of this rail in the C3Dt/c 3D Printer:

Step 3:

Step 4: Test Actuator

Once assembled you can test the actuator by connecting it to a RAMPS 1.4 setup connected to an application like Pronterface.

Make sure that the axis your using is configured within the boundaries of the actual actuator. You can configure the Marlin software accordingly.

In the video attached the Ramps is executing the print of a vase. The Linear Actuator represents the X-axis

Once you've build one or two of these connect them (with attached Slider Clamp) and have fun

If you liked this check out my other instructables or visit my website at

Step 5: Parts at Work

In case you're wondering what to do with it, check out this video

Be the First to Share


    • Build a Tool Contest

      Build a Tool Contest
    • Fandom Contest

      Fandom Contest
    • Fabric Challenge

      Fabric Challenge



    2 years ago

    "Linear actuator" terminology is misleading. You are using a typical stepper motor/belt design.


    Reply 2 years ago

    Wikipedia: A linear actuator is an actuator that creates motion in a straight line, in contrast to the circular motion of a conventional electric motor.

    This would be the "mechanical" kind:


    Main article: Mechanism (engineering)
    A mechanical actuator functions to execute movement by converting one kind of motion, such as rotary motion, into another kind, such as linear motion.

    I'd say the entire unit fits that definition


    Reply 2 years ago

    When I saw that your Instructable was using a “linear actuator” I immediately pictured a compact linear mechanism using an inline motor, lead-screw, nut design; something not typically seen in an Instructable. I was disappointed to find it was the typical offset motor driving a belt attached to the sliding member. Nothing wrong with that, and your resulting project is indeed very nice looking.


    2 years ago

    Hi does somebody have stl files for the whole 3d printer which uses 20 20 profiles instead of 10 10 which is impossible to obtain in India, files for 20 20 in this article were helpful but z axis carriage files are still for 10 10 (1" 1:) can somebody modify those files to suit the 20 20 profile, it will be apriciated.
    Hi thanks I got the files for 2040 which suits me, and have started printing them.will post it when the whole project is completed


    Reply 2 years ago

    I believe I have the z axis in 2020 as well. I’m showing at a Faire today but I’ll double check. I thought I had added the 2040 implementation for z


    4 years ago

    also which power supply do you suggest off amazon for something like this or your other printer?


    Reply 4 years ago

    I had one burn out the other day and replaced it with this one Seems to be working well less than $20. If you're printer is going to be around kids you can go with a brick like this one : (not enough amps to heat bed though, I think)


    4 years ago

    might just have to build this for my plotter conversion. if i can't get the original gantry to work, Ill replace it with this! thankfully the HP extrusion can be unbolted from the main superstructure. might need to do some minor fabrication of brackets that would allow this to be bolted on in its place. very good design, clean, and simple.