Difference between revisions of "Lynx RPi5 Dual RX"

From BATC Wiki
Jump to navigation Jump to search
m (Alpha v0.e)
Line 1: Line 1:
The Lynx receiver is a DATV receiver being developed by Justin G8YTZ.  As of July 2026 it was in early prototype form and not released.
+
= Lynx and Knobler =
  
The hardware includes a Raspberry Pi 5 with display, network connected to a PicoTuner with G4EWJ's ethernet interface.
+
'''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.
  
Features include diversity reception across the tuner's 2 inputs.
+
This page gives a brief overview of both. See the [[#Getting Started|Getting Started]] section below for setup instructions.
  
Attached is the Alpha software for the “Pi 5 Lynx” DATV Receiver that I have been working on. You’ll need a Pi 5 with 4GB RAM and a 32GB SD card. In theory a 2GB Pi 5 will work, but will be come a problem as I add new features. PicoTuner with ethernet - latest code required.
+
== Lynx ==
  
Known issue to be aware of: On first boot/tune in Diversity mode one tuners may not lock, we’ve implemented a workaround, by sending the tune command twice on boot, but the core issue seems that the PicoTuner cannot reliably cope with a second tune command whilst acquiring/locking the first signal.
+
Lynx runs on a Raspberry Pi and sits between the Picotuner hardware and the operator, providing:
  
Readme Folder:
+
* 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
  
Installation Instructions for the Alpha testers
+
Configuration lives in a single YAML file covering site details (callsign, locator, location), the Picotuner connection, presets, streams, diversity settings, and notification integrations.
Web UI documentation - what all the bits do
 
Lynx Features (quite old now, but sets the scene)
 
Lynx Diversity manual - details of the Lynx Diversity feature and the journey so far.
 
Lynx Diversity Progress Report - a bit historical now, but explains why we changed to PCR from packet sequence combining. My original idea was we could generate wall-clock sequence numbers by generating check sums from the packet sequence, but PCR was much simpler to implement.
 
  
best regards
+
== Knobler ==
  
Justin Cockett - G8YTZ
+
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]