Hello! 👋

A VFM ADS-B receiver

Idea Ismo recently shared the https://github.com/CoolNamesAllTaken/adsbee project which is pretty cool. Challenges The ADS-B (Automatic Dependent Surveillance-Broadcast) system uses a data rate of 1 Mbit/s (1 megabit per second) for its aircraft position and identification transmissions on the 1090 MHz frequency. This is too much for HOPERF CMT2300A and related transceiver chips unfortunately! This got us thinking about the following VFM ADS-B RX chain. Architecture Here is a simple ADS-B RX circuit description. ...

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

Reasonable MCU ADC performance - STM32H562

Ismo (OH2FTG) has praised the STM32's ADC quality multiple times, and I finally decided to give it a go. I usually stick with Waveshare RP2350-Zero boards, but the RP2350 ADC performance is limited to under 10 ENOB. With the STM32H562RGT6, we're able to achieve ~13 ENOB using 16× hardware ADC oversampling, with potential headroom to push this even further. By sampling the Si4732's SSB output using the STM32H562RGT6 ADC and exposing the samples to the host via a "virtual" USB UAC-2 device, we get the following RX results: ...

January 10, 2026 · 1 min · 130 words · Dhiru Kholia

Alternate 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 OR A 65W USB PD power bank - not needed for 5 to 10W QRP FieldOps DC Plug 5.5x2.1mm Male to Male Cable (1m) DC 5.5mm Male to Female Extension with Switch ...

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

Supporting HOPERF CMT2300A on Linux

What This Article Covers This article presents a practical journey to add Linux support for the HOPERF CMT2300A Sub-GHz RF transceiver - starting from extracting register configuration tables out of vendor firmware, to building and testing a Linux driver on real hardware. You'll learn: How TP-Link's driver situation motivated this effort How firmware was extracted and analyzed How to build and load the custom driver on Raspberry Pi How to verify real on-air packet RX This is aimed at embedded Linux developers, reverse engineers, and RF hackers. It is not a beginner Linux kernel tutorial nor a full CMT2300A datasheet walkthrough - focus is on practical bring-up and reproducibility. ...

December 23, 2025 · 7 min · 1476 words · Dhiru Kholia

HFDY Active Loop - LZ1AQ loop clone

The HFDY Active Loop is working extremely well and that too from an indoor location in MK68! Pretty awesome ;) Design I am running the loop at 5V (via a regulated linear power supply) currently where it consumes slightly less than 65mA of current. The recommended voltage is 10V, which I will shift to soon. Results I am using Airspy HF+ Discovery SDR for this experiment. ...

November 9, 2025 · 1 min · 94 words · Dhiru Kholia

Sustainable Radio Design V2

Related articles: Proper Single Transistor LNA for HF A Sustainable Radio Design? Design We are finally going to build a QSD RX! Here is the rough schematic I am thinking about: References MC1496 Information HSDAOH on RP2350 (see internal_adc section) This way we can continue using RP2350 instead of moving to something like STM32H5 immediately PicoRX Simulations (also for DSP code)

November 7, 2025 · 1 min · 61 words · Dhiru Kholia

Writing test cases for PCBs

This note demonstrates a small connectivity tester / check nets program for KiCad. This program allows doing checks like: Is the U1:8 pin connected to GND? Motivation Sometimes visual errors can creep in the schematic (and the PCB subsequently). This connectivity tester allows expressing the same connections in a non-visual way (with a different probability of making errors). The ERC and DRC checks in KiCad work great but this non-visual test assertions provide another level of sanity checking. ...

November 7, 2025 · 11 min · 2161 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 measurement results seem to match the ones from Eric, WD8RIF. ...

November 5, 2025 · 1 min · 154 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