Open-source HF digital communications tools for Military Auxiliary Radio System (MARS) operations.
Developer: Alex Pennington (KY4OLB, formerly AAR4TE / NNN0VO)
Project Site: www.organicengineer.com/projects
Contact: [email protected]
| Component | Status | Notes |
|---|---|---|
| MIL-STD-188-110A Modem | β v1.6.1 | Build 325, cross-modem interop validated |
| Phoenix SDR Suite | β v0.3.0 | 7-repo modular architecture |
| WWV Time Detection | β Working | Tick/marker/BCD decoding operational |
| Beta Testing | π‘ Open | Looking for testers with SDRplay hardware |
Next Milestone: Real-world OTA signal capture and decode validation
The Phoenix Nest MARS Suite is an open-source implementation of MIL-STD-188-110A HF modem with MELP-e voice codec support. This project provides amateur radio operators and MARS members with professional-grade digital communications tools without licensing costs.
The Phoenix SDR system has been split into focused, modular repositories:
| Repository | Description | Status |
|---|---|---|
| phoenix-kiss-fft | FFT library for signal processing | β v0.1.0 |
| phoenix-reference-library | Technical documentation (WWV specs, NTP driver36) | β v0.1.0 |
| phoenix-sdr-core | SDRplay RSP2 Pro hardware interface, decimation, TCP control | β v0.1.0 |
| phoenix-waterfall | SDL2 waterfall display with WWV detection | β v0.1.0 |
| phoenix-wwv | WWV detection library (tick, marker, BCD decoding) | β v0.1.0 |
| phoenix-sdr-net | Network streaming (sdr_server, signal_relay, splitter) | β v0.1.0 |
| phoenix-sdr-utils | Utilities (iqr_play, wwv_analyze, telem_logger) | β v0.1.0 |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Phoenix Nest MARS Suite β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββ β
β β phoenix-kiss- β FFT library (dependency for all signal processing) β
β β fft β β
β ββββββββββ¬βββββββββ β
β β β
β ββββββββββ΄βββββββββ β
β β phoenix-sdr- β SDRplay hardware interface β
β β core β ββ Decimation, TCP control, I/Q streaming β
β ββββββββββ¬βββββββββ β
β β β
β ββββββββββΌβββββββββββββββββββββββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β phoenix- β β phoenix- β β phoenix- β β
β β waterfall β β wwv β β sdr-net β β
β β β β β β β β
β β SDL2 display β β Detection β β TCP/UDP β β
β β + WWV detect β β library β β streaming β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β phoenix-sdr-utils β β
β β iqr_play, wwv_analyze, telem_logger, gps_time β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β phoenix-reference-library β β
β β Technical documentation, WWV specs, references β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Repository | Description | Status |
|---|---|---|
| pennington_m110a_demod | MIL-STD-188-110A HF modem - all 12 modes (75-4800 bps), turbo EQ, SDR I/Q input, cross-modem validated | β v1.6.1 b325 |
| phoenix_sdr | ποΈ ARCHIVED - Monolith split into 7 modular repos (see phoenix-* above) | π¦ v0.3.0 |
| hf-modem-rpi4 | Raspberry Pi 4 HF modem implementation | π¨ In Progress |
| brain_core | Charles Brain (G4GUO) modem TCP server (ports 3998/3999) - headless wrapper for cross-modem testing | β v1.0.5 |
| phoenix_nest_mars | MARS ops suite: CP, Station Mapper Linux, Crypto (KIK/TEK), VOACAP propagation | π¨ Building |
| MARS_GIS | QGIS project + Python scripts for FEMA region map generation | β Active |
| MARS-History-Project | SME Interview System - AI-powered knowledge capture (Flask/Claude/Google TTS) | β v1.0.0 |
- Full MIL-STD-188-110A implementation β All 12 waveform modes (75-4800 bps) with turbo equalization
- Direct SDR receive β SDRplay RSP2 Pro I/Q input at 2 MSPS with multi-stage decimation
- WWV time signal detection β Tick, marker, and BCD time code decoding validates SDR chain
- Cross-modem interoperability β 9/12 modes validated with brain_core (G4GUO) reference
- MELP-e voice codec support β Codec2 open-source alternative included
- MARS operations tools β CP (Communications Processor), Station Mapper, VOACAP propagation
- Advanced equalization β 7 equalizers (DFE, MLSE, RLS, Turbo) for varying channel conditions
- Modular architecture β 7 focused Phoenix SDR repos for reusability
- Knowledge capture β AI-powered SME interview system for institutional history
- GIS mapping β QGIS integration for FEMA region visualization
The SDR receive chain is validated and ready:
SDRplay RSP2 Pro β phoenix-sdr-core β phoenix-waterfall β WWV Detection
(2 MSPS) (decimation) (display) (phoenix-wwv)
β
ββββ phoenix-sdr-net β Remote clients
Test Results:
| Test Suite | Pass | Total |
|---|---|---|
| IQSource format conversion | 10 | 10 |
| IQFileSource .iqr loading | 11 | 11 |
| I/Q pipeline loopback | 10 | 10 |
| Total | 31 | 31 |
Want to help test? See the Beta Testing Guide for instructions.
Current Focus: WWV tick detection β validates SDR capture chain before modem integration.
What you need:
- SDRplay RSP2 Pro (or compatible)
- Windows 10/11 PC
- SDRplay API v3.x installed
- HF antenna (any antenna that can receive 5-15 MHz)
What validates success:
- Ticks detected every ~1000ms (950-1050ms acceptable)
- Purple flash on bar 5 (1000 Hz) with each tick
- Average interval converging to 1000ms
- Note: Seconds 29 and 59 have NO tick (intentional WWV gap)
| Document | Description |
|---|---|
| Modem README | Main modem documentation |
| SDR Core README | SDRplay integration docs |
| WWV Detection | WWV detection library |
| Reference Library | Technical documentation |
This project was developed using AI-assisted coding tools. In the interest of transparency, here's the running cost breakdown:
| Subscription | Monthly | 3 Months |
|---|---|---|
| Claude Max | $100 | $300 |
| GitHub Copilot | $50 | $150 |
| Subtotal | $450 |
| Component | Repository | Cost | Notes |
|---|---|---|---|
| Pennington Modem Core | pennington_m110a_demod | $150 | Full 110A implementation, 12 modes |
| Phoenix SDR Suite | phoenix-* repos | $75 | SDR interface, WWV detection, waterfall |
| Brain Core Wrapper | brain_core | $20 | TCP/IP wrapper for reference modem |
| HF Channel Simulator | (in modem repo) | $5 | Watterson model, CCIR presets |
| Subtotal | $250 |
| Category | Amount |
|---|---|
| Subscriptions (3 months) | $450 |
| API/Usage Costs | $250 |
| Grand Total | $700+ |
AI accelerates:
- Boilerplate code generation
- Documentation drafting
- Algorithm implementation from specifications
- Code refactoring and test generation
Human expertise required:
- MIL-STD-188-110A domain knowledge (AI doesn't know this standard)
- Architecture decisions and design choices
- Validation against real RF signals
- Integration with existing MARS infrastructure
- 35 years of programming experience directing the work
- Clone the repositories you need
- Install SDRplay API v3.x (for hardware support)
- Build using the provided build scripts
- See individual repository READMEs for detailed instructions
AGPL-3.0 for Phoenix SDR components. See LICENSE file in each repository for specific terms.
- Steve Hajducek (N2CKH) β MS-DMT, MARS-ALE, Chief Navy MARS staff for ALE/MIL-STD development, introduction to this project space
- Charles Brain (G4GUO) β brain_core reference implementation, PC-ALE, cross-modem interoperability validation
- David Mills β NTP driver36 architecture that inspired WWV detection design
- The MARS community
Last updated: December 21, 2025