Lynx RPi5 Dual RX: Difference between revisions
m Alpha v0.e |
No edit summary |
||
| Line 1: | Line 1: | ||
= Lynx and Knobler = | |||
'''Lynx''' is a Raspberry Pi-based control and monitoring package for amateur DATV reception, and '''Knobler''' is its companion hardware remote — a small rotary-dial display unit built on the M5Stack M5Dial. Together they turn a Picotuner-based DATV receiver into a system you can watch and control without a laptop or the Pi's own web UI open in front of you. | |||
This page gives a brief overview of both. See the [[#Getting Started|Getting Started]] section below for setup instructions. | |||
== Lynx == | |||
Lynx runs on a Raspberry Pi and sits between the Picotuner hardware and the operator, providing: | |||
* 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. | |||
== 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. | |||
'''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 | |||
'''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 available separately: '''[insert link to installation guide here]'''. | |||
== 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 == | |||
* [insert link to Lynx source/repository] | |||
* [insert link to Knobler source/repository] | |||
* [[Picotuner]] | |||
== Credits == | |||
''[insert author/maintainer attribution here]'' | |||
[[Category:DATV]] | |||
[[Category:Receivers]] | |||
Revision as of 06:25, 22 July 2026
Lynx and Knobler
Lynx is a Raspberry Pi-based control and monitoring package for amateur DATV reception, and Knobler is its companion hardware remote — a small rotary-dial display unit built on the M5Stack M5Dial. Together they turn a Picotuner-based DATV receiver into a system you can watch and control without a laptop or the Pi's own web UI open in front of you.
This page gives a brief overview of both. See the Getting Started section below for setup instructions.
Lynx
Lynx runs on a Raspberry Pi and sits between the Picotuner hardware and the operator, providing:
- 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.
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
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 installation guide — covering Arduino IDE setup, board/library installation, flashing, and first-time Wi-Fi configuration — is available separately: [insert link to installation guide here].
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
- [insert link to Lynx source/repository]
- [insert link to Knobler source/repository]
- Picotuner
Credits
[insert author/maintainer attribution here]