OpenAstroTracker - a DSLR Tracking & GoTo Mount for Astrophotography




Introduction: OpenAstroTracker - a DSLR Tracking & GoTo Mount for Astrophotography

About: I'm a mechanical engineering student from Germany. I like everything space-related, astronomy, tinkering and making things

Astrophotography is an amazing hobby. The ability to capture the wonders of our cosmos from your backyard is truly addicting and perspective changing.

Anyone who has dabbled into the hobby (or tried to do so) knows that it is probably one of the most expensive hobbies one can get into. Surprisingly it is not the camera or lens/telescope that is the most important, it is the mount! Usually, even on proper telescope setups, the mount costs twice as much as the telescope. All of the pictures I link here are taken with sub 50€ vintage lenses and a old astromodified Canon 450d (~100€) (and the OpenAstroTracker of course).

Why is the mount so important? Because the earth is rotating, and it is rotating quite fast! Take a 200mm lens and everything will have drifted out of view in just 15 minutes. To add to this, most objects in the sky are very faint, so it is necessary to expose for a long time, up to several minutes. During an exposure the mount has to compensate earths rotation very precisely so nothing in the image will have moved, not even as far as a pixel.

The OpenAstroTracker does this very well, and more importantly, cheap. I have opted to use the cheapest possible components, so the overall cost of non-printed parts are around 50€. Because the mount acts as a giant gear itself, it is possible to use cheaper motors. Because the mount is fairly large, it was possible to add a second motorized axis to add a GoTo function. This means you can put "Right Ascension" (RA) and "Declination" (DEC) coordinates of an object into the Arduino and the mount will point the camera there automatically. This can save quite some annoyance searching for something that you cannot even see in the live view of your camera.

Some more things:

This is not a miracle device that will magically give you beautiful pictures. Just as every other piece of technology, be it 3D printers, cameras, or commercial trackers, this will take some time to get used to. So please dont expect perfect results on first try.

Also, Astrophotography is an incredibly complex thing, the learning curve is very steep. I will supply you with as many guides about the mount as i can, but you will have to be able to do some research about general astrophotography on your own. There are plenty great guides out there.

There is a autoguiding add-on, the OpenAstroGuider. This is optional and only necessary for high focal lengths or very long exposures.


  • 3D printer with a bed size of at least 200x200mm
  • please see the shopping list for non-printed parts. There are some links to shops supplied, but please do some research and deal-hunting on your own. All parts should cost around 50€, not more than 70.
  • around 500g filament, I recommend normal PLA because it flexes less than other materials

Step 1: Selecting the Right Parts to Print

THIS INSTRUCTABLE IS CURRENTLY OUT OF DATE! Please use the guides here and here

Uploading all files here would be too confusing, so please get them either from Thingiverse or GitHub.

NEW: See the printed parts chooser to make it a bit less confusing!

  1. If you have a printer with a bed size of 200 to 220mm x/y, get the "for 200x200 printers" .rar file and print those files instead of the normal ones. Be aware that the parts for all latitudes are contained in that .rar, so choose the right one! If your printer is larger just ignore those files.
  2. Find out what Latitude you live in. Useful site: . Southern latitudes work the same as northern ones!
  3. Within the files, you will find some archives called e.g. 30deg.rar, 50deg.rar etc.. Choose the one which is closest to the latitude you live at. So if you live at e.g. 38°N you choose 40deg.rar and print those parts. If you happen to live just between two "versions" i recommend rounding up, so if you live at 35° take the 40deg files. You might have to lift the backside of the mount a couple centimeters.
  4. The first file to print should be the "lens adapter". It is part 09, the .scad file. I will explain how to use it in the next step.
  5. I recommend printing part 15, the pulley, and see if your printer can handle it well. If not, buy pulleys as described in the shopping list.
  6. The numberation of the parts roughly follows the build order, but it doesnt really matter in which order you print the other parts.

What parts:

Latitude specific parts:

  • each part once
  • Note that 20deg has its own version of 01a

All latitudes:

  • part 05, twice
  • part 05.1 twice
  • part 12: twice
  • part 15, twice

If you have bought pulleys, take the parts 11 and 14 with the addendum _low.

If youre planning to use a lens that has a diameter larger than 75mm, use the parts 07 and 08 with the addendum _biglens. If youre planning to use the OpenAstroGuider, get those parts with _guidescope. If youre planning to use a big lens and the guider, just use _biglens, the mounting is included in the lens ring instead.

Update May 2020:There is a new camera mount as a alternative to the "lens ring" mount. It looks like this. It has several advantages over the lens ring mount, but needs more parts. Check the shopping list for that. The files for it are in the "universal_mount.rar" and replaces the parts 07, 08 and 09.

I highly recommend checking the remixes section of the OpenAstroTracker, as well as this collection. The community is actively making add-ons, fixes and gadgets for the OpenAstroTracker and this is how to find those.

Recommended print settings:

For all parts i recommend at least 4 walls or more. Use around 20% infill and take a strong pattern like grid, cubic, gyroid. 0.2 layer height.

Part 12 & 13: Use a low layer height, .1 or .12 to get the threads nice.

Part 15: this is the pulley, use 0.1 layer height and a very low speed. This has to be perfect. Buy them if you cant achieve that, they are a few bucks and cause major problems otherwise.

Step 2: How to Use the Lens Adapter Generator

Disregard this part if youre using the "aluminum extrusion mount"

I recommend printing this part at first. If you cant make it fit, the mount will not work. However, check the remix section of Thingiverse, there are some different solutions by other people.

There are currently 3 different lens adapters:

If your lens has a diameter smaller than 75mm, use the normal 09_lens_mount.scad.

If your lens is larger, use _biglens.

If you want to use a big lens and the guidescope use _biglens_guidescope.

You will need OpenSCAD

Take a look at an example for my lens.

  1. Start by roughly estimating the center of gravity of your lens with the camera attached.
  2. The coupler is going to be 30mm long, so you need measurements of 15mm in either direction from the center of gravity.
  3. Measure the first diameter. This is 67mm for me, so i put that into Diam1.
  4. The next diameter for my lens is the edge of the focus ring, so i put 65mm into Diam2.
  5. The distance between these points is High1; 9,5mm for me. First section done.
  6. The rest of my lens is flat, so i measure a diameter of 62mm and put it in Diam3 and Diam4.
  7. Because there are no more diameter change, I put High2 as the rest of the length of the coupler, which is 30mm - 9,5mm = 20,5. I leave the other values at 0.

All High values have to add up to 30mm. If your lens is flat, put its diameter into Diam1 & Diam2 and put High1 to 30. Leave the rest at 0. I recommend adding 0,5mm or more to the diameters as tolerance and definitely put some isolation tape (or similar) into the coupler to not scratch your lens. Also, dont screw this too tight! It will hold fine with loosely tightened screws.

If your lens has little mounting area, reduce "length" to accommodate for that.

Step 3: Assembly

For a rough assembly guide, please see this document.

Some more notes:

  • The belts should be tight, but not super tight. If they sound like a guitar, thats too tight! If they visibly sag, thats too loose.
  • If the screw holes are too tight, widen them with a knife or hex key or similar.
  • The bearings on the RA/DEC assembly should have a really tight fit. It is normal that you need brute force to get them on. They should under no circumstances move on their own or from the weight of the camera. If they do move, check your printers calibration or add some el. isolation tape around the pole they sit on.

Step 4: Wiring

StepperRA is the one that sits on the RA axis, so the big wheel.

I recommend making the wiring for DEC long and route it over the back and over one of the poles. Leave enough room so the wheel can rotate fully without any cables dragging.

Note: It is normal that the steppers get warm, but if they get too hot to touch you have to reduce the voltage on the buck converter! It has happened that the steppers caught fire because they got too much juice, so please have an eye on the temperature!

Step 5: Uploading the Code

Download the latest version of the Arduino IDE.

Download the latest firmware for the OpenAstroTracker from here. Check this page frequently, development is very active currently and theres new features and bugfixes almost weekly.

  1. Unzip the code somewhere.
  2. Find the "OpenAstroTracker.ino" and open it with the Arduino IDE. Note: The .ino files have to be in a folder called "OpenAstroTracker"
  3. Under Tools > Libraries, search for "accelstepper" and install the one by Mike McCauley
  4. Connect your Arduino to a USB port with a USB-B cable
  5. Under Tools, make sure the right board, port and programmer are selected. The Port will be different depending on your computer, however on windows it is almost never COM1
  6. Hit upload (ctrl+u)

Note: before uploading you will have to set some settings in the code. Don't worry its very easy. The first thing to do is to set which version of the RA-ring youre using. On the first tab of the code, find the lines that start with "// int RAStepsPerDegree". If youre using the v2 ring (the one with the belt grove instead of the ridge) remove the two slashes on the bottom one. Also, add two slashes infront of the "#error" line.

Now find the "Globals.h" tab. Here you can enable or disable various setting by simply uncommenting or commenting them. For example, if you want to use your computer as a remote control, you have to uncomment "#define SUPPORT_SERIAL_CONTROL". If you for example dont need the Points of Interest menu, simply add two slashes // infront of "#define SUPPORT_POINTS_OF_INTEREST". Note: the Arduino Uno has limited memory and enabling all functions will take too much storage.

Several cases for the Arduino can be found either here or here

See the LCD guide for how to use the Arduino.

Step 6: Using ASCOM

Now this is the thing where the OpenAstroTracker really shines. Theres lots of trackers out there, also the commercial ones, but they lack one thing the OpenAstroTracker has. Full fledged, two axis GoTo. This seems cool at first, but let me tell you what this means and why it is not only cool, but straight up amazing.

But first of all, what is ASCOM and what does it have to do with the OAT? ASCOM is a communication software that is used by pretty much EVERY astronomy software and hardware. If your hardware can communicate with ASCOM, it can also communicate with every software. So if you happened to make a cool little 3D printed mount, you dont have to teach it 50 different protocols by 30 different companies. You just need to teach it ASCOM and it will be compatible with everything, hardware and software.

A showcase what this means for the OAT: I put it outside, plug it to my laptop and start a astrophotography program like NINA or SGP (or literally any software that supports ASCOM). I tell that program to connect to the OAT and my camera (because yay, ASCOM is even compatible with most DSLRs) then choose some target. I tell SGP to move the mount to the coordinates, take a picture over the camera, plate solve that picture, see if the camera is pointing exactly where its supposed to, and if necessary send a correction to the mount and repeat until its <20px exact. Amazing. And i havent touched anything during that procedure, its fully automatic. I could also tell the software to do that at 2am while i'm asleep, take pictures until 5am and then park the mount and stop everything. Now thats something your average DSLR mount simply cannot do.

How to install and configure ASCOM: download the latest driver from the GitHub releases and install it. To bring up the configuration you need to open any ASCOM program first, Stellarium for example. Configure a ASCOM telescope and in the devices choose "OpenAstroTracker Telescope". Hit properties. Choose the right COM port here and enter your precise Latitude and Longitude. Click ok in both windows and thats it. You'll only have to do this once (except if your COM port changes), the next times you can connect to the mount straight without configuration. Easy.

I have to give a shoutout before the next step. This software has not been written by me, my coding skills are FAR too bad for something like this. All credit goes to the amazing community of r/OpenAstroTech and the people who have written this code.

Step 7: Calibration

Now that the mount is build and all cables connected is it time for calibration. This is sadly necessary because slight deviations from printing can have a big effect. Also some steppers seem to behave different than others.

A complete write-up for the calibration can be found here

Some more notes on that:

  • Additionally to the 47mm method, center the RA wheel and let it move 6h up or down. It should move exactly 90° and the outmost strut of the wheel should line up with the stepper.
  • You can use decimals on RAsteps and DECsteps.
  • If you change RAsteps your trackingspeed will be affected, so get this right first and then dont touch it anymore.
  • You can adjust the speed and acceleration values. If the speed is too high the motors will stop turning. Note that temperature affects this, just because you can use speed 500 inside doesnt mean it will work when its 0°C outside. From my experience speeds around 300-400 are good. If your steppers get stuck reduce the speed by 50 or 100.
  • You can use the limit values to create software boundaries to prevent the lens from colliding or the RA ring from falling off the end.
  • If youre in the southern hemisphere, change "boolean north = true;" to false and turn the wiring for the RA stepper around.

Step 8: Bring It Outside!

It is best to place the mount on a sturdy table. There is currently no tripod support.

Point it roughly north and follow the steps described in the setup guide

The current polar alignment works good, but isnt extremely precise. In a future update i will include assisted drift alignment which is more precise.

After Polar Alignment, point the camera as far south as you can (0-45° DEC) to calibrate the trackingspeed, as described in the previous step.

After that you can start taking pictures! Definitely use a remote shutter, i recommend using a laptop. For 200mm lenses (not factoring in the crop factor), 1 to 2 minute exposures should work well. 300mm lenses work too, but thats a bit borderline. Anything higher will need autoguiding.

If you want to know more about how the polar alignment works, read though the polar alignment paper. This is a little bit outdated, the "clips" dont exist in the current design. Centering is done by estimation currently, but that works good enough.

A full list of all guides can be found here

Step 9: Join the Community!

There is a small but steadily growing and very active community waiting for you! If youre building the mount and have questions or ideas of any kind, youre not alone anymore! Feel free to head over to r/openastrotech and join the fun

3D Printed Contest

Participated in the
3D Printed Contest

2 People Made This Project!


  • Make it Move Challenge

    Make it Move Challenge
  • Space Contest

    Space Contest
  • Soup & Stew Speed Challenge

    Soup & Stew Speed Challenge



10 months ago

Is there a detailed guide for the wiring and Mega setup. A step by step guide?


Question 10 months ago

Hello; do you think it would be possible to make the same changes to this old celestron Fork? I attach images
Regards tanks


11 months ago

I printed and assembled my OAT, that worked fine.
But now I despair of getting the Arduino to work... I am not familiar with that thing.
When I uploaded the code and plug it, the lcd becomes blue but does not show anything.
Does anyone have an idea what I made wrong ?


Question 11 months ago

I´m about to build the OAT.
Where can I find information how to connect it to a PC?
How do I connect the Cat6 Keystone Module?
Is there a guide for wiring?


12 months ago

The project itself is very interesting and probably the creator devoted many hours of work to it, which deserves respect, but ...... , a total rubbish in files. 16 different versions, nowhere to list which parts to which version to print. No assembly photos, you have to guess everything! Too much chaos for me, that's why I gave up the construction of this project.


1 year ago

This looks very interesting! I am living at 62°, do you think the 50° files would work for me? Thanks!


1 year ago

Hey - nice work. I've assembled mine, but huge problems with getting the motors to drive it. have you thought about gear drives for the rings? I'm thinking of modifying mine to allow for gears. So, if you have thought about it - any ideas would definitely be a great boost in getting this done..
Thanks again - good job!


Reply 1 year ago

What kind of problems do you have? If the motors cant move it, doublecheck if they're receiving 5V.

There is a reason why i'm not using gears and why the mount looks like it does. When driven slow, like its necessary for astrophotography, any gear will produce an error. The cheaper/less precise the gear is, the more of that error it will produce. It is basically a permanent deviation to the tracking speed, sometimes faster, sometimes slower depending on where on its cycle the gear is. If you want to know more about this, google "Periodic error".

The reason why the OAT looks like it does, is because the outer large ring acts as a large gear itself. Because it is so large and turns SO slow, the error it produces doesnt have such an impact. If you'd add gears now, especially printed gears, i can promise you that you will actually get worse performance.

If you wanted to improve performance, it would be better to upgrade the steppers to some 0.9° NEMAs. I'm currently testing with those and will support them "officially" in a while. But i suggest you try to get the normal steppers to work, cause they DO work. They either dont receive enough Voltage or your camera isnt balanced properly


Reply 1 year ago

Hey - Thanks - I appreciate the response. The issue that I'm having is that I noticed that the stepper was not following (tracking) properly - it actually wasn't moving at all (and, yes I understand and have experience with the movement of the earth, so know what to expect). I decided that I would see if I could move the mount properly, in a go-to manner, and found that one motor worked in one direction, but not the other, and the other motor wasn't moving at all - in either direction. In going through the electrical I noticed that the power was good and reading properly 5v stably, and the driver boards leds were indicating signals being sent to the motor - but, the motor was not moving. All electrical wiring was checked and I found them to be conductive. so, the only two things I could think of was 1) the motor wasn't strong enough to move it. Or 2) there's a problem with the driver or stepper motor itself. The solution would be to buy more motors or steppers, and see if that would solve the problem. But, I wasn't really willing to do that and find out that it didn't solve the problem and I was looking at an issue where there was more resistance than there should have been in this design because of something wrong with my printer, or something else....

So... as you can see - I have a pretty good understanding of the issues being dealt with here. Except - I am just not experienced with the stepper motors and the Arduino programming/system (being more of a mechanical person than not).

I'm up for going with the .9 degree steppers, and was looking for an option for that, but hadn't found one yet (I didn't like the 1.8 degree steppers as being too large a step for this).

I will see if I can diagnose further, by further testing with other motors and driver boards (I think I have some others that were being used on another project that I've shelved (an auto-focusser for my telescope that I've decided to not use).

I think I will be moving up to a stronger motor - either way, as it will also help me gain more experience with the Arduino system.

Anyway, if you wouldn't mind letting me know when there's an option and info available for the configuration of the .9 degree motors - I'd appreciate it.


1 year ago

amazing work!! excelent. can we adapt design to a 6" telescope tube??


Reply 1 year ago

Thanks for reply. very very perfect project i have ever seen on tracking similar systems. best regards. good luck


1 year ago

What is the max focal length until you need to use the guider? and do you have to have everything connected to able to detect the openAstrotracker in ASCOM?


Reply 1 year ago

I wouldnt go much over 200mm without guiding.

Technically you just need the Arduino and a USB cable to detect it. Be sure to enable #SUPPORT_SERIAL_CONTROL in the globals.h


1 year ago

build complete. now need a clear night...


1 year ago

I´m terribly interested in build one of this, awesome work, thankyou for share it !
I have some doubts...
I have two L298 stepper drivers and some Stepper motors different from the ones you use. Will them work ?
Also, I have a Nikon D5300 camera, and the part that says about plate solve...
How to connect the DLSR to the AstroTracker and the Arduino to the laptop, as arduino has only one USB ? I´m feeling dumb here.
Sorry If Im missing something. Sorry also for my english, I´m brazilian.


Reply 1 year ago

Other steppers should work, if you can get around the same steps/rev as the 28bjy (4096 steps/rev). Just keep in mind that, if your steppers are running on more than 5V, you need a suitable powersource that can supply the whole night. You'll also have to make your own mounts for the steppers, but that shouldnt be too hard to do.
The way the connection works: The Arduino and the camera both get connected to the laptop, one USB port each. The laptop then does the communication between them over ASCOM, the camera doesnt directly talk to the arduino


Reply 1 year ago

Great ! Thankyou for the explanation. Also, I would like ask you about the Longitude and Latitude. I live in Brazil, my latitude is -23.6 and longitude is -46.5.
Is that a problem ?


Reply 1 year ago

The mount currently works in a range of 15-55° North and South, so youre fine. Just print the "20degree" parts. However, polar alignment is much more difficult in the southern hemisphere as there is no bright star close to the celestial pole. You will either need so called "drift alignment" which takes a bit longer or some computer based method which requires a laptop