Skip to content

Calibration & Homing

The Winegard dishes use stepper motors with no absolute position encoders. They determine their position by homing — driving each axis until a mechanical stall is detected, then counting steps from that reference point. If the position reference is lost (power failure, missed steps, uncalibrated boot), the firmware has no idea where the dish is pointing.

On a normal power-up with the tracker enabled, the dish runs a full calibration sequence automatically:

  1. Bootloader initializes. Firmware loads, peripherals (SPI for motor drivers, SPI for DVB tuner) are configured.

  2. Elevation homes first. The EL motor drives upward until it stalls against the mechanical hard stop. The firmware uses a 2-second stall detection timeout. This is the EL reference position (65.00 degrees on the G2, per NVS index 103).

  3. Azimuth homes second. The AZ motor drives in one direction until it stalls (8-second timeout). This establishes the AZ reference and cable wrap limits.

  4. Cable wrap limits are set. On the Carryout G2, homing output reports wrap_min:-42333 wrap_max:2333 (centidegrees), giving a total range of approximately 446.66 degrees.

  5. TV satellite search begins. The firmware starts scanning for DirecTV/DISH satellites. This is where you disable the search.

The G2’s boot process is well-documented from serial capture:

  1. Bootloader v1.01 starts
  2. SPI1 init at 4 MHz — configures the two A3981 stepper motor driver ICs (mode 0x03)
  3. Motor init — System=12Inch, master=40000 steps/rev (AZ), slave=24960 steps/rev (EL), ratio=1.602564
  4. SPI2 init at 6.857 MHz — configures the BCM4515 DVB tuner (mode 0x03)
  5. EXTENDED_DVB_DEBUG ENABLED
  6. DVB init — AP RAM FW verified, BCM4515 ID 0x4515 Rev B0, FW v113.37, strap 0x25018
  7. Auto-search config — blind scan, 18000-24000 ksps, rolloff 0.35
  8. Enabled LNB STB
  9. Ant ID - 12-IN G2
  10. NVS load from flash
  11. EL home (stall detect, 2s timeout)
  12. AZ home (stall detect, 8s timeout)
  13. Antenna Facing Front
  14. TRK> prompt appears (if tracker disabled) or search starts

If you’ve set NVS 20 to TRUE to permanently disable the TV search, the firmware skips the homing sequence entirely. The motors stay uncalibrated, and the AZ position register contains 2147483647 (INT_MAX) — a sentinel value meaning “position unknown.”

This means you must home the motors manually before issuing any move commands.

The G2 has an explicit h <id> homing command in the motor submenu:

TRK> mot
MOT> h 0

This homes motor 0 (azimuth). Wait for it to complete — the motor will drive until it stalls, then report its reference position.

MOT> h 1

This homes motor 1 (elevation). Same stall-detect process, shorter timeout (2s vs 8s for AZ).

After both motors are homed, position queries with a will return valid angles instead of INT_MAX.

On the Trav’ler (with the indoor display unit), elevation can be recalibrated through the IDU menu:

  1. Press POWER to turn on the IDU.

  2. Press and hold ENTER for 2 seconds to open the User Menu.

  3. Navigate to INSTALLATION.

  4. Select Calibrate EL.

  5. Confirm the hard stop position when prompted.

This re-establishes the EL reference by driving to the mechanical stop, similar to the automatic homing but initiated manually through the user interface.

The azimuth motor has a limited rotational range before the internal cables wrap too tightly and risk damage. The firmware tracks this and reverses direction at the wrap limits.

On the Carryout G2, confirmed wrap limits are:

ParameterValueDegrees
wrap_min-42333 centidegrees-423.33 degrees
wrap_max2333 centidegrees23.33 degrees
Total range44666 centidegrees~446.66 degrees

The wrap manager can be queried and controlled from the motor submenu:

MOT> w 0

Shows the current wrap status for motor 0 (AZ). Use w 0 ON or w 0 OFF to enable or disable wrap protection (disabling is not recommended).

The SK-1000 (full-size Trav’ler) has a wrap range of 0-455 degrees.

Each variant has firmware-enforced elevation limits:

VariantMin ElevationMax Elevation
HAL 0.0.0015 degrees90 degrees
HAL 2.0515 degrees90 degrees
Trav’ler Pro12 degrees75 degrees (hardware cap)
Carryout (2003)22 degrees73 degrees (NVS 102 override)
Carryout G218 degrees65 degrees

On the G2, these are stored in NVS indices 101 (min) and 102 (max). They can be read with:

MOT> elminmaxhome
Min: 18.00 Max: 65.00 Home: 65.00

Last resort only, for when the dish is deployed and firmware is unresponsive.

  1. Get a 5/16” socket with a 6” extension.

  2. Insert the socket into the auxiliary drive hole on the motor assembly.

  3. Turn clockwise slowly to drive the arm down.

  4. Ensure the arm faces the “rear” label before lowering to avoid collision with the base.