--- title: QO-100 DATV Reception description: Receiving amateur digital television from the Es'hail-2 geostationary satellite using the SkyWalker-1 DVB-S receiver. --- import { Tabs, TabItem, Steps, Aside, Badge, CardGrid, Card } from '@astrojs/starlight/components'; The Es'hail-2 satellite (25.9 degrees East) carries the first geostationary amateur radio transponders, designated QO-100. The wideband transponder at 10491-10499 MHz carries DATV (Digital Amateur Television) signals that the SkyWalker-1 can receive — with some important caveats about symbol rate limitations and LNB selection. ## Overview 10491.000 - 10499.500 MHz (8.5 MHz bandwidth). Carries DVB-S DATV stations from amateur operators worldwide. 10489.750 MHz CW/PSK beacon. Useful for dish pointing and LNB drift calibration. 25.9 degrees East — visible from Europe, Africa, western Asia, and eastern Americas. 60 cm in central Europe, 1.2m+ at the edges of the footprint. ## LNB Selection The SkyWalker-1 accepts IF frequencies in the 950-2150 MHz range. The LNB's local oscillator frequency determines where the QO-100 signals appear in this window. | LNB Type | LO Frequency | QO-100 IF Range | Compatible? | |----------|-------------|-----------------|-------------| | Universal (low band) | 9750 MHz | 741-749 MHz | No — below 950 MHz minimum | | Universal (high band) | 10600 MHz | -109 to -101 MHz | No — negative IF | | Modified universal | 9361 MHz | 1130-1138 MHz | Yes | | TCXO/PLL stabilized | 9750 MHz | 741-749 MHz | No — same issue | | Custom downconverter | varies | varies | Check IF range | ### Modified LNB Option The most common approach among QO-100 operators is modifying a universal LNB by replacing the crystal oscillator (typically 25 MHz) with one that produces a different LO frequency. A 24.000 MHz crystal in a universal LNB that normally multiplies by 390 (9750 MHz) will produce 9360 MHz instead, placing QO-100 at 1131-1139 MHz IF. Popular modified LO frequencies and their resulting IF ranges: | Crystal | Multiplier | LO (MHz) | QO-100 IF (MHz) | |---------|-----------|----------|-----------------| | 24.000 MHz | x390 | 9360 | 1131-1139 | | 24.385 MHz | x384 | 9363 | 1128-1136 | | 25.000 MHz | x374 | 9350 | 1141-1149 | | 27.000 MHz | x348 | 9396 | 1095-1103 | ## Quick Start 1. **Verify LNB compatibility** — check that your LO frequency places QO-100 in the 950-2150 MHz range: ```bash python3 tools/qo100.py calc --lnb-lo 9361 ``` 2. **Point the dish** — aim at 25.9 degrees East. Use the motor control tool or manual positioning: ```bash sudo python3 tools/motor.py gotox --sat 25.9 --lon -97.5 ``` 3. **Scan for carriers** — sweep the QO-100 IF range: ```bash sudo python3 tools/qo100.py scan --lnb-lo 9361 ``` 4. **Tune to a carrier** — lock onto a detected DATV station: ```bash sudo python3 tools/qo100.py tune --freq 1135 --sr 1000 --lnb-lo 9361 ``` 5. **Watch live video** — pipe the transport stream to a media player: ```bash sudo python3 tools/qo100.py watch --freq 1135 --sr 1000 --lnb-lo 9361 ``` ## CLI Reference ### Calculate IF Frequencies ```bash python3 tools/qo100.py calc --lnb-lo 9361 ``` Displays the QO-100 wideband transponder IF range, known DATV frequencies with their IF equivalents, and the beacon frequency. No hardware required — pure calculation. ### Band Plan ```bash python3 tools/qo100.py band-plan --lnb-lo 9361 ``` Shows the complete QO-100 wideband transponder band plan with known station frequencies converted to your LNB's IF range. Includes both the wideband DATV segment and the engineering beacon. ### Scan ```bash sudo python3 tools/qo100.py scan --lnb-lo 9361 ``` Sweeps the QO-100 IF range with parameters tuned for narrowband DATV: - 250 kHz frequency steps (vs 5 MHz for broadcast) - 1000 ksps measurement symbol rate - Extended dwell time for weak signal detection ### Tune ```bash sudo python3 tools/qo100.py tune --freq 1135 --sr 1000 --lnb-lo 9361 ``` Tunes the BCM4500 to the specified IF frequency and symbol rate, then monitors lock status and signal quality. The `--freq` parameter is the IF frequency (after LNB downconversion), not the RF frequency. ### Watch ```bash sudo python3 tools/qo100.py watch --freq 1135 --sr 1000 --lnb-lo 9361 ``` Tunes, locks, and pipes the raw MPEG-2 transport stream to `ffplay` (or `mpv` if ffplay is not found). The video player receives the stream on stdin and renders it in real time. | Flag | Default | Description | |------|---------|-------------| | `--freq` | — | IF frequency in MHz (required) | | `--sr` | 1000 | Symbol rate in ksps | | `--lnb-lo` | — | LNB local oscillator in MHz (required) | | `--player` | auto | Video player command (`ffplay` or `mpv`) | ## Hardware Limitations ### Minimum Symbol Rate The BCM4500 demodulator has a minimum symbol rate of **256 ksps** (256,000 symbols per second). Many QO-100 DATV stations transmit at lower rates: | Typical QO-100 SR | BCM4500 Support | |-------------------|----------------| | 125 ksps | Detectable as energy, cannot lock | | 250 ksps | Marginal — may lock with strong signal | | 333 ksps | Supported | | 500 ksps | Supported | | 1000 ksps | Supported | | 2000 ksps | Supported | The survey tool distinguishes "carrier detected" (energy above noise floor) from "carrier locked" (BCM4500 achieved demodulator lock) in its output. ### Lock Acquisition Time QO-100 signals are weaker than broadcast satellites. The BCM4500 may need 10-30 seconds to achieve lock at low symbol rates, compared to 1-2 seconds for typical broadcast transponders. The `qo100.py tune` command uses extended timeouts automatically. ### Frequency Stability QO-100 DATV signals have tighter frequency tolerance requirements than the SkyWalker-1's default tuning resolution. A PLL-stabilized or TCXO LNB provides better frequency accuracy than a standard DRO LNB, reducing the chance of the demodulator losing lock due to LNB drift. ## Using the TUI The SkyWalker TUI includes QO-100 as a tab within the Survey screen (F10). The QO-100 tab pre-fills the sweep parameters with values optimized for the wideband transponder and includes an info panel showing known station frequencies adjusted for your LNB's local oscillator. See [SkyWalker TUI — Survey Screen](/tools/tui/#survey--qo-100) for details. ## See Also - [Motor Control](/tools/motor/) — DiSEqC 1.2 positioner for dish pointing - [Carrier Survey](/tools/survey/) — automated carrier detection and cataloging - [LNB Control](/lnb-diseqc/lnb-control/) — LNB power and voltage configuration - [RF Specifications](/hardware/rf-specifications/) — SkyWalker-1 frequency range and sensitivity