OnStep: A Full Featured Open Telescope Controller

OnStep Telescope is an open, very capable and feature rich telescope controller by Howard Dutton.

This page was created because it was very difficult for me to find information about OnStep. The main venue for exchanging information on it used to be a closed Yahoo Group, where you must subscribe before you read previous posts. Nowadays, this has improved, with a Groups.io with a Wiki and posts visible to everyone without registering (more details below). Getting information without registering and getting approved is impossible. Even after you do that, it is very hard to get the information needed. Hence, this page.

OnStep Overview

Basically, it is a Do It Yourself (DIY) conversion of theoretically any mount to become a GOTO that can be controlled from a computer, or optionally via WiFi or Bluetooth, from a smart phone or tablet. Howard even created a free Android app for controlling the mount.

Features Of OnStep

OnStep provides much more features than most commercially available telescope controller.

  • Open Source: OnStep is fully open source. Anyone can study the code to know how it works, modify it for their specific needs, and share the source code as they wish. It can be adapted to almost any mount that you can attach stepper motors to. These can be either Equatorial or Alt-Azimuth mounts.
  • Configurability: OnStep has parameters for different gear ratios, and different motors with varying steps/microsteps.
  • LX200 Emulation: OnStep uses the standard LX200 telescope control protocol. This is supported by many planetarium packages.
  • WiFi: Optional, but highly recommended: The telescope can be controlled over WiFi, from an Android application on your phone/table, or from a browser.
  • Bluetooth: Optional. You can also control the telescope using Bluetooth from a phone/tablet.
  • PEC: Periodic Error can be recorded, averaged, and played back to reduce. Optionally, you can have a sensor to detect the zero position for the worm gear. This can be an optical sensor or a Hall-Effect sensor.
  • Limit sensor: Optionally, you can also have a sensor that would stop the telescope from moving. For example, it can be used to stop the telescope if it is going to hit the tripod, or when it points below the horizon.

Here are some examples of free Planetarium software that support OnStep:

On Windows, one can use an ASCOM driver. There is also an INDI, device driver for OnStep that provides support for the few extensions that Howard made to the LX200 protocol. INDI can be used on Linux, Windows or Macintosh.

Versions Of OnStep

There are basically two designs for OnStep.

The older one, based on ArduinoMega 2560 board (8 bit CPU at 16 MHz and 8KB RAM) as the brains, with A4988 or DRV8825 stepper drivers.

The newer ones are based either on the Teensy ARM Cortex: 3.2, 3.5 or 3.6, and STM32F103C8T6 ARM Cortex. They have more processing power (32 bit CPU, running at 72, 120, or 180 Mhz with 20, 64, 192, or 256 KB) and memory than the Mega, and the based on the Trinamic TMC2130 stepper driver.

The latter, as Howard explains, is far superior, providing more precision, and quieter operation. His findings are confirmed by emails in the Yahoo Group, and on Cloudy Nights.

Here is an article that explains how the why the Trinamic TMC2130 is superior, using microstepping.

How To Build Your Own OnStep

There are several ways to build your own OnStep, detailed in the following:

STM32 ARM Cortex M3

A very low cost, yet very capable option, is my own STM32 port of OnStep, using the $3 Blue Pill. You can get all the parts from eBay or AliExpress for a relatively very low cost, but you have to wait for 6 to 8 weeks. Or you can get it faster as a kit for about $35.

RAMPS 1.4 or 1.5 Board

In early December of 2017, Howard Dutton announced that he will be working on making OnStep work with the RAMPS 1.4 board, which is popular in the 3D printer community.

It integrates power management to various components, and slots for stepper motor drivers all in one board. It is driven from an Arduino Mega 2560.

The RAMPS 1.5 board has better fuses and heat protection for the MOSFETs.

For someone to assemble an OnStep based telescope controller using the above components, they buy a ready made RAMPS board, an Arduino Mega 2560, and stepper drivers (TMC2100 or TMC2208), and there very little component sourcing or soldering needed.

This option has two advantages:

  • Simplicity of Build: This is appealing for people who want a solution that is simpler to put together, and find the other ones (below) to be too daunting (sourcing many components, and soldering them).
  • Low Cost: The combined cost of components is a modest $50 or so: $10 for Mega 2560, $9 for RAMPS 1.5 board, and 2 X $10 for the TMC2130 driver.

The main downside is that the Arduino Mega 2560 is resource limited, having an 8 bit 16MHz CPU, and only 8 KB of RAM. Teensy based solutions overcome this limitation, but there are no ready made populated boards out there.

Using a Plain Perfboard

For this option, the components are all put on a plain piece of perfboard, and wires are jumpered using solder all over the place to make the right connections. This would be error prone for someone inexperienced, like myself.

User benula on CloudyNights shared pictures of his specific build. The motors are connected using DIN connectors for robustness.

Using Teensy Shield Board

This option is a step up from the previous one. Instead of a plain perfboard, one uses a Teensy shield board which comes with a 12 volt barrel socket, DC to DC converter for 5 volt power, and pin headers. By soldering the pin headers, there are less jumper wires to solder all over the place. Also needed is another perfboard shield that the stepper drivers and WiFi module will go on. The drawback of this solution is that it still requires some (though less) jumper soldering.

User TonyStar shared the details of his build on Cloudy Nights.

The following are the main components needed for Tony's version.

Sparkfun parts

DigiKey Canada Parts

DigiKey provides the same items as Sparkfun, but can be more economical and/or offer free shipping. DigiKey has a Canadian store, and free shipping for orders over $100. If you are in the USA, the same URL will work if you change '.ca' in the domain name to '.com'.

There are lots of additional pieces needed, such as a perfboard to build the project on, an RJ type connector if you want an ST4 port, sockets for connecting the motors, and capacitors.

Printed Circut Boards (PCB) Specific For OnStep

There are a few designs for Printed Circuit Boards (PCBs) created specifically for OnStep. They are hard to find at first, hence the details here.

Although these PCBs require soldering, it is all straight down through holes pre-made in the board. There is no need for a beginner to make decisions on what to solder to what using jumper wires. This way, the errors are minimized, and it is only tedious.

The cost of printing the boards is not cheap, each costing $40 to $45 in quantities ranging from a minimum of 3 to 5 at most providers.

At Fritzing, the fab they use (AISLER) the cost is cheaper. For example, for a 105 mm X 75 mm board (Howard's OnStep Max, see below), the cost is 44.88 Euro for 3 PCBs, VAT and shipping included (~ $66 CAD).

Still cheaper, there is EasyEDA, who quote USD $28.57 for 5 boards.

Barriers Should Be Reduced

In order to get the board designs below, it used to be that you have to first join the OnStep Telescope Yahoo Group, which is a restricted group, wait until you are approved, then go the files section, and after a lot of tedious searching, you will find two designs. As an open source contributers for the best part of two decades, I never understood why there are such barriers put in place. This hinders collaboration by adding barriers for potential adopters or contributors. If spam is the problem, then make the group read only, and still require people to be approved if they want to post messages.

The Yahoo Group is now superseded with am OnStep at Groups.io, and its Wiki pages.

Steve's PCB

The first PCB offered was by Steve Sagerian. It is based on the older components (Arduino Mega 2560 and DRV8825 stepper drivers. As I mentioned above, this design is now superseded by more powerful Teensy/TMC2130 based designs.

Howard's OnStep Mini PCB

Howard Howard Dutton designed an OnStep Mini PCB board, and posted its details on Cloudy Nights. This is a vertical build, meaning all the power, USB and ST4 connections are at a right angle to the board's plane.


A very low cost, yet very capable option, is my own STM32 port of OnStep, using the $3 Blue Pill. You can get all the parts from eBay or AliExpress for a relatively very low cost, but you have to wait for 6 to 8 weeks. Or you can get it faster as a kit for $35.

Christian Kampf CKScope

There is another design by Christian Kampf, called CKScope, based on the Teensy 3.5 based. It lacks an ST4 autoguiding port. Chrisitan's design has an advantage that it does not dictate what kind or orientation for the ports. It merely has connectors on the board, and it is up to the implementor to connect them to the box with whatever means they want.

For example, one can decide to use RJ11 or DIN cables to the motors. Or whatever 12V or 24V power in whatever package needed, and so on. Even the fuse is on a connector.

Although this design adds complexity, and labour, it is very flexible.

Sebastien Durand's Design On Fritzing

Yet another design based on Teensy 3.2 by dragonlost94 at Fritzing. Fritzing is an open source application, and a web site where you can share designs and even order a PCB manufactured. See Aisler above. Also see Sebastien's modified Max PCB below.

Howard's OnStep Max PCB

Howard also designed an OnStep Max PCB, and posted its details on Yahoo Group in the Files section, as well on EasyEDA.

It adds two controllers for two more motors, such as a focuser and a rotator, or two focusers. Howard has already created focuser controller firmware (one for DC motor, and the other for steppers).

It also uses the Teensy 3.5. Being on EasyEDA, it is very low cost compared to other solutions.

In order to make ordering the parts easier for OnStep Max, I created a
Bill of Material in .csv format. If you go to DigiKey (US or Canada site work the same), you are given the option to upload a .csv file. Upload this file, and it will create a shopping cart with the quantities needed.

Note that I am a complete novice to electronics, and this BOM has bnot been verified by someone. If you start with this BOM and find that you need to correct or add items, please send me a message via the feedback form to let me know the exact DigiKey item number and quantity.

Sebastien Durand's Modified OnStep Max PCB

After Howard finalized the OnStep Max PCB (see below), Sebastien Durand made a few modifications, mainly a 'stretched' design to add space between components, but it still fits the low cost 100mm x 100 mm footprint.

Here is Sebastien's modified OnStep Max PCB.

Sebastien also added part numbers from both Mouser and DigiKey to make it easier for those who are trying to build his version of the PCB.

More Resources About OnStep

Here are more links to people who have implemented OnStep by themselves:

  • A project for converting an old CG-11 mount to Goto, using direct coupling of the motors to the worm gear. This way, he avoids Non-Periodic Error (NPE) from the gear reduction.
  • A post by Howard noting that the Teensy + TMC2130 are superior to Mega 2560 and DRV8825.
  • A post by Howard Dutton from 2015 on StarGazersLounge.
  • A video by Howard Dutton of his modified Losmandy G11 mount slewing using OnStep.
  • Another OnStep Project
  • Kai Wicker modified a Vixen GPD2 mount to work with OnStep. His solution is a Teensy board, and RAPS128 stepper drivers.
  • A picture of a 3D printed OnStep case based on Teensy and TMC2130. Very compact and functional.
  • Christoph Reinhardt, in German, (Google translation) modified a Vixen Super Polaris to work with OnStep. He provides detailed schematics on what he did. His version is AdruPilot Mega
  • A video of a custom mount using Onstep.
  • An EQ5 mount using OnStep, controlled from a smart phone.
  • Another mount using OnStep and a tablet.
  • Hackaday article

The above translate into advantages for OnStep over other open telescope controllers, such as AstoEQ:

  • Have Bluetooth and WiFi support baked in.
  • Free OnStep App available in Google Play Store, so the mount can be controlled from an Android device. No hand controller needed.
  • Supports higher resolution options when using the TMC2130 controller by microstepping and can go down to a tiny fraction of an arc second that way.

Too bad OnStep does not sell a pre-made controller ...





This is a wonderful compendium of work on the MaxPCB and its variations by others! Thank you very much! After searching through the posts on the Onstep group struggling to come up to speed on the new design I appreciate the work you put into this.

Exactly why I created this page

It is very hard to find information on OnStep beyond the basic stuff. The Yahoo Group is good for discussion, but not a convenient archive for past discussions, nor a readily available resource for HOW TO start building your own controller.

That is exactly why I created this page, and glad that it helped someone.


And it's this lack of info that I personally feel is important for sorting out bugs, etc, let along spending money to build it and be left in the lurch.

I actually like AstroEQ, more so after reading the whole thread at Stargazers Lounge (which has a wealth of info). I feel more confident in building that project because I see great success stories being told, plus the build experience where everyone helps to solve each others issues. Not only that, it tends to be the same situation for everyone, as the problems/issues are the same, because there's no (if any) variation on the project. There's too many different versions of OnStep, which in turn produces more issues/errors. The extra features OnStep gives doesn't really out way AstroEQ's solid build and compatibility. In my honest opinion, that is. But I shall keep a watchful eye on OnStep.

Agree and disagree

I agree that OnStep is daunting, hence this very page.

For OnStep, there are lots of instructions 'you can do X or perhaps you prefer Y' which is fine for an audience with an electonics background, but is quite overwhelming for someone without that background (like me).

But if you look at what has been build, it is amazing. It is very flexible, can do Alt-Az mounts, as well as equatorial. It can do PEC, ...etc. So feature wise, it is far more than just an EQCOM controller.

Also note that OnStep is a newer project than AstroEQ, so the adoption rate is less. One more factor is the hoops one has to go through to get the information needed to built a controller, such as the Files section on the Yahoo Group, ..etc.

But things may change soon, because Howard has designed the OnStep Max PCB, and it is available at a very cheap manufacturer of PCBs. Perhaps that will help with adoption.

AstroEQ has the edge that you can buy a pre-made controller. No one offers that for OnStep (yet).

Anyway, choice is a good thing, and having a variety to choose from is great.