Difference between revisions of "Lynx RPi5 Dual RX"
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | = Lynx and Knobler = | + | == Lynx and Knobler == |
| − | '''Lynx''' is a Raspberry Pi | + | '''Lynx''' is a full DATV receiver for the Raspberry Pi 5 — not a control panel bolted onto someone else's decoder, but the whole receive chain: tuning, decoding, a genuine live picture on screen, and, when you want it, real diversity reception — two independent tuner inputs combined automatically, so a fade on one path doesn't have to mean losing the shot. Pair it with '''Knobler''', its companion rotary-dial remote built on the M5Stack M5Dial, and you've got a receiver you can actually run from across the room — glance at it, spin the dial, get on with your day. |
| − | + | It's actively developed, and it already does three genuinely different jobs well: a QO-100 ground station, a repeater input receiver, or a straightforward home DATV set-top box — same software, same interface, whichever one you're actually building. | |
| − | + | '''Requires a Raspberry Pi 5 (4GB or better).''' It won't run on a Pi 4 — the decode workload genuinely needs the newer hardware. | |
| − | Lynx | + | This page gives a brief overview of both. See [[#Getting_Started|Getting Started]] below for setup instructions. |
| + | |||
| + | === Get Started === | ||
| + | |||
| + | Ready to get something on screen? Here's everything you need. | ||
| + | |||
| + | * '''Lynx''' — [https://github.com/G8YTZ/lynx-datv-receiver source code, install guide, and full documentation] | ||
| + | * '''Knobler''' — [https://github.com/G8YTZ/lynx-knobler source code] | ||
| + | * New to Lynx? The [https://github.com/G8YTZ/lynx-datv-receiver/raw/main/docs/lynx_install_guide.docx Installation Guide] takes you from a blank SD card to a working receiver in one sitting, including a one-line installer. | ||
| + | |||
| + | === Lynx === | ||
| + | |||
| + | Built around the Picotuner, Lynx gives you a full receiver, not just a viewer: | ||
* A local web UI (default port 8080) for status, tuning, and configuration | * A local web UI (default port 8080) for status, tuning, and configuration | ||
| Line 18: | Line 30: | ||
Configuration lives in a single YAML file covering site details (callsign, locator, location), the Picotuner connection, presets, streams, diversity settings, and notification integrations. | Configuration lives in a single YAML file covering site details (callsign, locator, location), the Picotuner connection, presets, streams, diversity settings, and notification integrations. | ||
| − | == Knobler == | + | Full documentation, including an install guide, a Web UI reference, and a guide to the on-screen display, is kept alongside the source: [https://github.com/G8YTZ/lynx-datv-receiver/tree/main/docs docs folder on GitHub]. |
| + | |||
| + | === Knobler === | ||
Knobler is a physical companion display for Lynx, built on an [https://docs.m5stack.com/en/core/M5Dial M5Stack M5Dial] — a small ESP32-based device with a round touchscreen and a rotary encoder. It polls Lynx's web API directly and gives you a dedicated, always-on physical readout and control surface, separate from the web UI. | Knobler is a physical companion display for Lynx, built on an [https://docs.m5stack.com/en/core/M5Dial M5Stack M5Dial] — a small ESP32-based device with a round touchscreen and a rotary encoder. It polls Lynx's web API directly and gives you a dedicated, always-on physical readout and control surface, separate from the web UI. | ||
| Line 29: | Line 43: | ||
* Automatic discovery of the Lynx receiver on the local network — no need to hardcode or manually enter an IP address | * Automatic discovery of the Lynx receiver on the local network — no need to hardcode or manually enter an IP address | ||
| − | === Wi-Fi Setup === | + | ==== Wi-Fi Setup ==== |
On first boot (or if it can't find a previously-saved network), Knobler opens a temporary Wi-Fi access point of its own and displays a short prompt on screen. Connecting a phone or laptop to that access point brings up a normal Wi-Fi configuration page, where you select your network from a list and type in the password on a proper keyboard — rather than fumbling through SSID entry on a 1.28" touchscreen. | On first boot (or if it can't find a previously-saved network), Knobler opens a temporary Wi-Fi access point of its own and displays a short prompt on screen. Connecting a phone or laptop to that access point brings up a normal Wi-Fi configuration page, where you select your network from a list and type in the password on a proper keyboard — rather than fumbling through SSID entry on a 1.28" touchscreen. | ||
| Line 35: | Line 49: | ||
Once configured, credentials are saved on the device. If the saved network ever becomes unreachable (moved out of range, router replaced, etc.), Knobler automatically falls back into setup mode after a short timeout, without any need to reflash or reconfigure it by hand. | Once configured, credentials are saved on the device. If the saved network ever becomes unreachable (moved out of range, router replaced, etc.), Knobler automatically falls back into setup mode after a short timeout, without any need to reflash or reconfigure it by hand. | ||
| − | === Auto-Discovery === | + | ==== Auto-Discovery ==== |
Rather than requiring a fixed, manually-entered IP address for the Lynx receiver, Knobler broadcasts a small discovery request on the local network on startup. Any Lynx instance running current software answers directly, providing its name, callsign, IP address, and API port — so Knobler finds the right receiver automatically, even if its address changes (e.g. after a router reboot hands out a new DHCP lease). | Rather than requiring a fixed, manually-entered IP address for the Lynx receiver, Knobler broadcasts a small discovery request on the local network on startup. Any Lynx instance running current software answers directly, providing its name, callsign, IP address, and API port — so Knobler finds the right receiver automatically, even if its address changes (e.g. after a router reboot hands out a new DHCP lease). | ||
| − | == Getting Started == | + | === Getting Started === |
'''Requirements:''' | '''Requirements:''' | ||
| + | |||
* An M5Stack M5Dial device and USB-C cable | * An M5Stack M5Dial device and USB-C cable | ||
* Arduino IDE, with ESP32/M5Stack board support and the required libraries (M5Dial, WiFiManager, ArduinoJson) installed | * Arduino IDE, with ESP32/M5Stack board support and the required libraries (M5Dial, WiFiManager, ArduinoJson) installed | ||
* A Lynx receiver running current software (the discovery responder must be present — see below) | * A Lynx receiver running current software (the discovery responder must be present — see below) | ||
* A computer or phone to complete Wi-Fi setup | * A computer or phone to complete Wi-Fi setup | ||
| + | |||
| + | '''Lynx:''' the [https://github.com/G8YTZ/lynx-datv-receiver/raw/main/docs/lynx_install_guide.docx Installation Guide] covers everything from a blank SD card to a working receiver, including a one-line installer script. | ||
'''Before flashing Knobler:''' make sure the Lynx receiver is running a version of the software that includes the discovery responder (it prints a line similar to <code>Discovery responder listening on UDP :9998.</code> on startup). Older Lynx installs will need updating first, or Knobler won't be able to find them automatically. | '''Before flashing Knobler:''' make sure the Lynx receiver is running a version of the software that includes the discovery responder (it prints a line similar to <code>Discovery responder listening on UDP :9998.</code> on startup). Older Lynx installs will need updating first, or Knobler won't be able to find them automatically. | ||
| − | A full step-by-step installation guide — covering Arduino IDE setup, board/library installation, flashing, and first-time Wi-Fi configuration — is | + | A full step-by-step Knobler installation guide — covering Arduino IDE setup, board/library installation, flashing, and first-time Wi-Fi configuration — is not yet published separately; for now, see the [https://github.com/G8YTZ/lynx-knobler Knobler repository] directly. |
| − | == Status == | + | === Status === |
Both projects are under active development. Known limitations at time of writing: | Both projects are under active development. Known limitations at time of writing: | ||
| Line 58: | Line 75: | ||
* There is currently no on-device way to force Knobler back into Wi-Fi setup mode (e.g. to deliberately switch networks) short of clearing its saved credentials via a computer. | * There is currently no on-device way to force Knobler back into Wi-Fi setup mode (e.g. to deliberately switch networks) short of clearing its saved credentials via a computer. | ||
| − | == See Also == | + | === See Also === |
| − | * [ | + | * [https://github.com/G8YTZ/lynx-datv-receiver Lynx source code and documentation on GitHub] |
| − | * [ | + | * [https://github.com/G8YTZ/lynx-knobler Knobler source code on GitHub] |
* [[Picotuner]] | * [[Picotuner]] | ||
| − | == Credits == | + | === Credits === |
| − | '' | + | ''Justin D. Cockett - G8YTZ'' |
[[Category:DATV]] | [[Category:DATV]] | ||
[[Category:Receivers]] | [[Category:Receivers]] | ||
Latest revision as of 15:17, 27 July 2026
Lynx and Knobler
Lynx is a full DATV receiver for the Raspberry Pi 5 — not a control panel bolted onto someone else's decoder, but the whole receive chain: tuning, decoding, a genuine live picture on screen, and, when you want it, real diversity reception — two independent tuner inputs combined automatically, so a fade on one path doesn't have to mean losing the shot. Pair it with Knobler, its companion rotary-dial remote built on the M5Stack M5Dial, and you've got a receiver you can actually run from across the room — glance at it, spin the dial, get on with your day.
It's actively developed, and it already does three genuinely different jobs well: a QO-100 ground station, a repeater input receiver, or a straightforward home DATV set-top box — same software, same interface, whichever one you're actually building.
Requires a Raspberry Pi 5 (4GB or better). It won't run on a Pi 4 — the decode workload genuinely needs the newer hardware.
This page gives a brief overview of both. See Getting Started below for setup instructions.
Get Started
Ready to get something on screen? Here's everything you need.
- Lynx — source code, install guide, and full documentation
- Knobler — source code
- New to Lynx? The Installation Guide takes you from a blank SD card to a working receiver in one sitting, including a one-line installer.
Lynx
Built around the Picotuner, Lynx gives you a full receiver, not just a viewer:
- A local web UI (default port 8080) for status, tuning, and configuration
- Live decode status — lock state, MER, and related quality metrics, read from the Picotuner's status broadcast
- A preset system for quickly recalling known frequencies/symbol rates across plugs (including saved presets created from the web UI)
- Optional receive diversity combining across two tuner inputs, with automatic MER-based switching and a "hard freeze breaker" safeguard against repeated lock loss
- Optional notifications — Slack, QRZ logbook lookups, and GPIO-triggered outputs (e.g. driving an external "on air" indicator) — each independently configurable and disabled by default
- Optional RTMP relay of the decoded stream
Configuration lives in a single YAML file covering site details (callsign, locator, location), the Picotuner connection, presets, streams, diversity settings, and notification integrations.
Full documentation, including an install guide, a Web UI reference, and a guide to the on-screen display, is kept alongside the source: docs folder on GitHub.
Knobler
Knobler is a physical companion display for Lynx, built on an M5Stack M5Dial — a small ESP32-based device with a round touchscreen and a rotary encoder. It polls Lynx's web API directly and gives you a dedicated, always-on physical readout and control surface, separate from the web UI.
Current capabilities:
- Live status display (lock state, signal quality) with a configurable poll interval
- A menu system for browsing and selecting presets and streams via the rotary encoder, with an auto-timeout back to the normal display
- Self-service Wi-Fi setup — no need to hardcode network credentials into the firmware or edit code to get it on your network (see below)
- Automatic discovery of the Lynx receiver on the local network — no need to hardcode or manually enter an IP address
Wi-Fi Setup
On first boot (or if it can't find a previously-saved network), Knobler opens a temporary Wi-Fi access point of its own and displays a short prompt on screen. Connecting a phone or laptop to that access point brings up a normal Wi-Fi configuration page, where you select your network from a list and type in the password on a proper keyboard — rather than fumbling through SSID entry on a 1.28" touchscreen.
Once configured, credentials are saved on the device. If the saved network ever becomes unreachable (moved out of range, router replaced, etc.), Knobler automatically falls back into setup mode after a short timeout, without any need to reflash or reconfigure it by hand.
Auto-Discovery
Rather than requiring a fixed, manually-entered IP address for the Lynx receiver, Knobler broadcasts a small discovery request on the local network on startup. Any Lynx instance running current software answers directly, providing its name, callsign, IP address, and API port — so Knobler finds the right receiver automatically, even if its address changes (e.g. after a router reboot hands out a new DHCP lease).
Getting Started
Requirements:
- An M5Stack M5Dial device and USB-C cable
- Arduino IDE, with ESP32/M5Stack board support and the required libraries (M5Dial, WiFiManager, ArduinoJson) installed
- A Lynx receiver running current software (the discovery responder must be present — see below)
- A computer or phone to complete Wi-Fi setup
Lynx: the Installation Guide covers everything from a blank SD card to a working receiver, including a one-line installer script.
Before flashing Knobler: make sure the Lynx receiver is running a version of the software that includes the discovery responder (it prints a line similar to Discovery responder listening on UDP :9998. on startup). Older Lynx installs will need updating first, or Knobler won't be able to find them automatically.
A full step-by-step Knobler installation guide — covering Arduino IDE setup, board/library installation, flashing, and first-time Wi-Fi configuration — is not yet published separately; for now, see the Knobler repository directly.
Status
Both projects are under active development. Known limitations at time of writing:
- If more than one Lynx receiver answers a discovery request on the same network, Knobler currently connects to whichever reply arrives first — a picker screen for choosing between multiple receivers is planned but not yet built.
- There is currently no on-device way to force Knobler back into Wi-Fi setup mode (e.g. to deliberately switch networks) short of clearing its saved credentials via a computer.
See Also
Credits
Justin D. Cockett - G8YTZ