Jump to content


OnStep and DIY stepper motor goto


Recommended Posts

A few years back I decided to build an ror observatory (remote controllable) and settled on using Losmandy G11 mount in it.  I found a used "digital drive" non-goto model for a very reasonable price nearby, it was well taken care of.  Always looking to keep costs down, I opted to not purchase a Gemini Goto system for the mount.  I looked into other free or low-cost solutions but either they were needlessly complex or overly expensive. I decided to come up with my own solution and like many other projects in this forum the controller is Arduino based.

My first version of the controller used an Arduino Duemilanove (similar to the UNO) and a pair of Hurst "tin-can" gear steppers of 15:1 ratio.  The 48 step motors (12VDC) were driven by a pair of big easy drivers (A4988's, running the motors at 24VDC) in 16x micro-stepping mode.  The motors mount up just like the stock motors and even used the same cables as the digital-drive unit.  The firmware was refined to where it worked fairly well and reached goto speeds of nearly a degree per second.  I finished an ASCOM driver for it and had auto-guiding and pec working.  I was finally getting so reasonable quality images with my mount!  It was capable of just one-star alignment but I could also easily find objects and had a fully remote-controllable observatory. 

Still, I wanted faster goto speeds and as I learned more about what was possible and where the design limitations were I realized that the UNO wasn't the tool for the job.  The small flash memory size was a problem sure, but it's lack of two 16bit hardware timers was the real issue.  So I got myself an Arduino Mega2560 and proceeded to re-design OnStep to use seperate dedicated hardware timers for each motor.  I also took advantage of the additional serial ports of the '2560 to add a Bluetooth module and (along with a second command channel, OnStep uses LX200 protocol.)  I also started the development of an Android "Hand Controller" App to use that Bluetooth channel.

Now, the speed of the mount hadn't improved since the motors were the limiting factor and after kicking around the idea with a very knowledgeable fellow G11 owner we decided to directly drive the worms with NEMA17 400 step (0.9 degree) motors in 32x micro-stepping mode using DRV8825 (Pololu) drivers.  The micro-step size amounts to 0.19 arc-seconds which, even with stepper shaft positioning error factored in, is well below seeing.  Even better this gets rid of a slew of PE causing gears and teeth.  Turns out that the 360 tooth worm wheels of the G11 make this an easy mount to drive well for very little money.  These motors aren't very expensive, so I opted to buy quality new Oriental Motors' PKP series steppers, aiming for as much tracking speed torque as I could get.  Steps were visibly nice and even and OnStep would drive the mount to 2.5 degree/second speeds (which is as fast as an OnStep on a '2560 can go: 32 micro-seconds per step both axis driven.)  Periodic error was roughly cut in half  vs. the Hurst 15:1 motors.

More recently I've redesigned some of the step generation logic to smooth the exact timing of each step pulse to the motors to lower jitter.  This is during both tracking and gotos.  In-fact the efforts to lower this jitter is what really took the goto performance to the next level.   Jitter robs stepper power at high speeds, and noise levels from the steppers were lowered by this work as well. Too many features to get into each and every one but some of the important ones: 3-star align that corrects for polar axis mis-alignment, cone-error, etc, support for the ARM M4 based Teensy3.1 microcontroller, GPS PPS tracking rate control, refraction rate tracking, Parking, PEC (w/ index support), backlash compensation, ST4 interface support, micro-step mode control, etc.

Currently, OnStep has really started to settle down into a well-rounded system.  The Android App works on a wide variety of andriod devices, and controls most of OnStep's features.  The ASCOM driver hasn't needed any fixes in quite a while as well (POTH works and all.)

The 2.5 degree/second speed of my G11 turned out to not be the fastest the motors could go, last weekend I switched over to another DRV8825 based controller hardware at my observatory which has micro-step mode control wired in, where OnStep can switch the micro-step mode during gotos to achieve higher speeds (without need to send step pulses faster than 32uS.)  The mount is perfectly happy at 4 degrees per second speeds now (950X.)  I'll have to do more testing to see what it's top speed really is, since I didn't try for anything faster... and the OnStep I'm using now can go several times faster if the motors were up to it.

Have a look if you're DIY welling and want goto, everything described here is free and OnStep is open source.  The Android App has over a hundred active installs (and some don't use the App), so quite a few folks are up and running with this:


  • Like 3
Link to comment
Share on other sites

The video of the slow-moving mount on my web-site is from a year and a half ago when I had the only motors I could find in the little EM10 mount (better ones were found and it's faster now)... But, I opened up the observatory early tonight and shot a video of my Losmandy G11 moving around a bit to show how things work with suitable motors/gear-ratio:


  • Like 1
Link to comment
Share on other sites

  • 5 months later...

This might well interest me in the future. Thanks for the work. There is a source of large diameter worms and wheels in the uk and in some ways making the rest of a mount isn't that hard.

:sad: I'm getting a little sick of what can be bought.



Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.