This is a proof of concept manual positioner/translation stage for optics or whatever precise things you need to place/move around. You do need some hardware to build it, but it is pretty low cost compared to a commercial version.
I am just using a standard nut and screw to move the stage, but it should be pretty straightforward to put in a more precision screw. I do plan to put in a ultra fine pitch screw into one of them in the future, but in my experience for many applications standard thread screws should be adequate.
I have tried my best to make the source code relatively editable and at least understandable. I am not a professional programmer or anything, so design patterns are not my forte. I wanted to make it easily changeable for people to use whatever materials they have available. I got most of them from mcmaster, but I am sure ace or a local hardware store should have everything you need. In the following list I have the mcmaster carr part number so you can see what it is.
Materials needed (as configured):
2x Springs with ID > 3/16" (9657K66)
2x dowel pins with 3/16" diameter and 3" length (98381A525)
4x bronze oil impregnated bushings (6338K311)
7x M3 nut
1x M3 screw ~ 30-40mm length.
6x M3 screw 16mm length
1x small square of tape(i used kapton) to protect plastic
I recommend using slightly longer springs and also maybe slightly larger diameter and k. it takes a while to get things to fit smoothly, but it should work pretty nice once you get it together. Using the 4 bushings which fit perfectly on the dowels constrains the motion well. There is no noticeable unwanted angular movement.
I want to try printing one off that does not use bushings and slides directly on the plastic. I also want to experiment with nutserts because tapping 3d printed parts is kind of wonky.
The files I provided are optimized for my printer, so there may be some weird stuff(mainly hole size). Feel free to edit the source code to make sure things fit snug. Luckily this thing prints pretty quickly.
I am also working on making the source a bit cleaner, but I was excited about how well this stage worked and wanted to get it out there.