This is a configuration generator for OnStep, the open source full featured telescope controller firmware. Please note that it is not meant to be a comprehensive tool that covers all configuration parameters and options for OnStep. It is only meant to provide a basic working configuration for the most commonly used features. After you get the basics working, you can edit the generated Config.h manually to add more features.


Before you use this configuration generator, you MUST do the following:

By using this generator, you confirm that you have done the above! Use at your own risk!

If you face any issues with this generator, please report them in this thread.

Configuration Parameters

OnStep Version: Depending on whether you want new features, but potentially less stability, or tried and tested version with less features. Choose either the stable version, or the latest master version.
Mount Type: Dobsonians will almost always be Alt-Azimuth, unless they are on an equatorial platform.
Board: Which board will you be using for OnStep? Check the Wiki for more details on the capabilities, and complexities of each one.
Desired Slewing Rate [SLEW_RATE_BASE_DESIRED From the spreadsheet].
This is desired slewing rate in degrees per second. This value will be adjusted by OnStep to what the microcontroller can handle. Decimal value allowed.
Steps Per Worm Wheel Rotation [AXIS1_STEPS_PER_WORMROT from the spreadsheet].
This is the number of steps per full rotation of the worm gear. Must be an integer. Applies only to Equatorial Mounts, and only if you will be using Periodic Error Correction (PEC). If you will not be using a PEC sensor, then set this value to zero.

Axis 1

Axis 2

Stepper motor steps per rotation [Stepper-Steps from the spreadsheet].
This does not include any gear box attached to the motor.
Microsteps [Micro-Steps from the spreadsheet].
This is microstep when the motors are tracking. Note that different steppers driver models support different stepping ranges. More validation will be done when you use the config file from this generator to build the OnStep firmware.
MICROSTEPS_GOTO (not in the spreadsheet!)
This is the microstep value when the motors are slewing. This value depends on several factors, including: the specific microcontroller used, whether the board is wired up to allow on-the-fly microstepping mode change, the stepper driver model, ...etc. If your spreadsheet has a reasonable slewing rate, then start with 'Off' initially. If you find that the value in the spreadsheet causes slow slewing, then experiment with having a different value here than what is in the microsteps for tracking. More validation will be done when you use the config file from this generator to build the OnStep firmware.
Transfer gears/pulleys ratio [GR1 from the spreadsheet].
This is the overall ratio of any gears or pulleys that transfer motion from the motor to the main worm gear of the telescope. Use 1 if the motor is directly coupled to the worm wheel. This value can be fractional.
Worm wheel gear ratio [GR2 from the spreadsheet].
This is the number of teeth on a worm wheel that is coupled to the worm gear. Must be an integer. Values for some common mounts can be found here and here.
Stepper Driver Model: This is the specific model for the driver that you will be using for each axis. Note that the DRV8825 is not recommended, and the A4988 is limited in its microstepping. You are better off using the LV8729, TMC2130, S109 or TMC5160. The latter may need further editing of the values in the configuration file.
Reverse motor direction for this axis? This is useful if you find the motors moving the opposite direction of what you want, and don't want to change the wiring.
Step Wave Form: Depending on the board and stepper driver model, using PULSE wave form can speed slewing by up to 60% over regular SQUARE. If you are unsure, leave this unchanged.
Time/Location Source: Whether there is a module that provides the time and/or location, such as a GPS module, or a Real Time Clock (RTC). This is useful to compensate for the imprecise ceramic crystal on some boards, and to provide the time/date and the location automatically, without having to enter all that manually. You need to connect the Square Wave pin (SQW) on the module to the PPS pin on board. For STM32 boards without a built-in EEPROM, an I2C RTC with an EEPROM is required, such as the DS3231 module.
Buzzer: If you have a buzzer, OnStep can indicate certain events, such as the start of a slew, and arrival to target. Choose from Active buzzer (i.e. fixed tone), Passive buzzer with either 1 kHZ or 2 kHz, or None for no buzzer.
Automatically Start Tracking: Upon startup, should OnStep start sidereal tracking automatically? Valid only for Equatorial and Fork mounts. This should only be set to Yes for initial testing, until you get the controller fully working, and you are familiar with OnStep's startup procedure (N-Star Alignment). It should also not be used if the scope will be parked/unparked.
Will you be using the ST4 Port for guiding only, or for a Smart Hand Controller as well?
Will you be using an ST4 Hand Controller? If so, set this to Yes, otherwise, choose No.
PEC Sensor Do you have an index sensor on the RA worm gear? This can be a Hall Effect or Optical Interrupt sensor.
Limit Sense: Will you be using one or more switches to detect limits? For example, to prevent the optical tube from hitting the mount, pier or tripod?

After you have filled all the above values, click the button below to generate your configuration file.

Note: the generated file should overwrite the Config.h you got in the .zip file of OnStep.