RSSAmplifier

Blog

Dhiru's Notebook

Recent content on Dhiru's Notebook

rfcorner.inRSS feed ↗91 posts

Latest posts

Porting PVM to Linux 7.2

The original PVM kernel tree was based on Linux 6.12.x, while current Linux master had reached 7.2-rc7. This note records the commands I used to build, package, and boot the forward port. The resulting tree is available in the pvm-720 branch . PVM in four lines PVM (Pagetable-based Virtual Machine) is a KVM guest hypervisor designed for running nested workloads without requiring VMX or SVM.…

HF Propagation

Live HF band conditions and regional WSPR propagation paths.

A Better HF SDR Than RTL-SDR?

The idea is simple: build a low-cost, purpose-built HF receiver around a cheap high-speed ADC instead of repurposing an RTL-SDR. An RTL-SDR is an excellent general-purpose radio tool, but it was not designed as a high-dynamic-range HF receiver. A direct-sampling design with proper HF preselection, controlled gain, a stable sampling clock and FPGA-based digital down-conversion should make a more…

1/4 Wave HF Vertical DX Antenna

My new favorite HF antenna is the 1/4 Wave HF Vertical DX Antenna with 2 Elevated Radials . It is NOT the most portable antenna (an EFHW wins there) but it is the easiest HF antenna to construct! It is easier to construct, install, and tune than even the basic dipole antenna! It takes less than 15 minutes to build and get on the air with this HF DX antenna! No impedance transformer is required.…

VHF APRS Beacon Ideas

This is an early design sketch of VHF (2m - 145 MHz) APRS beacons that are small and can be placed in vehicles like ambulances or fire trucks. Key Points Si5351 module powered by the usual 25 or 26 MHz 0.5 ppm TCXO. Si5351 generates 145 MHz Two-Tone APRS RF output directly! Using an Si5351 for APRS (Automatic Packet Reporting System) transmission via FSK (Frequency Shift Keying) allows us to…

WSPR Beacon Ideas for UHF

This is an early design sketch of a UHF (70cm - 440 MHz) WSPR beacon. This design comes from Ismo (OH2FTG). Key Points 10 MHz OCXO TCXO powering the Si5351 module instead of the usual 25 or 26 MHz 0.5 ppm TCXO. Si5351 generates 217 MHz output, which we double to ~434Mhz using the https://techlib.com/files/diodedbl.pdf technique. Use 440 MHz SAW filter at the output (from LCSC) ONSEMI MMBD701LT1G…

RF Power Converter

Convert between watts, dBm, dBW, voltage, and dBmV for common RF impedances.

1€ TRX - One Euro TRX

I learned about the Sub-1€ TRX challenge from Ismo (OH2FTG) - thank you (maybe for getting me addicted?). The constraints Sub-1€ TRX, with LCSC parts. This excludes the PCB, so it can be 10x10 2-layer or 5x5 4-layer. My Design WIRELESS WL4456 (TX) and WIRELESS WL550 (RX) pair - 17 cents T/R switch: TECH PUBLIC TPAS169-73LF - 16 cents 13.56 MHz crystals (HY13560M49SBSMDOB1R30 / 8DSC135G0012L) - 5…

Generating 1W RF from 5V - Redux

The constraints 5V (~500mA) power from mobile phone 1W RF output required Very compact with less "moving" parts 14 MHz capable The design We use INNOTION YG401530VB MMIC in this design. 100 n Si5351 CLK 0 --||----+---------+ | MMIC | | IN | | | | OUT +----||---- RF OUT ---- LPF ---- 50 R dummy load +----+----+ 100 nF | 10 uH RFC | |--- 100 n --- GND | + 5 V Note: No explicit 'special' matching…

When the Platform Walks Away: Shopify enables easy scams!

A firsthand account of being scammed by a Shopify merchant, why platform trust matters, and how to protect yourself.

Generating 1W RF from 5V

The constraints 5V (~500mA) power from phone 1W RF output required Very compact with less "moving" parts 14 MHz capable The design We purposefully utilize "high Rds" EPC GaN parts with very low Qgs. Simulation Results Power consumption: Around 300mA @ 5V. pout: AVG(v(out)*i(r3))=1.0606 FROM 5e-05 TO 0.0001 pin: AVG(-5*i(v3))=1.38209 FROM 5e-05 TO 0.0001 isupply: AVG(-i(v3))=0.276418 FROM 5e-05 TO…

Connecting Across Distance: From Ethernet to Fiber

The old hack Sometime around 2015-2016, I had to connect two rooms that were separated by a balcony. The simple answer was obvious: run an Ethernet cable through the balcony and plug it into the router on the other side. It worked. It was cheap, fast enough, and did not need any special equipment. For a while, it felt like the sort of practical fix that makes home networking fun.

Baby-QRO FT8 Amplifier 2026

Related work Baby QRO Switching RF amplifier for HF Digitally Adjustable RF PA Supply A new generation of the Baby-QRO switching amplifier targets 25W to 50W of RF output for FT8 and other FSK modes. While it can do 100W, it becomes more of a thermal engineering project then ;) It is designed to operate with a Bare DDX-Commercial transceiver board and has an inbuilt T/R switch. Design 3D render:

Digitally Adjustable RF PA Supply

Related work Baby QRO Switching RF amplifier for HF A new generation of the Baby-QRO switching amplifier targets 25W to 50W of RF output for FT8 and other FSK modes. Goal The Baby-QRO amplifier already has a very useful RF power control knob: the PA drain voltage. A bench supply works for experiments, but it is not the right answer for a digital beacon or transmitter stack. We want the MCU…

DDX-UNO: The HF Radio You Actually Carry

Photographers often say: The best camera is the one you have with you. DDX-UNO ("Digital Pixie") applies the same philosophy to amateur radio. The best HF transceiver isn't necessarily the most powerful one. It's the one you remembered to bring. Most HF stations remain at home. Portable radios often require batteries, coax cables, antenna tuners, protective cases, and a backpack full of…

Local AI Coding on Ubuntu 26.04

Running your own AI coding assistant locally using ROCm, LLaMA C++, and Nanocoder. Why Local AI Coding? Cloud AI coding assistants are convenient, but local models offer: Better privacy Lower long-term cost Offline development Faster iteration for small/medium models Full control over models and tooling With modern AMD GPUs and ROCm support improving rapidly, Ubuntu 26.04 makes it surprisingly…

After-Sales Support Is the Real Product

I recently bought a ceiling fan from Kuhl which came with "free installation". The experience was simple: Wait 4 days Nobody comes No installation No accountability Ultimately I returned the fan - it took around 15 minutes over a phone call with Amazon's customer care to initiate the return process. This time could have been better spent on something else… Now yes - I can install a ceiling…

Minimal Kernels, Reduced Attack Surface, and Why Linux Optimization Still Matters

"While minimal kernels cannot prevent every vulnerability, reducing attack surface by removing unnecessary kernel features, drivers, and services can proactively mitigate many classes of security issues and reduce exploitability." For a long time, Linux optimization work was seen mostly as a performance exercise. Faster boot times. Smaller images. Lower RAM usage. Better cache behavior. But over…

Pocket Chaos: Coding (and Decoding) on the R36S

Intro There's something slightly absurd about turning a tiny retro handheld into both an app development platform and a weak-signal radio decoder. The R36S - cheap, hackable, and rough around the edges - wasn't built for any of this. That's exactly why it works. The Constraint Advantage Modern development hides inefficiency. The R36S exposes it. With limited CPU, RAM, and screen space, you're…

HAM Radio Is NOT Just for Talking

It's a Training Ground for Engineers (And We've Been Ignoring It) Let's drop the nostalgia and say something uncomfortable: If you think ham radio is just people talking into microphones, you're not just wrong - you're overlooking one of the most hands-on, intellectually rigorous engineering playgrounds still accessible to individuals. Because amateur radio isn't about conversation. It's about…

Easy Dual WAN Failover using hEX S (2025) router

Initial setup Initially, I had set up a TP-Link ER605 (TL-R605) V2 router to handle the dual WANs - on paper, it checked all the boxes: load balancing, failover, and a relatively affordable price point. But in practice, it turned out to be a frustrating experience. The biggest issue was how excruciatingly slow the device was to boot and handle failover. In a setup where uptime actually matters,…

Urban EDC Is Just Consumerism in Your Pocket

'Rant' Urban EDC used to be about utility; now it's often curated consumption dressed up as identity. What started as practicality has turned into a cycle of buying and upgrading - less about need, more about filling a vague psychological gap. At some point, this stops being a hobby and starts looking like a loop that's hard to justify. I am sure that most of us DO NOT NEED that ~1L INR Koenig…

Modding Debian binary packages

The problem Debian binary packages often require dependency patching, especially when installing on different Linux distributions. The script #!/bin/bash if [ " $# " -ne 1 ] ; then echo "Usage: $0 <package.deb>" exit 1 fi INPUT_DEB = " $1 " if [ ! -f " $INPUT_DEB " ] ; then echo "Error: File $INPUT_DEB not found." exit 1 fi PACKAGE_NAME = $( basename " $INPUT_DEB " .deb ) TMP_DIR = $( mktemp -d )…

Easy and Quick Thermal Simulation of PCBs

I could NOT get the Open-Source Thermal Simulation of PCBs technique to work with my 4-layer PCB board at all, even after spending some days on it. To make things worse, I was NOT able to get useful debugging feedback from the involved patchy toolchain. Getting access to the TRM software by ADAM Research turned out to be a sort of very bureaucratic and slow process - I never ended up using it.

Avoid Gazon ISP: A Frustrating Experience for Developers

Avoid Gazon ISP: A Frustrating Experience for Developers If you're a developer, engineer, or even a moderately technical user, internet reliability is not optional - it's foundational. Unfortunately, my experience with Gazon ISP has been consistently frustrating, to the point where I would strongly advise others to avoid it. Critical Sites Simply Don't Work One of the most alarming issues is that…

Voltage Glitching for Fun and Profit (MCU Fault Injection)

Why This Post Exists I wanted to learn practical voltage fault injection on low-cost MCUs like WCH CH32V003 and Puya PY32F003 . What is Voltage Glitching? Voltage glitching is a form of hardware fault injection where very short disturbances are introduced into a device's power supply. These disturbances can cause the CPU to skip instructions, misread memory, or bypass security checks. Researchers…

Reversing the Huidu HD-R712 FPGA board

We are working on reversing the Huidu HD-R712 LED Display Full Color Receiving Card - a very cost-effective (~1000 INR) and widely available FPGA board. We draw inspiration from the https://github.com/q3k/chubby75 work. FPGA Blink Project Files 1 Random brain dump $ sudo openFPGALoader --cable dirtyJtag --freq 10000 --detect Jtag frequency : requested 10000Hz -> real 10000Hz index 0: idcode…

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.…

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

Simplest APRS Digipeater and iGate on MCU!

Description We have built the simplest, power-efficient and 'ready-for-solar' APRS Digipeater and iGate on an MCU (RPi Pico 2 W)! Our existing KISSLink v1 BLE KISS TNC device is capable of running in standalone mode with an alternate firmware! Goal(s): Our design prioritizes low power, reliability, and unattended deployment over flexibility. And yes, we want to do this with cheap, widely available…

Wireless APRS interface for BaoFeng and other radios!

Description We have built a Bluetooth-enabled and APRSdroid-compatible digital interface (KISS TNC) for less than 15 USD (for the fully-loaded make including cables). We call it the KISSLink v1. This digital interface can be powered from the USB 5V or the inbuilt battery. Schematic Previous Next / [pdf] View the PDF file here . RX path simulation (AF front-end)

APRS Interface for BaoFeng and Other Radios

Design Here is a "safe" APRS interface for BaoFeng and other radios. Sample schematic: Previous Next / [pdf] View the PDF file here . Render

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…

About

I am a software security researcher and engineer with a deep interest in how real systems fail at the boundaries between software, firmware, hardware, and RF. My primary background is in software and platform security, with hands-on exploration of embedded systems, wireless protocols, RF hardware, and FPGAs driven by professional curiosity. This site documents practical experiments, research…

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…

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

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

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…

HFDY Active Loop - LZ1AQ loop clone

The HFDY Active Loop is working extremely well, even from an indoor location in MK68 . Design I am currently running the loop at 5V (via a regulated linear power supply), where it consumes slightly less than 65mA. The recommended voltage is 10V, which I plan to switch to soon. Results I am using Airspy HF+ Discovery SDR for this experiment. Future work It would be very interesting to compare this…

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)

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…

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…

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…

A Proper Single-Transistor LNA for HF

Note: This HF LNA design is inspired by PY2OHH designs and mcHF work. Previous article: Single Transistor LNA for HF - it cut a corner when it came to output impedance matching ;) Design The idea that a single-transistor preamp with 10 dB gain is more than enough for HF comes from Gajendra Kumar (VU2BGS). As a new "designer," I am often overwhelmed by the available design paths, so guidance from…

My solar powered WSPR beacon

My solar powered WSPR beacon is now active on the 12m band! Tech Stack Tech stack: Navitas 100W Solar Panel, Exide Solar Blitz 40AH battery, Skypearll Solar Charge Controller 30A, 200W 20A DC-DC CC CV Buck module (Robu) - set to output 7.5V, Waveshare ESP32-S3 Zero board, Si5351 with 0.5ppm TCXO, GSD-Hacks-v5 amplifier, DFRobot Gravity Digital 5A Relay Module Photos of components involved (for…

Headless WSPR Monitoring System (2026)

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. user@rpi:/etc$ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 13 (trixie)" NAME="Debian GNU/Linux" VERSION_ID="13" ... Install dependencies: sudo apt-get…

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

The (now) poor quality, reliability and longevity of Luminous products

My old Luminous Zelio inverter (bought in ~2013) lasted for close to 8 years. Trusting the Luminous brand, I installed two more Luminous Zelio inverters in year 2024 in two different homes. Come year 2025 and both these Zelio inverters have conked off and that too in less than a year! I guess they don't make the Zelio inverters the way they used to :-( For now, I have shifted to Microtek Heavy…

A Sustainable Radio Design?

Future radio receiver design ideas (from Ismo, Pete and other folks): Antenna ➔ (BPF) ➔ BFR93A based pre-amp from mcHF project ➔ MC1496 (Mixer) ➔ 455 kHz IF ➔ Ceramic filter SMD (HCI) ➔ 'IF amplifier' (20-40 dB gain?) ➔ Overclocked Pico 2's ADC (3+ MSPS) ➔ Digital down-conversion and processing in digital domain ➔ Expose the processed audio samples over USB (Pico 2 acts as a sound card). Benefits:…

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.