Introduction: 3D Printed Linear Motion

Picture of 3D Printed Linear Motion

With this handy gadget, you can turn rotary motion into linear motion with ease! Using some skateboard bearings, machine screws, and 3D printed parts, the machine comes together in no time and can be used for all kinds of machines or robots.

507 Mechanical Movements is an encyclopedia of common mechanisms from the 1860's that serves as a good reference for this kind of thing. This mechanism is bases on number 92, "Ordinary Crank Motion".This is going to be along project, so if you've got a specific mechanism you'd like me to make, feel free to make a request in the comments!

I used mine to make a machine that endlessly draws a sine wave. Imaging trying to do this by hand- it's a good time to be alive!

Step 1: Tools + Materials

  • Fusion 360
  • 3D Printer
    • I use a Creality CR-10. It's the best bang for your buck, in my opinion.
    • Use this coupon code at Gearbest to get it for $369: CR10ZUI
  • 3D Print Filament
    • I used Matte Fiber HTPLA from Proto-pasta for this project, but pretty much any filament will work. I like this stuff because the finish looks really good.
    • I used Polymaker Polyflex for the driver belt. This stuff is good for this application because it's flexible but not too elastic, so it doesn't stretch.
  • 608ZZ Skateboard Bearings: There are lots of types to choose from, but any cheap ones will do. Don't worry too much about "spin time" as you would with fidget spinner.
  • M3 Screws + Nuts: You could use any screws and nuts around this size, but I find these work well for small 3D printed mechanical projects.
  • Receipt Paper: $4 on Amazon.

Fusion 360 is free and it's awesome. I use it for everything I design and fabricate.

Student / Educator License (renew free every 3 years)

Hobbyist / Startup (renew free yearly)

Follow along with this Instructable to model your own!

Step 2: Design / 3D Modeling

The video above is a step by step demonstration of the modeling process. The steps that follow describe what's in the video.

The f3d file in this step is the Fusion 360 archive that you can download and upload to a project in Fusion.

Step 3: Insert Bearing + Create Base

First, get a bearing into the canvas. Go to Insert>McMaster Carr Component, search "608 bearing", and navigate to the product detail of the first one you find. Make sure file type is set to 3D STEP and select Save. The bearing will come in as a new component which you can rotate 90º to make it vertical.

Next, Assemble>New Component to keep your design organized.

Create a sketch on the Front plane of the canvas and Sketch>Project/Include>Project to get the outline of the bearing into the sketch (be sure selection filter in that command is set to Bodies).

With the bearing perimeter projected, make a Sketch>Circle>Center Diameter Circle on the center of the canvas. Type in 72mm for the diameter.

Make a Sketch>Rectangle, then Sketch Palette>Constraints>Tangent to make three of the lines tangent to the circle as seen above.

Create>Extrude the profiles as shown above. If you made a new component before you started your sketch, leave the Operation as New Body, otherwise change the Operation to New Component.

Step 4: Create a Wheel

Activate the top level component (right-click>Activate) called Linear Motion Demo at the top of the browser in the screenshot above. Assemble>New Component to keep things organized, then create a new sketch on the Top plane of the canvas.

Sketch>Project/Include>intersect and click on the inner ring of the bearing.

Now you're going to draw a cross-section of a wheel that you'll use to revolve a 3D shape. Draw a center line by clicking on the model origin point and clicking somewhere to the left as shown above. Make sure the line is 90º.

Sketch>Offset this line by 36mm (half of 72mm).

Draw a line that's perpendicular to the two other lines somewhere off to the left as shown.

Draw a cloud profile that looks something like what's shown above. There needs to be a shoulder against the bearing (shown above with a gap between them) and a kinked line to offset the face of the wheel.

Use Sketch>Sketch Dimension to get everything in place. The inside line is offset by .5mm to allow for some space between the press fit parts, the shoulder kink is set to 120º (this could be a right angle and it would still work, this just gives you a little more material for strength), the inside face of the wheel is 1.5mm from the face of the bearing, and the thickness of the wheel is 7mm (same as a bearing).

Create>Revolve with the profiles you just created, using the centerline as the axis of rotation. Make sure it's set to full rotation or 360º. If you're already active in your new component, New Body is fine for the Operation type.

Create another sketch on the face of the wheel you just made. Draw a centerline from the center of the wheel off to the right somewhere.

Draw a 22mm circle (diameter of the bearing), then Sketch Palette>Constraints>Coincident constrain it to the centerline. Draw a perpendicular line to the centerline, then Sketch>Sketch Dimension it so that it's 3mm from the outer edge of the circle. Sketch Palette>Constraints>Tangent constrain the circle to the vertical line. This will make sure there's enough material on the outside of the wheel to keep from breaking with the bearing is pressed in.

Create>Extrude the circle through the wheel to make a hole for the bearing.

Copy/Paste the bearing component (with top level component active) then use the point-to-point move option to get the bearing exactly in the right spot.

Step 5: Make a Revolute Joint

Now you're going to make the first joint. Before you do that, right-click on the base component in the browser and select Ground. This will keep the base from moving around when you move the joint.

Assemble>As-Built Joint and click on the wheel and the base. For Position, click on any circular edge on the wheel or the base as shown above.

This will make the wheel turn about the center axis. The bearing isn't moving because it's not joined yet.

Do another As-Built Joint to connect the bearing to the wheel. This one should be Type: Rigid.

If you right-click on the first revolute joint and select "animate model" you should see the wheel turning with the bearing going along for the ride.

Step 6: Make a Coupler

Copy / Paste the bearing on the wheel and move it away from the face by 8mm, leaving a 1mm gap between them.

Assemble>New Component, then go to Construct>Axis Through Cylinder/Cone to make an axis. Click on the outer cylinder of the bearing and an axis line should appear.

This axis is going to give you a plane to draw on. Construct>Plane at Angle and click on that axis and you should get a plane at an angle you can set. It doesn't really matter what the angle is.

Sketch>Create Sketch and click on the plane you just made. Sketch>Project/Include>Intersect and click on the inner rings of both of the bearings. Show/Hide the parts you don't need to see to sketch.

Draw a two Sketch>Rectangles as shown above- one between the bearings and one through their holes.

Use the Sketch Palette>Constraints>Coincident, then click each line of the new rectangles followed by a point that's in plane with them as shown above. When you've got them in place so that they go the whole extent of the bearing in both dimensions, Draw a centerline from the midpoints of the lines on the left and right. Create>Revolve, select the profiles that make up half of the cross section, then use the centerline or axis line for Axis.

Step 7: Make an Arm

Copy/Paste the new bearings and the coupler (with the top level component active in the browser) and move them over by 75mm.

Create a new component, then make a sketch on the face of one of the bearings on the outside. Sketch>Project/Include>Project and click on the outer rings of both bearings. Offset both of these outer edges by 3mm.

draw a rectangle that connects the two circles. I made mine 12mm wide by using the Sketch Dimension tool to make the lines 6mm from the center points of the circles on both sides.

Create>Extrude the profiles you need to make an arm with holes on each end. The arm should be 7mm deep (same as the bearings).

Assemble>Rigid Group and select the bearings and coupler that are together. This will make them stick together when you make mechanical joints.

Step 8: Make Revolute and Slider Joints

Assemble>As-Built Joint and select the arm and one of the bearings. Pick the center of one of the circles as the Position.

When you right-click on the center joint of the wheel and select Animate Model, you should see the arm turn with it.

Assemble>Rigid group the other set of bearings and the coupler on the other side as before.

Assemble>As-Built Joint and select the arm and one of the bearings on this side. Pick the center of one of the circles as the Position.

Assemble>As-Built Joint and select the one of the bearings and the base component (called Stand in the screenshot above). Change the Type to Slider, then select the horizontal line and one of its end points on the Stand as the position.

Now when you right-click Animate Model on the first revolute joint, you should see this.

Step 9: Make the First Slider Part

Now you'll need to make a slider part. From the top level active component, create a new component.

Set the main revolute joint on the Stand so that it's 0º or whatever angle brings the arm to its innermost position as shown above.

Create a sketch on the face of the inner bearing, Project the outer ring of the bearing, then draw whatever shape you like for the base. I made a pill shape with a 3mm offset for the edge around the bearing, but a rectangle would work just fine. The important thing is that this component has a cutout for the bearing's outer ring.

Create>Extrude this profile so it's 7mm deep to match the bearing.

From the top level active component, create an Assemble>As-Built Joint>Rigid joint between the new slider component and the bearing.

Step 10: Make a Slider Cavity on the Base

Right-click>Activate the Stand component in the Browser. Create a new sketch on the inside face of the stand, then Project the profile of the slider part you just made. Before you do this, make sure the arm is at its innermost position- if you drew the wheel the way I did, 0º should be the angle the wheel needs to be at. The important thing is that the arm is dead level and all the way to the left.

Stop that sketch, then set the wheel joint to 180º. This should move the arm so that it's in its outermost position. Make a new sketch on the face of the slider component. You'll be able to see the previous sketch as seen above.

Use the projected geometry to complete a profile for the slider part of the stand.

Create>Extrude the profile with Join selected as the operation to join the new shape to the Stand.

Create a new sketch on the stand, then project the geometry of that first sketch you made with the slider in the innermost position.

Using the center points as a reference, Sketch>Slot>Center to Center Slot, make a slot with a width of 6mm.

Offset the slot by .5mm. This will give you some freedom of movement and reduce friction.

Extrude these profiles (the slot and the offset) through the Stand so that it cuts all the way through.

Step 11: Make a Cap for the Slider

Now you'll need to make a post feature for the slider part. Activate the Slider component, then create a Sketch on the outside face of the Stand. Project the circular end of the slider part.

Use the center points of the circular edges to make another Slot that's 6mm wide, then Extrude that slot shape so that it touches the back face of the slider. You can set Extent to To Object and click on the face of the slider and it should go the right distance. The Join operation is what you want here.

Extrude the face of the slot shape out by 3mm.

Create a new sketch on the extruded face of the slot feature, then Project the body of the slider.

Offset the slot by .25mm. This will give you a decent tolerance for press-fitting.

Use this profile to Extrude a new part symmetrically by 3mm (6mm total).

Create a sketch on the front of this new part, then use the inner pill shape to Extrude it in until it touches the end of the post. In other words, close the hole.

Step 12: Make a Driver Socket

Picture of Make a Driver Socket

You're almost done! Now all you need is a driver socket to make the wheel turn. Create a new component, Create a sketch on the Top plane of the canvas, then Intersect the inner part of the first bearing. Draw a shape like the now shown above with a centerline along the model axis. The important thing is that there's a shoulder the bears against the inner rings of the bearing and that it's about 10-15mm deep.

Create>Revolve with the axis selected to make the part.

You can use any method you want to drive the motion (dc motor, hand crank, etc.), but I made mine so that you can test it with a hand drill.

Create a sketch on the face of the socket, then Sketch>Polygon>Circumscribed Polygon and select the center of the axes as the origin point.

The width of a standard 1/4" socket driver is 6.8mm, so since this tool wants a radius for the dimension, just type "6.8mm/2" and you'll get a polygon the right size. 6 sides is the default, and that's what you want.

Extrude this profile into the socket to make the hole.

That's it! The picture above was made using Inspect>Section Analysis so you can see how all the parts interact.

In this tutorial I didn't get into the nuances of making all the nice little features and screw attachments from the example I made, but ask my anything in the comments and I'll do my best to get back to you quickly.

Step 13: 3D Printing: Rotary > Reciprocal Mechanism

Picture of 3D Printing: Rotary > Reciprocal Mechanism

Step 14: 3D Printing: Sine Wave Drawing Machine

The sine wave drawing machine (STL files in this step) is an example of how this mechanism can be used. It uses a roll of receipt paper (in the Tools + Materials step above) on a spool holder. There's a belt printed with Polyflex, but I printed everything else with ProtoPasta Matte Fiber PLA.

Here's how I figured out the length of the belt:

I measured the radii of the pulleys, then got the circumference of each pulley, then found the arc length that would be engaging with each pulley. The driver pulley and the roller pulley both have 1/2 engagement with the belt, and the pulleys that turn the belt to make a right angle both engage by 1/4.

If you download the Fusion archive in Step 3 above, you'll see the full assembly.

Step 15: Assembly: Rotary > Reciprocal Mechanism

Picture of Assembly: Rotary > Reciprocal Mechanism

The assembly is pretty straightforward despite what it might look like from the pile of parts. The bearings press-fit into the holes in the 3D printed parts, the nuts press-fit into the cavities in the parts, and the screws hold the parts together.

If the fit is too snug on the bearings (this will depend on the kind of filament you used and the precision of your printer), you may need a C-clamp to press them into place.

I made a plywood base to attach the machine to as well.

Step 16: Assembly: Sine Wave Drawing Machine

Picture of Assembly: Sine Wave Drawing Machine


  • "#4 socket" in the drawing above is actually two parts: "couplerUp" and "couplerDn" in the STL files attached previously.

The slider has a socket built in that anything can be attached to. In this case, I've attached an arm that holds a pen. on the right, there's a platform (14), a pair of rollers (5, 6), a set of pulleys (3), and a spool holder (9) that work together to create the drawing motion. The pen reciprocates back and forth on the slider, and the pulleys work with a belt to make the rollers turn continuously, feeding the paper through. This makes a sine wave!

Step 17: Draw Forever

Picture of Draw Forever

Linear motion can be used for an endless number of mechanisms. What will you use yours for?


Danimersha made it! (author)2017-10-19

That was fun and very interesting project. Thanks for sharing.

gestolh (author)2017-10-18

All in order now .Thank you .

SlartiB1 (author)2017-10-17

Not meaning to split hairs but this is an "(almost) Sine Wave Drawing Machine" as the extended peaks of the waves will be slightly more 'pointy' than the retracted troughs.

Linkey: h++ps://

gestolh (author)2017-10-14

Thank you for nut and screw ends . It looks a lot better now. However sorry to say that I find items missing in step 16 ,namely # 4 Socket x2 , # 7 Roller (Lower Passive ) and # 8 Roller ( Upper Active). Can you please upload these items ?

JON-A-TRON (author)gestolh2017-10-15

The names in the exploded drawing don't match the names of the STLs in that case. Lesson learned: henceforth all drawing names shall be consistent with STL file names.

The upper and lower rollers were missing, I've uploaded those. The "#4 Socket" file is actually two files: "couplerUp" and "couplerDn". Those are also in Step 14.

gestolh (author)2017-10-12

One of the best projects . Young family members are looking forward to see it working.I have printed most of the items but i am missing the " CAPS "Can you please upload the file ?

JON-A-TRON (author)gestolh2017-10-13

Thanks for catching that, just uploaded both caps (nut and screw ends) to step 13.

Betsy888 (author)2017-10-12

Love it! I am a high school teacher and want to make one of these and have access to a 3D printer, however it is not able to print flexible filament. Does anyone have a suggestion for what to purchase off-the-shelf that would replace the 3D printed belt?

JON-A-TRON (author)Betsy8882017-10-13

You might want to try an o-ring. There's a pretty sharp turn that a manufactured belt might have a hard time with. McMaster-Carr has lots of options.

Some of the belt suppliers listed here may be able to sort you out:

gestolh (author)2017-10-11

A very nice project .I have printed the parts but cannot find the " CAPS ".Can you please put up the file to download ? Many thanks in advance.

chemicalvamp (author)2017-10-06

Girlfriend asked me to print one for her.. Of course I said no. Lol

JON-A-TRON (author)chemicalvamp2017-10-06

I don’t know man, you’d earn a lot of brownie points for a project this intricate!

gravityisweak (author)2017-10-05

I'm loving this! It really makes me want a desk sized mechanism doing 18 different things at once from the same motor.

JON-A-TRON (author)gravityisweak2017-10-05

The tricky part is thinking of 17 more things to do.

gravityisweak (author)JON-A-TRON2017-10-05

I think putting as many examples as possible of mechanisms that convert one type of motion into another type, and having them all linked to each other at the same time would be great. Oscillation, rotary, linear, and some random irregular motion, geneva drive, worm gears, etc. I figure there's got to be a few ways to do most of that stuff!

JON-A-TRON (author)gravityisweak2017-10-05

Well, I'm slowly going through a list of mechanical assemblies that I'm making with 3D printed parts and they all use skateboard bearings and similar dimensions. Maybe I should put it all together to make some giant Willie Wonka useless machine...

gravityisweak (author)JON-A-TRON2017-10-05

That would be incredible! Standalone mechanical assemblies that can be combined into an ultimate form! It wouldn't be useless though, it would end up being a superb all-in-one display of multiple types of mechanics.

RogerR47 (author)2017-10-05

With a slight change to the arm, this wold be delightful powered hack saw. Assuming the arm held a standard 12" hacksaw blade and could guillotine, you'd be in business kaming fine cuts immediately!

JON-A-TRON (author)RogerR472017-10-05

Yeah, I think this is how a SawsAll works.

addictedToArduino (author)2017-10-04

I really enjoy your 3d printed mechanical projects! This one is especially good!

How did you make the exploded drawing? Is that a feature in Fusion, or some other software?

You know, I was just thinking I should do an instructable on how I do them. You can make explosion animations in Fusion pretty easily and you can make drawings from those, which is a nice feature because you don't have to make a new file and move all your parts to get the right distances.

I take the drawings from Fusion and open them in Illustrator to get the line weights crisp and do all the callouts and diagram lines. You can do all this stuff in Fusion, but the finished product is a technical shop drawing. The architect in me wants drawings to be pretty.

Thanks for the compliments! More mechanical projects to follow...

keebie81 (author)JON-A-TRON2017-10-05

That would be a great guide. I messed with animating once but a good guide would help. Same with getting a nice looking exploded drawing.

Cool! I definitely vote for the 'ible, and would love to see more mechanical projects!

IgorF2 (author)2017-10-05


JON-A-TRON (author)IgorF22017-10-05

Thanks man!

jashart (author)2017-10-05

I think this could be nicely adapted to wind guitar pickup coils.

JON-A-TRON (author)jashart2017-10-05

I bet that's how it's done in the factory.

gada888 (author)2017-10-04

Nice design

JON-A-TRON (author)gada8882017-10-04

Thank you!

inconceivable1 (author)2017-10-04

difinitively awesome!


About This Instructable




Bio: I'm a full-time Designer at the Instructables Design Studio (best job ever). My background is in residential architecture, film set design, film animatronics, media ... More »
More by JON-A-TRON:3D Picture Phone CaseBlade Runner Binoculars3D Printed Linear Motion
Add instructable to: