Difference between revisions of "Lynx RPi5 Dual RX"

From BATC Wiki
Jump to navigation Jump to search
Line 1: Line 1:
= Lynx and Knobler =
+
== 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.
 
'''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.
+
This page gives a brief overview of both. See [[#Getting_Started|Getting Started]] below for setup instructions.
  
== Lynx ==
+
=== Get Started ===
 +
 
 +
* '''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, including a one-line installer.
 +
 
 +
=== Lynx ===
  
 
Lynx runs on a Raspberry Pi and sits between the Picotuner hardware and the operator, providing:
 
Lynx runs on a Raspberry Pi and sits between the Picotuner hardware and the operator, providing:
Line 18: Line 24:
 
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 37:
 
* 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 43:
 
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 available separately: '''[insert link to installation guide here]'''.
+
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 69:
 
* 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 ===
  
* [link to Lynx source/repository - coming soon!]
+
* [https://github.com/G8YTZ/lynx-datv-receiver Lynx source code and documentation on GitHub]
* [link to Knobler source/repository - coming soon!]
+
* [https://github.com/G8YTZ/lynx-knobler Knobler source code on GitHub]
 
* [[Picotuner]]
 
* [[Picotuner]]
  
== Credits ==
+
=== Credits ===
  
''[Justin D. Cockett - G8YTZ]''
+
''Justin D. Cockett - G8YTZ''
  
 
[[Category:DATV]]
 
[[Category:DATV]]
 
[[Category:Receivers]]
 
[[Category:Receivers]]

Revision as of 15:09, 27 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 Getting Started below for setup instructions.

Get Started

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.

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