quikchaos.com

⟨ quikchaos ⟩

⟨ a.k.a. quikchaos ⟩

currently focused on NOAA Weather, WWV time signals, ACARS aviation messaging, ADS-B aircraft tracking, AIS marine vessel tracking, and NOAA APT satellite imagery via basic RTL-SDR dongles.

Disclaimer: All software on this site is provided for personal, educational, and non-commercial research use only. These are hobbyist projects - not certified, validated, or approved for any safety-critical, emergency communications, or operational aviation purpose. See Terms of Use.

ABOUT

I'm quik - network engineer, video gamer, science junkie and tool builder (dh81 on GitLab). I've been around the internet since the late 90s under the handle quikchaos (previously QuiK_ChaoS), mostly lurking in gaming communities, Gentoo forums, photography, and graphic design before shifting back into networking, infrastructure, and system programming.

These days I am learning to develop open-source tools - currently in Rust, but not married to any one language. The SDR projects below are the main focus right now, alongside Deadband - a persistent-universe space strategy game built on a Rust world engine with a Godot 4.6 client. Secure voice network engineering is next.

I also contribute to QX9, a research group exploring decentralized systems and applied signal intelligence geared toward reliable public safety communications (see Other Projects below).

PROJECTS

noaa-wx-rs (Stable)
v0.4.0 · 9,700 lines · 200 tests · MIT

NOAA Weather Radio receiver, SAME/EAS alert decoder, and NOAA APT satellite weather image demodulator for RTL-SDR. Receives NWR on 162.4–162.55 MHz (WX1–WX7) and APT imagery from NOAA-15/18/19 at 137 MHz. Full SAME decoding with 3-burst majority voting and 66 event codes, FIPS-based geographic filtering. CLI binary (noaa-wx) plus library crate.

wwv-rs (Stable)
v0.3.1 · 8,642 lines · 194 tests · GPL-3.0+

Time signal decoder for RTL-SDR in direct sampling mode (240 kHz). Supports nine international standards:

WWV/WWVHUSA - 2.5/5/10/15/20 MHz (AM + BCD tones)
WWVBUSA - 60 kHz (amplitude-shift keying)
JJYJapan - 40, 60 kHz (same encoding as WWVB)
DCF77Germany - 77.5 kHz (amplitude redux + even parity)
MSFUnited Kingdom - 60 kHz (A/B bit-pair carrier-off)
BPCChina - 68.5 kHz (quaternary PWM, 20s frames)
BPMChina - 2.5/5/10/15 MHz (HF, MSB-first BCD)
RBURussia - 66.667 kHz (FSK: 100/312.5 Hz)
CHUCanada - 3.33/7.85/14.67 MHz (Bell 103 FSK)

Auto mode detection from tuned frequency. JSON output for machine-readable event streams.

SIGNAL MODES

Mode Frequency Modulation Project Standard
FM HD Radio87.5–108.0 MHzOFDM + HE-AAC v2nrsc5-rsNRSC-5-D
FM Analog87.5–108.0 MHzWBFM Stereodh81-sdr-rs-
AM Broadcast530–1700 kHzAM Envelopedh81-sdr-rs-
NWR/SAME162.4–162.55 MHzNBFM + AFSKnoaa-wx-rs47 CFR Part 11
ADS-B1090 MHzPPM / Mode Sdh81-sdr-rsICAO Annex 10
AIS161.975/162.025 MHzGMSK 9600 bauddh81-sdr-rsITU-R M.1371
ACARS129–136 MHzAM/MSK 2400 bauddh81-sdr-rsARINC 618
NOAA APT137.1–137.9 MHzWBFM + AM 2400 Hznoaa-wx-rsNOAA POES
RDS57 kHz subcarrierBPSK Manchesterdh81-sdr-rsITU-R BS.412-9
WWV/WWVH2.5–20 MHzAM + BCD toneswwv-rsNIST SP 432
WWVB60 kHzASK/PMwwv-rsIRIG-H
DCF7777.5 kHzASKwwv-rsPTB Germany
JJY40/60 kHzASKwwv-rsNICT Japan
MSF60 kHzASKwwv-rsNPL UK
BPC68.5 kHzASKwwv-rsNTSC China
BPM2.5–15 MHzAM + BCD toneswwv-rsNTSC China (HF)
RBU66.667 kHzMSKwwv-rsVNIIFTRI Russia
CHU3.33/7.85/14.67 MHzBell 103 FSKwwv-rsNRC Canada

STATUS

Project Version Lines Tests License License Rationale Status
nrsc5-rs0.9.021,450296GPL-3.0+Derived from GPL-licensed nrsc5 C projectMature
dh81-sdr-rs0.2.021,101548GPL-3.0+Links GPL nrsc5-rs; ships dh81-sdr binary + dh81-sdr-common DSP sub-crateActive
quiktool0.17.014,292221GPL-3.0+Links GPL libraries (dh81-sdr-rs, wwv-rs)Active
noaa-wx-rs0.4.09,700200MITOriginal work; permissive for safety tooling reuseStable
wwv-rs0.3.18,642194GPL-3.0+Derived from nrsc5 C time signal codeStable
rtl-sdr-rs0.3.15,15615MPL-2.0File-level copyleft; allows linking from any licenseStable

QUIKTOOL TUI

The temporary flagship - ties all the radio libraries into one keyboard-driven terminal dashboard. Built with ratatui + crossterm. Currently untested outside of Windows, but is 95% cross-compatible code. Linux/macOS should be workable with minimal effort. See project card above for version info and GitLab link.

quiktool help screen showing keyboard shortcuts and feature overview

Menu:

0:Helpkeyboard shortcuts and feature overview
1:Time Sync / WWVNTP clock comparison + WWV/WWVB/JJY/DCF77/MSF/BPC/RBU decode
2:RadioFM/HD + AM/AM-HD combined, RDS, seek, presets, band scan
3:ADS-B / AIS / ACARSaircraft tracking, marine vessels, aviation messaging
4:Satellite OrbitsTLE orbital prediction, NOAA APT weather satellite imagery
5:Earth WeatherWeather Underground PWS + NWR + USGS earthquake alerts
6:Sun WeatherNOAA SWPC: X-ray flux, Kp index, solar storms, GOES chart
7:Moon & Planetsphase, illumination, zodiac, planet positions, ASCII orrery
8:Cycle Convergencecosmic cycle overlay + radio propagation forecast
9:Deadbandpersistent-universe space strategy game (proof-of-concept)

Sidebar (always visible):

Local time (PST/PDT) + UTC, DST countdown, moon phase + illumination, planets above/below horizon, zodiac transitions, upcoming holidays (US, CA, AU, GB), radio station / signal / now playing, weather stats (imperial + metric)

Hardware:

- Radio features require an RTL-SDR USB dongle (RTL2832U + R820T/R820T2). ~$30.
- Weather, earthquake, moon/solar, and time sync work without hardware.
Dependency diagram for the 6 DH81 SDR projects (7 workspace crates). quiktool depends on dh81-sdr-rs, nrsc5-rs, wwv-rs, and optionally deadband-world. dh81-sdr-rs depends on nrsc5-rs, noaa-wx-rs, and rtl-sdr-rs. wwv-rs and noaa-wx-rs depend on rtl-sdr-rs. nrsc5-rs depends on rtl-sdr-rs (optional git). dh81-sdr-rs, noaa-wx-rs, and wwv-rs all use shared DSP primitives from dh81-sdr-common, a workspace sub-crate of dh81-sdr-rs. rtl-sdr-rs interfaces with an RTL-SDR USB dongle.

ECOSYSTEM

DH81 projects are part of a broader ecosystem spanning three GitLab organizations. QX9 builds decentralized infrastructure on the Veilid application framework - encrypted storage, PBX, media transport, and HIPAA compliance tooling. Deadband is a persistent-universe space strategy game engine designed for decentralized infrastructure.

DH8116 product repos - SDR, TTS, music, astronomy, space weather, device backup (this page)
QX911 product repos - VNS, PBX/NG911, transport, media, compliance, benchmarks
Deadband2 product repos - world engine + Godot 4.6 3D client

See the full ecosystem page for details on all QX9 and Deadband projects.