The Polar Express - Efficient SSB Generation

Polar Modulation for Everyone We have been working on SSB generation using polar modulation. Hardware stack: RP2350-Zero MCU board + Fast Si5351 module + AP63301 buck regulator (for 5W mode). See https://github.com/kholia/PolarModulationSSB for details. Audio fidelity is acceptable at the moment and should improve further. We still need to hook up the amplitude ("envelope") restoration stage. Motivation Why should Guido, Hans, and FlexRadio folks have all the fun? ;) ...

February 16, 2026 · 2 min · 222 words · Dhiru Kholia

PA0FRI Active Antenna Redux - The final version?

I recently worked on a redesign of the PA0FRI active antenna using high-speed BFR93A, BFR106, and BFR193 transistors. As a fallback in case of issues, we planned to use NXP MMBT2222A,215 transistors. Design 3D render: Schematic: Previous Next     / [pdf] View the PDF file here. Simulation Results ...

February 12, 2026 · 2 min · 219 words · Dhiru Kholia

A VFM ADS-B Receiver

Idea Ismo recently shared the https://github.com/CoolNamesAllTaken/adsbee project, which is very interesting. Challenges The ADS-B (Automatic Dependent Surveillance-Broadcast) system uses a data rate of 1 Mbit/s (1 megabit per second) for aircraft position and identification transmissions on 1090 MHz. Unfortunately, this is too fast for HOPERF CMT2300A and related transceiver chips. This led us to consider the following VFM ADS-B RX chain. Architecture Here is a simple ADS-B receiver chain. Antenna (a simple dipole / ground-plane antenna / PCB antenna) ➔ Zeenko LNA ➔ ADS-B Bandpass SAW Filter ➔ 100 pF (DC block) ➔ (Optional digitally controlled RF attenuator for AGC loop) ➔ Fast Schottky detector diode (BAT68 SOT-23) ➔ RC filter (10 kΩ, 10-33 pF) ➔ MCP6567 SOIC-8 comparator with output pull-up ➔ MCU GPIO (RP2350 PIO controlled). ...

January 12, 2026 · 1 min · 148 words · Dhiru Kholia

Alternative to PE4312 Digital Step Attenuator

The PE4312 is a 50Ω, 6-bit RF digital step attenuator available for around 2 USD. Pretty neat for implementing real digital AGC! For half-the-price we can get the alternate Archiwave ARW637 or ARW621A ICs which work very similarly to PE4312! References: Archiwave ARW637 Archiwave ARW621A

January 8, 2026 · 1 min · 45 words · Dhiru Kholia

The best power supply for FieldOps

This short article describes a flight-safe power supply for FieldOps. Component List Simply get these: USB QC/PD AFC trigger decoy board (9V) USB QC/PD AFC trigger decoy board (12V) USB QC/PD AFC trigger decoy board (15V) Xiaomi Pocket Power Bank Pro 10000 33W This one does 9V, 12V, 15V and 20V without any problems. OR A 65W USB PD power bank - not needed for 5 to 10W QRP FieldOps ...

January 6, 2026 · 1 min · 106 words · Dhiru Kholia

Choosing a Coax for HF Field Operations

Setup: Si5351 RF generator (@ 28 MHz) ➔ GSD-Hacks-v5 digital amplifier ➔ 7th order LPF ➔ {COAX-UNDER-TEST} ➔ Digital RF power meter ➔ Dummy load Results Results at 13.8V drain: Coax Type Power Reading RG-58 (7 meters) 4.5W RG-316 (7 meters) 3.9W RG-188 (7 meters) 3.9W Results at 15V drain: Coax Type Power Reading RG-58 (7 meters) 5.4W RG-316 (7 meters) 4.7W RG-188 (7 meters) 4.7W These measurements appear to match those from Eric, WD8RIF. ...

November 5, 2025 · 1 min · 151 words · Dhiru Kholia

Easy reproducible LPF filters

Here is the schematic for a standard 50Ω LPF for the 12-11-10m bands. Designs PCB Render: Actual photo: Performance NanoVNA results of the PCB build: Build Notes These values come from RobG (https://hackaday.io/) Shunt C: 100pF Series L: 12T on T37-6 core, 11T on T50-6, making about 485nH Shunt C: 180pF Series L: 13T on T37-6 core, 12T on T50-6, making about 580nH Shunt C: 180pF Series L: 12T on T37-6 core, 11T on T50-6, making about 485nH Shunt C: 100pF Winding wire size: 27 SWG (is non-critical) Note: We needed to reduce 1T (from the values specified above) when using the T50-6 cores. As usual, use a DE-5000 LCR Meter (or better) to know the exact values. ...

November 1, 2025 · 2 min · 216 words · Dhiru Kholia

Headless WSPR Monitoring System (2025)

Setup OS and SDR Please use the latest Raspberry Pi OS 64-bit on RPi 4 or later. Using a Raspberry Pi (<=3) is NOT recommended as it has quite a bit of power supply noise on the USB ports, which reduces the performance of the connected SDR. Install dependencies: sudo apt-get update sudo apt-get install airspyhf \ soapysdr-tools sox libsox-fmt-all wsjtx \ pulseaudio-utils git vim fluxbox xterm tightvncserver sudo apt-get install cmake pkg-config \ libusb-1.0-0-dev \ libasound2-dev \ libairspy-dev \ libairspyhf-dev \ librtlsdr-dev \ libsndfile1-dev \ portaudio19-dev \ libvolk-dev Build airspyhf-fmradion SDR software: ...

October 22, 2025 · 3 min · 454 words · Dhiru Kholia

Inbuilt band-hopping in WSJT-X 3.x

WSJT-X 3.x has inbuilt support for band hopping! Results RX results from an experimental version of DDX: This is super useful for monitoring FT8 traffic on multiple bands. References libmirisdr-5 WSJT-X Improved

October 18, 2025 · 1 min · 32 words · Dhiru Kholia

Emulating a full FT8 band for 'real'

This code generates a .wav file which emulates a fully-populated FT8 band! Usage This .wav file can then be played with rpitx on actual air (well on a dummy load) for receiver testing purposes. rm mixed.wav; sox -m *.wav mixed.wav sox mixed.wav -r 48000 sampleaudio.wav Now play sampleaudio.wav using rpitx. Testing I have tested rpitx on Raspberry Pi Zero 2W TX'ing @ 14.074 MHz. ...

October 17, 2025 · 1 min · 72 words · Dhiru Kholia