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.
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:
- SkyChart, Cartes du Ciel, a very extensive planetarium.
- KStars (includes Ekos), another planetarium.
- Stellarium, a planetarium with the most realistic look of the sky.
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 on Teensy 3.2, 3.5 or 3.6, which has more processing power (32 bit CPU, running at 72, 120, or 180 Mhz with 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.
How To Build Your Own OnStep
There are several ways to build your own OnStep, detailed in the following:
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.
- Teensy 3.2
- WiFi Module
- Stepper Motor 400 steps/revolution.
- SilentStepStick Trinamic TMC2130 stepper motor driver
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'.
- Teensy 3.2.
- Stepper Motor, Bipolar, 400 steps.
- WiFi Module.
- SilentStepStick Trinamic TMC2130 stepper motor driver.
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 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.
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 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 ...