Advanced Features¶
This section covers advanced features and configuration options for experienced users.
Serial CLI Reference¶
DXSpotter Pro exposes a serial command-line interface over USB-C at 115200 baud. The CLI is available at any time during operation (no special boot mode needed).
Note
Plug the USB-C cable into your computer, then connect to the serial port that appears — typically cu.usbmodem* on macOS, ttyUSB* on Linux, or COM* on Windows — at 115200 baud.
Available Commands¶
Type help (or ?) to see the live list. The full set of commands:
Command |
Description |
|---|---|
|
Print the list of available commands |
|
Print the current configuration: callsign, cluster, filter, device name, timezone, max spots, and the WiFi list |
|
Append a WiFi credential (max 5). The list is full when |
|
Erase all WiFi credentials from the in-memory config |
|
Set the DX cluster server. Port defaults to |
|
Set the operator callsign (auto-uppercased) |
|
Set or clear the band filter (slot 0). Whatever follows |
|
Set the timezone using a POSIX TZ string. Example: |
|
Persist the in-memory config to NVS. Required after most |
|
Restart the device |
|
Trigger an immediate OTA version check and install if newer |
|
Re-initialise the display and force a full redraw. Harmless to run any time; rarely needed |
Tip
Most settings change require a follow-up save to be remembered after reboot. The CLI will remind you with (remember to save).
CLI Examples¶
Adding a WiFi network from the CLI:
wifi add MyHomeWiFi MySecurePassword123
save
reboot
Switching to a different cluster:
cluster dxc.g3lrs.org.uk 7300
save
Setting your callsign and filter:
callsign K3ABC
filter accept/spot 0 freq 20m
save
Setting the timezone (UK):
tz GMT0BST,M3.5.0/1,M10.5.0/2
save
Triggering an OTA update right now:
ota
Recovering from a 1-pixel scan-out drift (rare):
reset-lcd
Inspecting current config and connection state:
show
This prints something like:
---- config ----
callsign : K3ABC
cluster : dxc.hamserve.uk:7300
filter : 'accept/spot 0 freq 20m'
device : dxspotter-pro
tz : GMT0BST,M3.5.0/1,M10.5.0/2
maxSpots : 64
wifi (2):
[0] MyHomeWiFi (pw set)
[1] BackupNetwork (pw set)
----------------
Over-The-Air (OTA) Firmware Updates¶
DXSpotter Pro checks for firmware updates automatically. Updates are downloaded securely over HTTPS from the TopBytes update service.
How OTA Works¶
On boot, the device waits about 30 seconds for WiFi and other services to settle
It then asks the update service whether a newer release is available for this unit
The on-screen modal shows download progress; the device reboots into the new firmware automatically
After the boot check, the cycle repeats every hour for the rest of uptime.
Manual OTA Trigger¶
You don't have to wait for the hourly cadence:
Serial CLI: type
otaTouch UI: touch
link, to bring up the network details panel and then selectupdate
The OTA Progress Modal¶
When an update is in progress, a full-screen modal takes over the LCD with:
Title: "Firmware Update"
Status text: "Connecting..." -> "Downloading..." -> "Done — rebooting"
A horizontal progress bar (0% to 100%)
The numeric percentage
If the update fails, the modal shows the error message instead of "Done — rebooting" — common errors include HTTP 4xx (server didn't have the firmware), connect failed (network issue), timeout, and flash write: ... (rare partition error).
Warning
Do not power off the device during an OTA update. Loss of power mid-flash can leave the device in an indeterminate state requiring USB recovery (see Troubleshooting).
Alert Matching Rules¶
DXSpotter Pro's alert system matches incoming spots against a list of up to 10 callsign or prefix entries.
How Matching Works¶
For each incoming spot, the spotted DX callsign is compared against every alert entry using a case-insensitive startsWith match.
Examples:
Alert entry |
DX callsign |
Match? |
|---|---|---|
|
|
Yes (prefix) |
|
|
Yes (prefix) |
|
|
No (different prefix) |
|
|
Yes (case-insensitive) |
|
|
Yes (startsWith — be careful!) |
|
|
No (entry is longer than the spot) |
Tips for Choosing Alert Entries¶
Use the prefix only when chasing a DXpedition —
3B7matches every operator on the expedition without needing to list each callUse the full callsign when chasing a specific operator
Avoid very short prefixes (
K,W,G) — they'll match too many spots and the popups will be a constant interruptionCasing doesn't matter — type whatever's convenient
Match Effects¶
When a spot matches:
The spot row in the spot list is rendered with an amber background
The first time a spot's match is detected, the alert popup modal is shown with the full spot details
The popup auto-dismisses after
alertDismissSecsseconds (default 60, range 0–600). Set to 0 to require manual dismissalThe amber row remains highlighted until it ages out of the spot ring buffer
Custom Filters via the Web Portal¶
The web portal supports up to 5 custom filter presets. Each preset is a friendly name plus a raw filter command. Presets appear:
In the web Filter dropdown (selecting one applies it via the cluster preset path)
In the PRESETS section of the on-device MODE modal
Defining a Custom Filter¶
Open the web portal (
http://<device-ip>/)Scroll to the "Custom Filters" section
Click Add to create a new entry
Fill in the Name (e.g.
20M FT8) and Command (e.g.accept/spot 0 freq 14.070-14.080)Save
The new filter is now selectable from both the web dropdown and the touch MODE modal.
Filter Command Syntax¶
DXSpotter Pro sends filter commands directly to the cluster server. The exact syntax depends on the cluster's software (DX-Spider, CC Cluster, AR-Cluster), but DX-Spider syntax is the most common:
Basic band filters:
accept/spot 0 freq 160m
accept/spot 0 freq 80m
accept/spot 0 freq 40m
accept/spot 0 freq 20m
accept/spot 0 freq 15m
accept/spot 0 freq 10m
Frequency range filters:
accept/spot 0 freq 14.000-14.100 # 20M CW segment
accept/spot 0 freq 14.200-14.350 # 20M SSB segment
accept/spot 0 freq 7.000-7.080 # 40M CW
Mode-style filters (slot 1):
accept/spot 1 freq hf/cw
accept/spot 1 freq hf/ssb
accept/spot 1 info ft8
accept/spot 1 info ft4
Composable rules:
DXSpotter Pro composes slot 0 (band) AND slot 1 (mode) on the cluster automatically. Any custom filter you define in the web portal is treated as a preset, meaning it atomically replaces both slots when applied.
Combined rules in a single preset:
accept/spot 0 freq 20m and info ft8
accept/spot 0 freq hf and by_zone 14
accept/spot 0 freq 20m or freq 15m or freq 10m
Refer to your cluster's help (via raw telnet) for the supported filter grammar.
Two-Slot Composable Filtering Behaviour¶
The on-device band rows and MODE buttons interact with the two-slot system as follows:
Tap a band -> updates slot 0 (band filter), preserves slot 1 (mode), AND-combined on the server
Tap a mode -> updates slot 1 (mode filter), preserves slot 0 (band), AND-combined on the server
Tap a PRESET in the MODE modal -> atomic replacement of both slots; the filter is treated as a single recipe
Tap CLEAR in the filter footer -> removes both slots in one round-trip
Pick a preset from the web filter dropdown -> equivalent to tapping a PRESET on screen
If a PRESET is active and you tap a band or mode button, the preset is replaced — band/mode taps don't compose with presets.
Web Portal Network Information¶
The web portal is reachable at:
http://<device-ip>/while connected to your WiFihttp://<deviceName>.local/if your network supports mDNS/Bonjourhttp://192.168.4.1/when the device is in AP setup mode
Warning
The web interface has no password protection. Use only on trusted local networks. Do not expose to the public internet.
Network Administration¶
Port Usage¶
DXSpotter Pro uses the following network ports:
Port |
Protocol |
Purpose |
|---|---|---|
80 |
TCP (HTTP) |
Web configuration interface (inbound) |
53 |
UDP (DNS) |
DNS resolution (outbound; also inbound DNS in AP mode) |
123 |
UDP (NTP) |
Time synchronisation (outbound) |
7300* |
TCP (Telnet) |
DX Cluster connection (outbound — varies per cluster) |
443 |
TCP (HTTPS) |
Cached propagation feed + OTA firmware downloads, both to |
* Port number varies based on the configured cluster; 7300 is the most common.
Firewall Considerations¶
For normal operation:
Allow outbound TCP to your cluster's port (e.g. 7300)
Allow outbound UDP to NTP servers (port 123)
Allow outbound DNS (port 53)
For the propagation panel and OTA:
Allow outbound HTTPS to
u.topbytes.net(port 443) — serves both the cached propagation feed and firmware updates
The device no longer connects to www.hamqsl.com directly; the propagation data is fetched and cached on the TopBytes server.
For web configuration:
Allow inbound HTTP on port 80 from your local network only
Security Best Practices¶
Use WPA2 or WPA3: don't connect DXSpotter Pro to open networks
Don't expose port 80 to the internet: the web portal has no authentication
Use mDNS / hostname access rather than fixed IPs where possible
Keep firmware up to date: OTA auto-checks hourly; security fixes (if any) are pushed via the same path
Strong WiFi password: protects everything else
Time Synchronisation¶
DXSpotter Pro synchronises its clock via NTP shortly after WiFi comes up.
NTP server:
pool.ntp.orgTimezone: configured via web portal dropdown or serial
tz <posix-tz>commandDST is handled automatically by the POSIX timezone string
Time format on screen:
HH:MM:SS XXX(XXX is the timezone abbreviation)
Power Consumption¶
Typical: 2–4 W at 5 V (driven mainly by the LCD backlight)
Peak (during OTA flash): up to 1 A at 5 V
Use a quality 5 V / 1 A or higher USB-C supply
USB-C power banks are supported for portable use; 10,000 mAh runs the device for many hours
What's Next?¶
Review Technical Specifications for hardware specifications
Return to Operation for daily usage information
See Troubleshooting if something isn't working