A 3D printed linear stage

I’ve arrived at a point in the process of building a Raman spectrometer where I need to focus the diffracted light from the grating onto the CCD.

Naïve as I were one year ago when I started the project, I figured I would simply be able to print everything to specification and stop worrying and love the 3D-printer.

Close but no cigar.

I need to be able position the TCD1304 accurately. Ideally I would simply buy a linear stage from Thorlabs or Edmund optics, but precision is so expensive. And I’m cheap.

And afterall, how difficult can it be to make a somewhat precise linear stage? Not very difficult it would seem:


DIY 3D-printed linear stage. The dimensions are 35x35x13mm. A 2€ coin is included in the picture for scale.

The linear stage consists of two 3D-printed parts, a 40mm M3 screw, two pieces of a bicycle spoke (broken bikes are ubiquitous here in Denmark) and a couple of springs from various ballpoint pens.¹

M3 screws have a pitch of 0.5mm and with a precision of let’s say 1/8 of a turn of the M3 screw, it should be possible to position whatever is attached to the stage to a tolerance of less than 0.1mm.

We’ll see how it actually fares.

One more Kodak moment:


Assembling requires a bit of patience, especially when fitting the spokes. The holes are purposely just exactly too small, so you have to use the spokes as a hand drill.

The internal hexnuts are melted into the plastic using a soldering iron.

The internal hexnuts are melted into the plastic using a soldering iron.

If you manage fitting everything you should have a linear stage with no free play and possibly some blood on your hands. The range is about ±4 mm.

Here are the openscad-files for the linear stage.

¹ I’ve instructed the students at the high school to bring me all their worn out / broken pens. They’re still wondering why I would need dozens and dozens of springs in various sizes.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.