Last edited · 164 revisions  

 


Configuration

In order to customize OnStep's behavior to each users requirements there are a variety of configuration settings in the Config.h file.

Instead of editing the Config.h file manually, you can use the web based Online Configuration Generator which gets you a basic working file quickly by answering a few questions. You can later edit the same file further to add more options, when you need them.

If you are manually editing teh file, then many settings are optional but those settings that must always match your hardware and must be set properly are highlighted in red.  In some cases that's enough to get a working telescope controller but usually you also have to fill in the stepper driver information also, at a minimum, which is highlighted in yellow.  In all cases you should only change the Value column of the Config.h file to the required selection.

There are numerous checks performed at compile time:  Read the compiler warnings and errors, they are there to help guard against invalid configurations.

The Config.h file settings are categorized as follows:


PINMAP

This lets OnStep know what hardware it's going to be running on.  This also controls which pin-map is associated and which micro-controllers (MCU) aka "Boards" (Mega2560, Teensy3.x, STM32, etc.) are allowed.

Parameter Name

  • PINMAP
    • Default Value: OFF
    • Other Values: MiniPCB, MiniPCB2, MaxPCB, MaxPCB2, STM32Blue, Ramps14, MaxESP2, MaxESP3
    • Notes The most common selections are listed above, see OnStep's Constants.h file for the complete list.
    • Reminder: Micro-controllers are selected in the Arduino IDE's menu Tools->Board.

SERIAL PORTS

These ports provide a way for the various control applications to communicate with OnStep.  Either communicating directly as TTL serial or across another media such as USB, WiFi, Bluetooth, RS232, etc.

Parameter Name

  • SERIAL_A_BAUD_DEFAULT
    • Default Value: 9600
    • Other Values: 9600,19200,57600,115200
    • Notes: The primary interface SERIAL_A usually the same USB virtual serial port used to upload the OnStep Arduino Sketch and is also used for USB PC connections (for ASCOM for instance.)
    • Reminder: This should almost never be changed.
  • SERIAL_B_BAUD_DEFAULT
    • Default Value: 9600
    • Other Values: 9600,19200,57600,115200
    • Notes: The secondary interface SERIAL_B is a TTL serial port that is often attached to the WiFi or Ethernet Add-ons (which "bridge" the serial traffic to IP.)
    • Associated Options: The SERIAL_B_ESP_FLASHING ON option allows upload of firmware to the ESP8266 WiFi Add-on through OnStep.  This is so you can update everything without opening the controllers case to pull the WeMos D1 Mini (or ESP-01) for flashing.  Only two OnStep controllers allow this so far, the MiniPCB1 and MaxESP3, and then only if setup for it (shunts in the correct positions.)  Just connect to OnStep on its primary serial interface (SERIAL_A) and send the :hF#:ESPFLASH# commands to place the controller in firmware upload mode.  See the WiFi Add-on's Wiki for more information on how to flash the ESP8266.
    • Reminder: This is usually not changed.  This port might not work on an MKS Gen-L due to the boards h/w design.
  • SERIAL_C_BAUD_DEFAULT
    • Default Value: OFF
    • Other Values: OFF, ON, 9600,19200,57600,115200
    • NotesA third interface, SERIAL_C is sometimes present as a TTL serial port also in which case a HC05 Bluetooth adapter or other device can be attached in similar fashion to SERIAL_B.  When running OnStep on an ESP32 SERIAL_C is the virtual serial port for its built-in Bluetooth hardware and can be enabled by using the ON setting.
    • Associated Options: The SERIAL_C_BLUETOOTH_NAME "OnStep" option applies only to the ESP32 and allows you to change the name of the Bluetooth device.
    • Reminder: This port is often used on the MKS Gen-L as RX2/TX2.  On a MaxPCB2 this is RX4/TX4.

MOUNT TYPE

Set this to match your mount type.  The default Meridian Limits in GEM (German Equatorial Mount) mode are 15 degrees past the Meridian on the East or West side before the mount flips.  The Meridian Limit defaults can be changed using run-time settings.  In FORK and ALTAZM (Dobsonians etc.) modes Meridian Limits are disabled allowing a full range of motion but in a single orientation without Meridian Flips.

In spite of its name the GEM mount type can be used with Fork, Yoke, and other types (but not ALTAZM) as well depending on how you configure the Limits and use the Preferred Pier Side feature.  The GEM option can even allow a full 360° range of motion on either side of the Meridian should that be required for unobstructed and other more exotic designs.

Parameter Name

  • MOUNT_TYPE
    • Default Value: OFF
    • Other Values: OFF, GEM, FORK, ALTAZM
    • Notes: The Home Position is always pointing at the NCP (North Celestial Pole) or SCP (South Celestial Pole) depending on the site Latitude being in the northern or southern hemisphere.  For GEM mounts the HA (hour angle) is 6 hours for FORK mounts the HA is 0 hours (on the Meridian.)

USER FEEDBACK

These options provide some user feedback as to what OnStep is doing.

Parameter Name

  • LED_STATUS
    • Default Value: ON
    • Other Values: OFF, ON
    • Notes: Illuminate the corresponding LED when OnStep is running but idle; when sidereal tracking is enabled the LED will flash 5x a second.
  • LED_STATUS2
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Illuminate the corresponding LED when OnStep is doing a goto, off otherwise except if PPS is available.  In which case the LED will flash 1x a second when a valid PPS signal is present.
  • LED_RETICLE
    • Default Value: OFF
    • Other Values: OFF, 0 to 255 (0 to 100%)
    • Notes: Default reticle illumination power for a polar-alignment 'scope (etc.)  The Android App, SHC, and even a basic hand controller also have controls to adjust the reticle brightness.
  • BUZZER
    • Default Value: OFF
    • Other Values: OFF, ON, 100 to 6000 (Hz freq.)
    • Notes: Use ON where a piezo buzzer makes sound whenever power is applied or use the frequency in Hz where an attached speaker needs an oscillating signal to make sound.
    • Associated Options: Use BUZZER_STATE_DEFAULT ON to enable alert sounds at boot or OFF to disable.  You can also enable/disable sound in the run-time settings.

TIME AND LOCATION

A time location source can provide the Date/Time and optionally the Latitude/Longitude to OnStep.  Only the GPS option is capable of providing both Date/Time and Latitude/Longitude, all others provide only the Date/Time.

  • TIME_LOCATION_SOURCE
    • Default Value: OFF
    • Other Values: OFF, DS3231, DS3234, TEENSY, GPS
    • Notes: The DS3231 uses the OnStep default I2C bus on the micro-controller.  The DS3234 uses the default SPI bus (see your pin-map to locate CS etc.) on the micro-controller.  The TEENSY option uses the on-board Teensy3.2 RTC hardware (which requires adding a crystal and battery.)  The GPS module needs to be attached to a hardware serial port (see below.)
    • Associated Options:
      • Adding a GPS to OnStep requires specifying an otherwise un-allocated hardware serial port for GPS use.
      • For a Teensy3.5/3.6 you could use Serial6 for instance and add the following line to Config.h: "#define SerialGPS Serial6".
      • (master-branch) The default baud rate for this port is 4800 but that can be overridden with this line in Config.h: "#define SerialGPSBaud 9600".
    • Reminder:
      • The DS3231 RTC chip is an I2C device and so has an address (0x68) which is used to identify it on the I2C bus.
      • The DS3231 module we use is really two devices in one, it also contains an AT24C32 I2C EEPROM at address (0x57) which is required for the STM32 version of OnStep to operate.
      • Sometimes a TLS also provides an high accuracy PPS (Pulse Per Second, see SENSORS section below) signal that can help stabilize the OnStep's tracking frequency.

SENSORS

See the Weather.ino file for the required libraries that must be downloaded and installed in ~/Documents/Arduino/Libraries/ for the BME280 and OneWire support to function.

(master-branch) In some board designs it is handy to provide an extra logic level (3.3V) power connection for use as a pull-up voltage source.  For example, you can have 3.3V on Aux3 of a MaxPCB2 DB9 connector for this purpose with a line similar to this in Config.h: "#define GeneralPurposePowerPin1 36".

  • WEATHER
    • Default Value: OFF
    • Other Values: OFF, BME280, BME280_0x76, BME_SPI
    • Notes: Provides temperature, humidity, and barometric pressure.  In the absence of an BME280 the system falls back to the defaults (10°C, 70%, 1010mb) unless changed at run-time.  These values are also used for refraction calculations in OnStep.  Uses the OnStep default I2C bus on the micro-controller except for the BME280_SPI option which uses the default SPI bus (see your pin-map to locate CS etc.)  The BME280 option uses I2C address 0x77 some modules are at 0x76.
  • TELESCOPE_TEMPERATURE
    • Default Value: OFF
    • Other Values: OFF, DS1820
    • Notes:
      • Provides the telescope temperature which is used for TCF (Temperature Compensated Focusing.)
      • In the absence of an DS1820 the system falls back to the WEATHER sensor temperature for TCF (see above.)
      • Uses the OnStep default OneWire bus pin on the micro-controller (see your pin-map to locate this pin.)
        • The OneWire bus pin can also be overridden with this line in Config.h: "#define OneWirePin 22".
        • DS18B20's don't seem to work in parasitic power mode with this library so be sure to run Gnd, Vcc, and 1-Wire to them.
  • HOME_SENSE
    • Default Value: OFF
    • Other Values: OFF, ON, ON_PULLUP, ON_PULLDOWN
    • Notes: Home switches allow OnStep to move a mount back to the Home Position without any knowledge of where its actually pointing.  For GEM mode only (untested for others.)  These are usually lever switches that make/break at the Home Position such that with each axis for ~180° of travel (away from home) in one direction the switch is OPEN (HIGH) and in the other direction for ~180° of travel the switch is CLOSED (LOW.) 
    • Associated Options:
      • HOME_SENSE_STATE_AXIS1
        • Default Value: HIGH
        • Other Values: LOW, HIGH
        • Notes: RA (Azm) axis state when clockwise of Home Position, as seen from front.
      • HOME_SENSE_STATE_AXIS2
        • Default Value: HIGH
        • Other Values: LOW, HIGH
        • Notes: Declination (Alt) axis state when clockwise of Home Position, as seen from above.
    • Reminder: For my PCB designs these inputs do NOT have pullup resistors.
  • LIMIT_SENSE
    • Default Value: OFF
    • Other Values: OFF, ON, ON_PULLUP, ON_PULLDOWN
    • Notes: Limit sense switches can be wired in parallel so that several can be used where any switch closure causes OnStep to stop tracking and slews (allowing for SLEW_RAPID_STOP_DIST.)  This is most often implemented as a panic switch the user can press and/or lever switches on the mount axes.
    • Associated Options:
      • LIMIT_SENSE_STATE
        • Default Value: LOW
        • Other Values: LOW, HIGH
        • Notes: Normally one would use LOW for NO (normally open) switches and HIGH for NC (normally closed) switches.
    • Reminder: For my recent PCB designs this input DOES have a pullup resistor along with a bypass capacitor to provide basic ESD protection.
  • PEC_SENSE
    • Default Value: OFF
    • Other Values: OFF, ON, ON_PULLUP, ON_PULLDOWN, n=0 to 1023 (0 to 3.3V or 5V for Mega2560)
    • Notes: PEC (Periodic Error Correction) Index sense via digital OR analog threshold.  This provides for automatic recovery of the PEC Index without needing to use OnStep's Parking functionality.
    • Associated Options:
      • PEC_SENSE_STATE
        • Default Value: HIGH
        • Other Values: LOW, HIGH
        • Notes: When HIGH the PEC index sense event is triggered by the signal going from a logic low to logic high voltage.  When LOW the PEC index sense event is triggered by the signal going from a logic high to logic low voltage.  Once an sense event has occurred, additional sense events are blocked for 60 seconds to block spurious signals near the trigger threshold.
    • Reminder:
      • Ignored in ALTAZM mode.
      • For my recent PCB designs this input does NOT have a pull-up resistor but DOES have a bypass capacitor (or TVS DA) to provide basic ESD protection.
  • PPS_SENSE
    • Default Value: OFF
    • Other Values: OFF, ON, ON_PULLUP, ON_PULLDOWN
    • Notes: Senses signal rising edge.  A high accuracy PPS (Pulse Per Second) reference helps OnStep improve tracking accuracy.  This is especially important for some Arduino Mega2560 boards where the micro-controller oscillator uses a low accuracy Ceramic Resonator as opposed to a much higher accuracy Crystal.  Most of our custom PCB designs accommodate the DS3231 RTC and have the PPS signal (along with power and I2C comms) on the header for it.
    • Reminder: For my PCB designs this input does NOT have a pull-up resistor.

ST4 INTERFACE

It is up to you to verify the interface meets the electrical specifications of any connected device, use at your own risk.

  • ST4_INTERFACE
    • Default Value: OFF
    • Other Values: OFF, ON, ON_PULLUP
    • Notes: Operation is limited to <= 1x guide rates unless hand control mode is used.
    • Associated Options:ST4_HAND_CONTROL
      • Default Value: OFF
      • Other Values: ON, OFF
      • Notes: Enable for Basic Hand Control (just N,S,E,W buttons) special features and SHC support.
        • After 4 seconds of inactivity the HC will return to normal operation.
        • If a BUZZER is available there will be a beep going into/out-of the Alternate Modes and a click with each button press.
        • Hold [E] + [W] buttons for > 2 seconds for Alternate Mode A:
          • The [E] and [W] buttons adjust the Guide Rate slower or faster.
          • The [N] button turns tracking on and off.
          • The [S] button causes a Sync to occur (or accepts Align.)
        • Hold [N] + [S] buttons for > 2 seconds for Alternate Mode B:
          • The [E] and [W] buttons select objects in the current User Catalog.
          • The [N] button does a Goto to the currently selected object.
          • The [S] button turns sound on/off.
      • Associated Options:ST4_HAND_CONTROL_FOCUSER
        • Default Value: OFF
        • Other Values: OFF, ON
        • Notes: Basic Hand Control Focuser in Alternate Mode B:
          • Hold [N] + [S] buttons for > 2 seconds for Alternate Mode B:
            • The [E] button selects Focuser1.
            • The [W] button selects Focuser2.
            • The [N] button moves the current Focuser in.
            • The [S] button moves the current Focuser out.
    • Reminder:
      • For my PCB designs this input does have pullup resistors.
      • My PCB designs also have an optional shunt to make +5VDC available on pin 1 of the RJ12 modular connector which is required if using an SHC on the ST4 port.
      • De-bounce (responsiveness) on ST4 port pins is 5ms unless hand control mode is ON in which case it is 100ms.

GUIDING BEHAVIOR

  • GUIDE_TIME_LIMIT
    • Default Value: 0
    • Other Values: 0 (disabled) or 1 to 120 (seconds)
    • Notes: If enabled any guide longer than the specified time in seconds is automatically cancelled.  This guards against large unintended motions.  The primary cause of these very rare events seems to be corrupt communications where a guide is started but the stop guide command is never received.
  • GUIDE_DISABLE_BACKLASH
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Set to ON to disable backlash compensation during guiding at <= 1x rates.  Some mounts designs/auto-guiders may benefit from this.

TRACKING BEHAVIOR

  • TRACK_AUTOSTART
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Start with tracking enabled.
    • Reminder:
      • Not supported for MOUNT_TYPE ALTAZM.
      • If you have a TLS (Time Location Source, other than GPS) OnStep will start normally.
        • It is up to you to make sure the site information (Latitude/Longitude) are always correct if using this option.
        • If parked the mount will automatically be unparked.
      • If you do not have a TLS the mount will start tracking with limits disabled.
      • Good for testing but generally I do not recommend using this option.
  • TRACK_REFRACTION_RATE_DEFAULT
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Start with refraction compensated tracking enabled.
    • Reminder: This option can be enabled/disabled at run-time also.
  • TRACK_BACKLASH_RATE
    • Default Value: 25
    • Other Values: 2 to 50 (x sidereal rate)
    • Notes: Backlash take up rate.  Too fast and motors stall/gears slam as they run into the load of stationary telescope/mount at high speed.  Too slow and mount becomes less responsive.
    • Reminder: The amount of backlash for Axis1/2 is configured at run-time.

SYNCING BEHAVIOR

  • SYNC_CURRENT_PIER_SIDE_ONLY
    • Default Value: ON
    • Other Values: OFF, ON
    • Notes: Disables ability of a Sync. to change pier sides.  This is useful since otherwise the user might not be aware that OnStep changed pier sides if a Sync. is done near the Meridian.
    • Reminder: Relevant for GEM mounts only.  A Sync. can cause much confusion if the mount isn't manually moved into the alternate orientation as required to match the pier side change.  Many control applications provide side of pier information, some like my Sky Planetarium will warn you if a Sync causes a Pier Side change.

SLEWING BEHAVIOR

  • SLEW_RATE_BASE_DESIRED
    • Default Value: 1.0
    • Recommended Values: 0.1 to 10 (degrees per second)
    • Notes: Desired slew rate in degrees/second. Adjustable at run-time from 1/2 to 2x this rate.
    • Reminder:  This is the desired slew rate which OnStep may slow down to meet micro-controller performance limitations.  Other settings can affect performance limits, those include the overall AXISn_STEPS_PER_DEGREE, STEP_WAVE_FORM, AXISn_DRIVER_MICROSTEPS_GOTO, and related options.
  • SLEW_RATE_MEMORY
    • Default Value: ON
    • Other Values: OFF, ON
    • Notes: Remembers slew rates, set in the 1/2 to 2x SLEW_RATE_BASE_DESIRED range at run-time, across power cycles.
  • SLEW_ACCELERATION_DIST
    • Default Value: 5.0
    • Recommended Values: 0.1 to 20 (degrees)
    • Notes: Approx. distance for acceleration (and deceleration.)
  • SLEW_RAPID_STOP_DIST
    • Default Value: 1.0
    • Recommended Values0.1 to 10 (degrees)
    • Notes: Approx. distance required to stop when a slew is aborted or a limit is exceeded.
  • MFLIP_SKIP_HOME
    • Default Value: OFF
    • Other ValuesOFF, ON
    • Notes: Default OFF causes Gotos to slew to the Home Position first when a Meridian Flip is required.  This helps prevent cords from becoming tangled or snagged in some cases.
    • Reminder:
      • For GEM mode only.
      • Enable ON and Gotos slew directly to the destination without visiting Home Position, even if a Meridian Flip is required.
  • FLIP_PAUSE_HOME_MEMORY
    • Default Value: OFF
    • Other ValuesOFF, ON
    • Notes: Remember Meridian Flip Pause at Home setting across power cycles.
    • Reminder:
      • For GEM mode only.
      • Meridian Flip Pause at Home causes OnStep to wait at the Home Position for confirmation before continuing on to the destination when a Meridian Flip is required.
  • MFLIP_AUTOMATIC_MEMORY
    • Default Value: OFF
    • Other ValuesOFF, ON
    • Notes: Remember Automatic Meridian Flip setting across power cycles.
    • Reminder: For GEM mode only.  If enabled the Automatic Meridian Flip setting causes a goto with Meridian Flip to occur when the mount tracks into the Meridian Limit when West of the Pier.

PARKING BEHAVIOR

  • STRICT_PARKING
    • Default Value: OFF
    • Other ValuesOFF, ON
    • Notes: Un-parking is only allowed if successfully parked.
    • Reminder: Normally Un-parking is allowed even if not Parked when at the Home Position.  This is a recovery feature that allows you to manually re-orientate the mount to near the park position then Un-park to restore operation (including the pointing model) should you loose control due to a power outage, etc.

MOTION CONTROL

  • STEP_WAVE_FORM
    • Default Value: SQUARE
    • Other ValuesPULSE, SQUARE, DEDGE
    • NotesStep signal wave formSQUARE mode provides a nice square wave which is best if the step/dir signals need to travel some distance from the micro-controller.  PULSE mode allows for higher step rates (about 1.6x faster) but in some cases the pulse width can be too narrow for step/dir (stepper) drivers; it is also more prone to noise and transmission problems at longer distances.  DEDGE mode is an experimental feature that allows stepping to take place on both the rising and falling edge of the step signal for similar speeds as PULSE mode but with better signal integrity; the s/d driver must support this.
    • Reminder:
      • OnStep knows the pulse width minimums for various common stepper drivers and does checks to ensure they will work in PULSE mode.  OnStep will #error during compilation to let you know if the setting won't work.
      • PULSE mode is highly recommended for the Mega2560 due to its slower operating speed.

AXIS1 RA/AZM

  • AXIS1_STEPS_PER_DEGREE
    • Default Value: 12800.0
    • Recommended Values300.0 to 61200.0 (12 arc-sec/step to 0.06 arc-sec/step)
    • Notes: This is the number of steps the step/dir (stepper) driver needs to issue to the motor to cause the telescope to move one degree on this axis.
    • Reminder: For a stepper motor this is in units of tracking mode micro-steps; use the Configuration Calculator to help determine this value.
  • AXIS1_STEPS_PER_WORMROT
    • Default Value: 12800
    • Recommended Values: 0 to disable PEC, 77 to 862920 (in steps)
    • Notes: This is the number of steps the step/dir (stepper) driver needs to issue to the motor to cause the worm of a worm/wheel gear (or other final reduction stage) to rotate once.
    • Reminder:
      • Actual allowed range in steps depends on AXIS1_STEPS_PER_DEGREE and micro-controller limitations (RAM/NV.) 
        • 61 seconds minimum, AXIS1_STEPS_PER_WORMROT >= 61 * (AXIS1_STEPS_PER_DEGREE/240).
        • 3384 seconds maximum, AXIS1_STEPS_PER_WORMROT <= 3384 * (AXIS1_STEPS_PER_DEGREE/240).
      • For a stepper motor this is in units of tracking mode micro-steps; use the Configuration Calculator to help determine this value.
      • Ignored in ALTAZM mode.
  • AXIS1_DRIVER_MODEL
    • Default Value: OFF
    • Other Values: OFF,
      A4988, DRV8825, LV8729, RAPS128, S109, ST820, TMC2100,TMC2208,
      TMC2209,
      TMC2209_QUIET, TMC2209_VQUIET,
      TMC2130,
      TMC2130_QUIET, TMC2130_VQUIET,
      TMC5160, TMC5160_QUIET, TMC5160_VQUIET,
      GENERIC, GENERIC1, GENERIC2, GENERIC3,
      SERVO, SERVO1, SERVO2, SERVO3
    • Notes: This is the step/dir (stepper) driver model.
    • Reminder:
      • See the Stepper Driver Summary to learn more about the commonly used drivers.
      • SSS TMC2130 if you choose to set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.) set the Vref pot. at 2.5V instead of by motor current as usual.
      • SSS TMC5160 you must set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.)
      • The _VQUIET suffix (if available) causes the driver to run in stealthChop (silent) mode during tracking and slews.  StealthChop mode is not suitable for reaching high motor RPM's.
      • The _QUIET suffix (if available) causes the driver to run in stealthChop (silent) mode during tracking and spreadCycle during slews.
  • AXIS1_DRIVER_MICROSTEPS
    • Default Value: OFF
    • Other Values: 1 to 256
    • Notes: Tracking mode micro-steps setting, also used for gotos & slews if AXIS1_DRIVER_MICROSTEPS_GOTO is OFF.  A setting of 1 means a full-step, 2 half-step, 4 quarter-step, and so on.  We often use a value of 16, 32, or 64 here.
    • Reminder:
      • This value is present in the Configuration Calculator, if you change this AXIS1_STEPS_PER_DEGREE and AXIS1_STEPS_PER_WORMROT changes also.
      • Exact values allowed depends on the stepper driver model.   OnStep will #error on compilation if the driver doesn't support the micro-step mode specified.
  • AXIS1_DRIVER_MICROSTEPS_GOTO
    • Default Value: OFF
    • Other Values: 1 to 256
    • Notes: Optional micro-step mode to use during slews.  Using this can allow faster slew speeds when step rates are limited by micro-controller performance.
    • Reminder:
      • Exact values allowed depends on the stepper driver model and must be < AXIS1_DRIVER_MICROSTEPS aboveOnStep will #error on compilation if the driver doesn't support the micro-step mode specified.
  • AXIS1_DRIVER_IHOLD
    • Default Value: OFF
    • Recommended Values: 100 to 1500 (mA)
    • Notes: The stepper driver current at standstill.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder: See AXIS1_DRIVER_IRUN reminder.
  • AXIS1_DRIVER_IRUN
    • Default Value: OFF
    • Recommended Values: 200 to 3000 (mA)
    • Notes: The stepper driver current while sidereal tracking.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder:
      • This setting is only allowed for TMC2130 and TMC5160 stepper drivers.
      • The TMC2130 current is based on an Rsense of 0.13 Ohms, the TMC5160 current is based on an Rsense of 0.075 Ohms.
        • In the unlikely event this needs to be changed add #define AXISn_DRIVER_RSENSE n.nnn to Config.h
  • AXIS1_DRIVER_IGOTO
    • Default Value: OFF
    • Recommended Values: 200 to 3000 (mA)
    • Notes: The stepper driver current while doing gotos and slewing.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder: See AXIS1_DRIVER_IRUN reminder.
  • AXIS1_DRIVER_REVERSE
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Set to ON to reverses movement direction for this axis.  You can instead reverse stepper driver wiring to do the same.
  • AXIS1_DRIVER_STATUS
    • Default Value: OFF
    • Other Values: OFF, TMC_SPI, HIGH, or LOW
    • Notes: Polls this axes driver for status info/fault detection.  Some drivers provide this signal as a simple logic level where it's, for example, normally LOW then goes HIGH only if there's a fault.  Other drivers like the TMC2130 and TMC5160 can use a setting of TMC_SPI where the drivers SPI MISO line transmitts data back to OnStep to provide a wider range of information about the fault/warning state including over temperature, outputs being shorted or open, etc.
    • Reminder: The TMC_SPI option is not always avaliable on certain PCB's since the MISO pins might be used for other purposes (like flashing an ESP8266) so check your board and how you have it configured.
  • AXIS1_LIMIT_UNDER_POLE
    • Default Value: 180
    • Other Values: 150 to 180 (degrees)
    • Notes: For GEM and FORK mounts only this is the maximum angle +/- in degrees (default limits to >= -180 to <= +180 degrees.)
  • AXIS1_LIMIT_MAXAZM
    • Default Value: 360
    • Other Values: 180 to 360 (degrees)
    • Notes: For ALTAZM mounts only this is the maximum angle +/- in degrees (default limits to >= -360 to <= +360 degrees.)

AXIS2 DEC/ALT

  • AXIS2_STEPS_PER_DEGREE
    • Default Value: 12800.0
    • Recommended Values300.0 to 61200.0 (12 arc-sec/step to 0.06 arc-sec/step)
    • Notes: This is the number of steps the step/dir (stepper) driver needs to issue to the motor to cause the telescope to move one degree on this axis.
    • Reminder: For a stepper motor this is in units of tracking mode micro-steps; use the Configuration Calculator to help determine this value.
  • AXIS2_DRIVER_MODEL
    • Default Value: OFF
    • Other Values: OFF,
      A4988, DRV8825, LV8729, RAPS128, S109, ST820, TMC2100,TMC2208,
      TMC2209,
      TMC2209_QUIET, TMC2209_VQUIET,
      TMC2130,
      TMC2130_QUIET, TMC2130_VQUIET,
      TMC5160, TMC5160_QUIET, TMC5160_VQUIET,
      GENERIC, GENERIC1, GENERIC2, GENERIC3,
      SERVO, SERVO1, SERVO2, SERVO3
    • Notes: This is the step/dir (stepper) driver model.
    • Reminder:
      • See the Stepper Driver Summary to learn more about the commonly used drivers.
      • SSS TMC2130 if you choose to set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.) set the Vref pot. at 2.5V instead of by motor current as usual.
      • SSS TMC5160 you must set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.)
      • The _VQUIET suffix (if available) causes the driver to run in stealthChop (silent) mode during tracking and slews.  StealthChop mode is not suitable for reaching high motor RPM's.
      • The _QUIET suffix (if available) causes the driver to run in stealthChop (silent) mode during tracking and spreadCycle during slews.
  • AXIS2_DRIVER_MICROSTEPS
    • Default Value: OFF
    • Other Values: 1 to 256
    • Notes: Tracking mode micro-steps setting, also used for gotos & slews if AXIS2_DRIVER_MICROSTEPS_GOTO is OFF.  A setting of 1 means a full-step, 2 half-step, 4 quarter-step, and so on.  We often use a value of 16, 32, or 64 here.
    • Reminder:
      • This value is present in the Configuration Calculator, if you change this AXIS2_STEPS_PER_DEGREE changes also.
      • Exact values allowed depends on the stepper driver model.   OnStep will #error on compilation if the driver doesn't support the micro-step mode specified.
  • AXIS2_DRIVER_MICROSTEPS_GOTO
    • Default Value: OFF
    • Other Values: 1 to 256
    • Notes: Optional micro-step mode to use during slews.  Using this can allow faster slew speeds when step rates are limited by micro-controller performance.
    • Reminder:
      • Exact values allowed depends on the stepper driver model and must be < AXIS2_DRIVER_MICROSTEPS aboveOnStep will #error on compilation if the driver doesn't support the micro-step mode specified.
  • AXIS2_DRIVER_IHOLD
    • Default Value: OFF
    • Recommended Values: 100 to 1500 (mA)
    • Notes: The stepper driver current at standstill.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder: See AXIS1_DRIVER_IRUN reminder.
  • AXIS2_DRIVER_IRUN
    • Default Value: OFF
    • Recommended Values: 200 to 3000 (mA)
    • Notes: The stepper driver current while sidereal tracking.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder: See AXIS1_DRIVER_IRUN reminder.
  • AXIS2_DRIVER_IGOTO
    • Default Value: OFF
    • Recommended Values: 200 to 3000 (mA)
    • Notes: The stepper driver current while doing gotos and slewing.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder: See AXIS1_DRIVER_IRUN reminder.
  • AXIS2_DRIVER_POWERDOWN
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Powers off 10 seconds after movement stops or 10 minutes after last <= 1x guide.
  • AXIS2_DRIVER_REVERSE
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Set to ON to reverses movement direction for this axis.  You can instead reverse stepper driver wiring to do the same.
  • AXIS2_DRIVER_STATUS
    • Default Value: OFF
    • Other Values: OFF, TMC_SPI, HIGH, or LOW
    • Notes: Polls this axes driver for status info/fault detection.  Some drivers provide this signal as a simple logic level where it's, for example, normally LOW then goes HIGH only if there's a fault.  Other drivers like the TMC2130 and TMC5160 can use a setting of TMC_SPI where the drivers SPI MISO line transmitts data back to OnStep to provide a wider range of information about the fault/warning state including over temperature, outputs being shorted or open, etc.
    • Reminder: The TMC_SPI option is not always available on certain PCB's since the MISO pins might be used for other purposes (like flashing an ESP8266) so check your board and how you have it configured.
  • AXIS2_TANGENT_ARM
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Setting ON limits physical motion of the Declination axis, you must also adjust AXIS2_LIMIT_MIN and AXIS2_LIMIT_MAX to constrain the TA (Tangent Arm) travel since in this mode the Declination axis can only move perhaps ~ +/- 5 or 10 degrees (depending on the mount.)
      • The common [Reset Home] control in OnStep applications sets the center of the TA travel.
      • The common [Find Home] control in OnStep applications moves (only) the TA back to Center.
      • You can then press [Find Home] just before manually moving to a bright star near a new target.
      • Once there press [Sync] and you are free to do gotos within the limits of the TA travel... or if you have encoders this Sync is done automatically as you move and as soon as you stop anywhere near the target you can do the goto.
    • Associated Options: The #define AXIS2_TANGENT_ARM_CORRECTION OFF option can be added to Config.h to disable the (normally enabled) tangent arm geometry correction.  If wondering what this does it assumes that at the center of the TA mechanism the arm length is shorter than at the ends.  Like a "T" where the vertical arm sweeps left/right of center traveling on a screw.  At the center the arm length is less and so the reduction ratio is less, toward either end the ratio becomes higher and this option compensates for the effect.
    • Reminder:
      • Ignored in ALTAZM mode.
      • Gotos and even guided movement that goes past the TA travel (limits) is not allowed.
      • When setting limits be sure to make allowance for a little extra distance to let fast guided motion stop once the limit is broken.  To keep this distance short don't allow fast slews (a low SLEW_RATE_BASE_DESIRED) and keep the acceleration distances short and set to the same value (SLEW_ACCELERATION_DIST and SLEW_RAPID_STOP_DIST.)
      • In TA mode HOME_SENSE (if also enabled) only applies to Axis2 and [Find Home] works as described above except the home switch determines the center location.  This mode of operation is untested.
  • AXIS2_LIMIT_MIN
    • Default Value: -91
    • Other Values: -90 to 0 (degrees)
    • Notes: Minimum allowed declination.
  • AXIS2_LIMIT_MAX
    • Default Value: 91
    • Other Values: 0 to 91 (degrees)
    • Notes: Maximum allowed declination.

AXIS3 ROTATOR

  • ROTATOR
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: ON to enable the rotator (or de-rotator for ALTAZM mounts.)
  • AXIS3_STEPS_PER_DEGREE
    • Default Value: 64.0
    • Recommended Values10.0 to 3600.0 (6 arc-min/step to 1 arc-sec/step)
    • Notes: This is how many steps are required to move the rotator one degree (at the current microstep setting.)
    • ReminderFor Alt/Az de-rotation where you want to image, a quick rough estimate of the minimum value to use is n =  (num_circumference_pixels * 2)/360.  That is a count of the pixels around the edges of a rectangular imaging chip (rough approximation of the circumference) * 2 (to satisfy the nyquist theorem) /360 (to convert into degrees.)
  • AXIS3_STEP_RATE_MAX
    • Default Value: 8
    • Recommended Values: 0.1 to 100 (milliseconds)
    • Notes: This sets the fastest step rate.
    • Reminder: Minimum ms/step depends on processor and your requirements.
  • AXIS3_DRIVER_MODEL
    • Default Value: OFF
    • Other Values: OFF,
      TMC2130, TMC2130_QUIET, TMC2130_VQUIET,
      TMC5160, TMC5160_QUIET, TMC5160_VQUIET
    • Notes: This is the step/dir (stepper) driver model.  When using an A4988, DRV8825, TMC2208, etc. set this to OFF and use shunts near the driver socket to set the desired microstep mode.
    • Reminder:
      • This feature requires SPI pins routed to the driver (only the MksGenL2 has this currently.)
      • See the Stepper Driver Summary to learn more about the commonly used drivers.
      • SSS TMC2130 if you choose to set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.) set the Vref pot. at 2.5V instead of by motor current as usual.
      • SSS TMC5160 you must set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.)
  • AXIS3_DRIVER_MICROSTEPS
    • Default Value: OFF
    • Other Values: 1 to 256
    • Notes: Tracking mode micro-steps setting.  Exact values allowed depends on the stepper driver model.  OnStep #error on compilation if an invalid value is used.
    • Reminder: This setting is only allowed for TMC2130 and TMC5160 stepper drivers.
  • AXIS3_DRIVER_IHOLD
    • Default Value: OFF
    • Recommended Values: 100 to 1000 (mA)
    • Notes: The stepper driver current at standstill.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder See AXIS3_DRIVER_IRUN reminder.
  • AXIS3_DRIVER_IRUN
    • Default Value: OFF
    • Recommended Values: 100 to 1000 (mA)
    • Notes: The stepper driver current while sidereal tracking.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder:
      • This setting is only allowed for TMC2130 and TMC5160 stepper drivers.  Note that for MaxPCB/MaxESP designs you need to limit current so that power P=IV (current * voltage) is such that P <= 4.2 watts.
      • Also see the AXIS1_DRIVER_IRUN reminder.
  • AXIS3_DRIVER_POWERDOWN
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Powers off the motor at stand-still.
  • AXIS3_DRIVER_REVERSE
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Set ON to reverse movement direction for this axis.  You can instead reverse stepper driver wiring to do the same.
  • AXIS3_LIMIT_MIN
    • Default Value: -180
    • Other Values: -180 to 0 (degrees)
    • Notes: Minimum allowed rotator angle.
  • AXIS3_LIMIT_MAX
    • Default Value: 180
    • Other Values: 0 to 180 (degrees)
    • Notes: Maximum allowed rotator angle.

AXIS4 FOCUSER1

  • FOCUSER1
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Set ON to enable the primary focuser.
  • AXIS4_STEPS_PER_MICRON
    • Default Value: 0.5
    • Recommended Values0.01 to 10 (steps)
    • Notes: Steps per micrometer.  This is how many steps are required to move the focuser one micrometer (aka micron) at the current microstep setting.
    • Reminder: Your telescope has a focus depth, which can be calculated or looked up online, be sure this value is smaller.
  • AXIS4_STEP_RATE_MAX
    • Default Value: 8
    • Recommended Values: 0.1 to 100 (milliseconds)
    • Notes: This sets the fastest step rate.
    • Reminder: Minimum ms/step depends on processor and your requirements.  In DC mode, this is the pwm frequency.
  • AXIS4_DRIVER_MODEL
    • Default Value: OFF
    • Other Values: OFF,
      TMC2130, TMC2130_QUIET, TMC2130_VQUIET,
      TMC5160, TMC5160_QUIET, TMC5160_VQUIET
    • Notes: This is the step/dir (stepper) driver model.  When using an A4988, DRV8825, TMC2208, etc. set this to OFF and use shunts near the driver socket to set the desired microstep mode.
    • Reminder:
      • This feature requires SPI pins routed to the driver (only the MksGenL2 has this currently.)
      • See the Stepper Driver Summary to learn more about the commonly used drivers.
      • SSS TMC2130 if you choose to set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.) set the Vref pot. at 2.5V instead of by motor current as usual.
      • SSS TMC5160 you must set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.)
  • AXIS4_DRIVER_MICROSTEPS
    • Default Value: OFF
    • Other Values: 1 to 256
    • Notes: Tracking mode micro-steps setting.  Exact values allowed depends on the stepper driver model.  OnStep #error on compilation if an invalid value is used.
    • Reminder: This setting is only allowed for TMC2130 and TMC5160 stepper drivers.
  • AXIS4_DRIVER_IHOLD
    • Default Value: OFF
    • Recommended Values: 100 to 1000 (mA)
    • Notes: The stepper driver current at standstill.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder: See AXIS4_DRIVER_IRUN reminder.
  • AXIS4_DRIVER_IRUN
    • Default Value: OFF
    • Recommended Values: 100 to 1000 (mA)
    • Notes: The stepper driver current while sidereal tracking.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder:
      • This setting is only allowed for TMC2130 and TMC5160 stepper drivers.  Note that for MaxPCB/MaxESP designs you need to limit current so that power P=IV (current * voltage) is such that P <= 4.2 watts.
      • Also see the AXIS1_DRIVER_IRUN reminder.
  • AXIS4_DRIVER_POWERDOWN
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Powers off the motor at stand-still.
  • AXIS4_DRIVER_REVERSE
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Set ON to reverse movement direction for this axis.  You can instead reverse stepper driver wiring to do the same.
  • AXIS4_DRIVER_DC_MODE
    • Default Value: OFF
    • Other Values: OFF, DRV8825
    • Notes: For pwm dc motor control on stepper driver "A" outputs.
    • Reminder:
      • The DRV8825 (or A4988) must be configured for half-stepping (2x micro-stepping) mode.
      • The En signal of the DC mode stepper driver must be pulled HIGH with a sturdy resistor to disable the driver at boot time otherwise the motor will run until OnStep wakes up and takes control.
      • Limit current as usual with Vref and AXIS4_LIMIT_MIN_RATE.
      • Optionally chain Focuser2 using DC mode for the "B" driver outputs of Focuser1.
  • AXIS4_LIMIT_MIN_RATE
    • Default Value: 10
    • Recommended Values: 1 to 1000 (micrometers per second, covers 0.1 to 100.0% in DC mode)
    • Notes: Minimum microns/second.
    • Reminder:
      • Allows manual control at the slowest speed the user is comfortable with; the ideal speed depends on focus depth and the "human factor".
      • In DC mode, this is the minimum power where movement occurs we then pulse that movement for basic control.
  • AXIS4_LIMIT_MIN
    • Default Value: 0
    • Other Values: 0 to 500 (millimeters)
    • Notes: Minimum allowed focuser position.
  • AXIS4_LIMIT_MAX
    • Default Value: 50
    • Other Values: 0 to 500 (millimeters)
    • Notes: Maximum allowed focuser position.

AXIS5 FOCUSER2

  • FOCUSER2
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Set ON to enable the secondary focuser.
  • AXIS5_STEPS_PER_MICRON
    • Default Value: 0.5
    • Recommended Values0.01 to 10 (steps)
    • Notes: Steps per micrometer.  This is how many steps are required to move the focuser one micrometer (aka micron) at the current microstep setting.
    • Reminder: Your telescope has a focus depth, which can be calculated or looked up online, be sure this value is smaller.
  • AXIS5_STEP_RATE_MAX
    • Default Value: 8
    • Recommended Values: 0.1 to 100 (milliseconds)
    • Notes: This sets the fastest step rate.
    • Reminder: Minimum ms/step depends on processor and your requirements.  In DC mode, this is the pwm frequency.
  • AXIS5_DRIVER_MODEL
    • Default Value: OFF
    • Other Values: OFF,
      TMC2130, TMC2130_QUIET, TMC2130_VQUIET,
      TMC5160, TMC5160_QUIET, TMC5160_VQUIET
    • Notes: This is the step/dir (stepper) driver model.  When using an A4988, DRV8825, TMC2208, etc. set this to OFF and use shunts near the driver socket to set the desired microstep mode.
    • Reminder:
      • This feature requires SPI pins routed to the driver (only the MksGenL2 has this currently.)
      • See the Stepper Driver Summary to learn more about the commonly used drivers.
      • SSS TMC2130 if you choose to set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.) set the Vref pot. at 2.5V instead of by motor current as usual.
      • SSS TMC5160 you must set stepper driver current (in mA) with AXISn_TMC_IRUN (IHOLD, etc.)
  • AXIS5_DRIVER_MICROSTEPS
    • Default Value: OFF
    • Other Values: 1 to 256
    • Notes: Tracking mode micro-steps setting.  Exact values allowed depends on the stepper driver model.  OnStep #error on compilation if an invalid value is used.
    • Reminder: This setting is only allowed for TMC2130 and TMC5160 stepper drivers.
  • AXIS5_DRIVER_IHOLD
    • Default Value: OFF
    • Recommended Values: 100 to 1000 (mA)
    • Notes: The stepper driver current at standstill.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder: See AXIS5_DRIVER_IRUN reminder.
  • AXIS5_DRIVER_IRUN
    • Default Value: OFF
    • Recommended Values: 100 to 1000 (mA)
    • Notes: The stepper driver current while sidereal tracking.  Be sure to use a value the stepper driver, stepper motor, and controller/power-supply can handle.
    • Reminder:
      • This setting is only allowed for TMC2130 and TMC5160 stepper drivers.  Note that for MaxPCB/MaxESP designs you need to limit current so that power P=IV (current * voltage) is such that P <= 4.2 watts.
      • Also see the AXIS1_DRIVER_IRUN reminder.
  • AXIS5_DRIVER_POWERDOWN
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Powers off the motor at stand-still.
  • AXIS5_DRIVER_REVERSE
    • Default Value: OFF
    • Other Values: OFF, ON
    • Notes: Set ON to reverse movement direction for this axis.  You can instead reverse stepper driver wiring to do the same.
  • AXIS5_DRIVER_DC_MODE
    • Default Value: OFF
    • Other Values: OFF, DRV8825
    • Notes: For pwm dc motor control on stepper driver outputs.
    • Reminder:
      • The DRV8825 (or A4988) must be configured for half-stepping (2x micro-stepping) mode.
      • The En signal of the DC mode stepper driver must be pulled HIGH with a sturdy resistor to disable the driver at boot time otherwise the motor will run until OnStep wakes up and takes control.
      • Limit current as usual with Vref and AXIS5_LIMIT_MIN_RATE. 
      • If Focuser1 is in DC mode you can turn this option on to chain Focuser1 drivers "B" outputs to the logical Focuser2.
      • If Focuser1 is in normal mode this uses Focuser2 drivers "A" outputs only.
  • AXIS5_LIMIT_MIN_RATE
    • Default Value: 10
    • Recommended Values: 1 to 1000 (micrometers per second, covers 0.1 to 100.0% in DC mode)
    • Notes: Minimum microns/second.
    • Reminder:
      • Allows manual control at the slowest speed the user is comfortable with; the ideal speed depends on focus depth and the "human factor".
      • In DC mode, this is the minimum power where movement occurs we then pulse that movement for basic control.
  • AXIS5_LIMIT_MIN
    • Default Value: 0
    • Other Values: 0 to 500 (millimeters)
    • Notes: Minimum allowed focuser position.
  • AXIS5_LIMIT_MAX
    • Default Value: 50
    • Other Values: 0 to 500 (millimeters)
    • Notes: Maximum allowed focuser position.