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.
Power-up calibration
Section titled “Power-up calibration”On a normal power-up with the tracker enabled, the dish runs a full calibration sequence automatically:
-
Bootloader initializes. Firmware loads, peripherals (SPI for motor drivers, SPI for DVB tuner) are configured.
-
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).
-
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.
-
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. -
TV satellite search begins. The firmware starts scanning for DirecTV/DISH satellites. This is where you disable the search.
Carryout G2 boot sequence (detailed)
Section titled “Carryout G2 boot sequence (detailed)”The G2’s boot process is well-documented from serial capture:
- Bootloader v1.01 starts
- SPI1 init at 4 MHz — configures the two A3981 stepper motor driver ICs (mode 0x03)
- Motor init — System=12Inch, master=40000 steps/rev (AZ), slave=24960 steps/rev (EL), ratio=1.602564
- SPI2 init at 6.857 MHz — configures the BCM4515 DVB tuner (mode 0x03)
EXTENDED_DVB_DEBUG ENABLED- DVB init — AP RAM FW verified, BCM4515 ID 0x4515 Rev B0, FW v113.37, strap 0x25018
- Auto-search config — blind scan, 18000-24000 ksps, rolloff 0.35
Enabled LNB STBAnt ID - 12-IN G2- NVS load from flash
- EL home (stall detect, 2s timeout)
- AZ home (stall detect, 8s timeout)
Antenna Facing FrontTRK>prompt appears (if tracker disabled) or search starts
When NVS 20 is TRUE (tracker disabled)
Section titled “When NVS 20 is TRUE (tracker disabled)”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.
Manual homing (Carryout G2)
Section titled “Manual homing (Carryout G2)”The G2 has an explicit h <id> homing command in the motor submenu:
TRK> motMOT> h 0This homes motor 0 (azimuth). Wait for it to complete — the motor will drive until it stalls, then report its reference position.
MOT> h 1This 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.
EL recalibration via IDU buttons
Section titled “EL recalibration via IDU buttons”On the Trav’ler (with the indoor display unit), elevation can be recalibrated through the IDU menu:
-
Press POWER to turn on the IDU.
-
Press and hold ENTER for 2 seconds to open the User Menu.
-
Navigate to INSTALLATION.
-
Select Calibrate EL.
-
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.
Cable wrap protection
Section titled “Cable wrap protection”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:
| Parameter | Value | Degrees |
|---|---|---|
wrap_min | -42333 centidegrees | -423.33 degrees |
wrap_max | 2333 centidegrees | 23.33 degrees |
| Total range | 44666 centidegrees | ~446.66 degrees |
The wrap manager can be queried and controlled from the motor submenu:
MOT> w 0Shows 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.
Elevation limits
Section titled “Elevation limits”Each variant has firmware-enforced elevation limits:
| Variant | Min Elevation | Max Elevation |
|---|---|---|
| HAL 0.0.00 | 15 degrees | 90 degrees |
| HAL 2.05 | 15 degrees | 90 degrees |
| Trav’ler Pro | 12 degrees | 75 degrees (hardware cap) |
| Carryout (2003) | 22 degrees | 73 degrees (NVS 102 override) |
| Carryout G2 | 18 degrees | 65 degrees |
On the G2, these are stored in NVS indices 101 (min) and 102 (max). They can be read with:
MOT> elminmaxhomeMin: 18.00 Max: 65.00 Home: 65.00Emergency manual stow
Section titled “Emergency manual stow”Last resort only, for when the dish is deployed and firmware is unresponsive.
-
Get a 5/16” socket with a 6” extension.
-
Insert the socket into the auxiliary drive hole on the motor assembly.
-
Turn clockwise slowly to drive the arm down.
-
Ensure the arm faces the “rear” label before lowering to avoid collision with the base.