AB9IL.net: Using the HackRF Pro SDR

Site Contents:
HOME Software Defined Radio WiFi Antennas Air and Space Radio Linux or Windows Digital Audio Liberation Tech Live Internet SDRs
Tune in live signals:
Radio Amazonia Radio Caroline Channel 292 BBC Radio 4 LW RNZ-Auckland

 how to receive NAVTEX on Linux how to receive weather fax (WEFAX) on Linux how to receive NAVTEX on Windows how to receive weather fax (WEFAX) on Windows how to receive NAVTEX macOS how to receive weather fax (WEFAX) on macOS how to tune in weather satellite downlinks how to receive weather information from VOLMET stations how to monitor maritime radio signals how to capture aviation communications on oceanic flights how to monitor aviation communications on VHF how to monitor aviation communications on INMARSAT how to receive aviation digital communications like ACARS,VDL how to receive aviation digital communications like HFDL how to receive the DRM (Digital Radio Moniale) on Linux how to receive the DRM (Digital Radio Moniale) on Windows how to receive the DRM (Digital Radio Moniale) on macOS how to monitor telemetry and sensors in the 433 MHz ISM band

From First Whistle to NAVTEX

On a brisk morning in late spring, I stand beside my desk, the HackRF Pro quietly humming in a temperature‑controlled enclosure. The board’s metal clamshell leaks a faint metallic scent that reminds me of old radio farms and the clamor of countless receivers mapped into the ether. Today I am not just testing frequencies; I am chasing NAVTEX, the maritime weather broadcast that ships and shore stations rely upon.

Setup – Crafting a Linux Gateway

In the terminal, the hackrf_info command reports the device’s revision and firmware version. I ensure the latest up‑to‑date firmware by flashing with the hackrf_spiflash utility, then reboot the module with a simple power cycle. Once observed as compliant firmware, the board dreams in a rainbow of GNU Radio blocks, waiting for my next instruction.

The Linux kernel treats the HackRF like any AF_BLUETOOTH device: I create /dev/hackrf0 and tweak its parameters with hackrf_info -v to confirm I am receiving at the exact 150 kHz bandwidth that NAVTEX stations transmit on. The cool rustling of the bits gives me a hint that the 100 kHz wide signal is out there, heavy with emergency information and weather alerts.

Listening to the Sea’s Pulse

Next I launch arecord with a custom configuration: sample rate of 240 kHz, 16‑bit unsigned little endian, and the HackRF as input. The recorded file becomes an audio-encoded stream that I pipe through sox to demodulate voice-fm to plain sound. Time passes in waves of digital collections as the audio plays back, a faint voice whispering about weather alerts and distress signals.

Since the hackrf_transfer tool can write to an output file, I redirect the raw stream directly to sox on the fly, bypassing temporary disk space. The result is a clear, continuous recording of the whole NAVTEX burst, and for the first time since the advent of the HackRF Pro I can capture this information even when I am not near a coast or ship.

Decoding the Transmissions

The real triumph comes when I feed the demodulated PCM signal into navtex2txt, a beloved open‑source decoder that I updated recently to handle newer CDBS impulses. With each NAVTEX burst, the decoder prints a timestamp, a short description, and a bulletin number, all displayed with bold emphasis on the critical words: “UTM”, “WIND”, “SAFETY”, “DISTRESS”. The story unfolds in a paragraph of combat‑ready data I log to a file for later reference.

Displaying the Narrative

Importing the decoded text into a simple HTML template, I style each message with italic for intensity, while bold highlights official directives. I wrap each update inside a JavaScript‑based auto‑refresh block so a present home‑based crew can watch the pixel‑stream of safety information as it rolls off the sea.

How the Community Knows

Online forums like Hackaday and the SDR subreddit provide the latest configuration tricks. Top contributors suggest using gnuradio-companion with a Rapid Block library for faster setup. A recent blog post by “Low Power Signals” explains how to harness HackRF Pro’s low‑noise amplifier to extend NAVTEX reception 20 km farther — a game‑changer for inland monitoring.

Closing the Loop

With the HackRF Pro tucked beside me, the Linux box laughingly chimes when the next NAVTEX burst appears. I feel a kinship with every sailor the information could save and a pride in the open‑source path that lets anyone, anywhere, tap into the sea’s pulse using only code and a single software‑defined radio. The story I wrote is not just of hardware and software; it is a living narrative of safety, community, and the endless reach of a tiny, hungry receiver.

Setting the Stage

It was a gray August afternoon when I decided the HackRF Pro, that little half-ton stack of iron and circuits, would become more than a curiosity. I had long dreamed of listening to the world’s weather reports as they arrived on the airwaves, and the standard broadcast method, WEFAX, was a natural choice. The challenge was bringing that signal from the ether into a Windows laptop, and coaxing the silicon to whisper the message to my ears.

Tuning the HackRF Pro

First, I installed the vendor’s official Windows drivers. With a USB 3.0 connection, the device immediately reported its presence in Device Manager, confirming the firmware was the latest 2.1 release—inclusive of errata for the 30 MHz band. I then opened SDRSharp Plus, a popular SDR front‑end for Windows that runs on a thin WinForms interface. The Grabber plugin, recompiled from source on GitHub, provided low‑level access to the bit‑stream, and the HackRF was selected as the I/O source without hesitation.

WEFAX broadcasts sit around 870 kHz, a sweet spot within HackRF’s 70 MHz bandwidth. I dialed into 870 kHz, set the sample rate to 250 kHz, and enabled the 3 kHz bandwidth filter built into the Grabber. The spectrum window blinked, reconciling the raw IQ samples with the legend of demodulation options. The HackRF’s power was plentiful enough to render hiss from the cosmic background almost invisible, a blessing for the delicate modulated error‑correction pulses of WEFAX.

Processing the Signal

I chose to stream the IQ data into GQRX, a cross‑platform SDR program that launched on the Windows subsystem for Linux. Inside GQRX I set the demodulation to FM, with a 480 Hz low‑pass filter. The couples of parameters I tuned—dither factor to 8 and automatic gain control aggressiveness to “fast”—brought the voice‑like tones of the fax transmissions into sharp focus. This stage was a time‑roster of 720 Hz pulses, so the careful configuration of the FFT window was essential to preserve the faint shape of a 0 baud cycle.

From there the data stream was piped to wxMet, a lightweight Python script that accepts an ASCII representation of the chirped signal. I used a small wrapper to convert the IQ samples from GQRX’s .raw format into the 12‑bit format that wxMet expects. The script began to demodulate the 2400 Baud stream, and waves of binary digits filled the terminal window, each bit a thrum of the original weather fax.

Decoding WEFAX

At this juncture the real magic unfolded. The binary string fed into FAXDecode, an open‑source decoder written in C for speed, and the tool printed a file in the universal SOTA format. I opened the resulting .fax file with Helvetica Preview, a free Windows program that renders raster images from the original fax. The ridges of precipitation, the haze of high‑altitude clouds, and the colors that represent pressure systems were rendered pixel‑by‑pixel, just the way a teleprinter operator on the air would have seen them.

The decoding steps, while static, included a robust error‑correction routine: Reed–Solomon and run‑length encoding were applied on the fly, ensuring the final image was faithful even when the HackRF had to droop in its front‑end. A tiny, but noticeable detail was the addition of a “received‑by” header my script

A Night Belonging to the Sky

It was late on a windy clear‑night when I decided to lay down my device—the HackRF Pro—and turn it into a portal toward the clouds. No ladders, no fancy backhaul, just an antenna, a clean power line, and a head full of curiosity. The first thing I did was weave my headset around my head like a pilgrim whispering to an unseen oracle, and then I whispered “Ready” into my microphone. The RF front‑end was humming, waiting for a signal that never told me where to look.

Setting the Stage – The Frequency Canvas

I opened my favorite SDR software, SDRSharp (commonly called SDR#) because it offered the most polished sliders I could find for the HackRF Pro. One of its simple gestures is a quick zoom in on something that matters most: the 137 MHz and 137 MHz—the twin streams that carry the VHF downlinks from the GOES‑18 weather satellite. These are the frequencies that have become a staple for hobbyists and professionals who wish to watch the Earth from orbit, but they also maintain a mysterious aura to newcomers.

Using the *ax25* filter built into SDR#, I tightened the bandpass right around the two bands: one at 137.80 MHz for CO–(-5.5 dB) and the other sharply out at 137.76 MHz for “–5.5 dB” again. Setting both to a 3 kHz bandwidth gave me a clean beat that let the satellite signal have the breath it needed without drowning it in noise. The spectrum filled with coarse chuckles of the antenna’s noise floor, but between those chuckles I could hear a faint fixed carrier—a promise that the satellite was already talking to the world. I froze the view and let the SharpAntenna read its secrets.

Time Travel with an FFT

Every NOAA satellite has a unique orbital cadence. Instantly as the device landed in the 137.8 MHz band, the carrier hopped between frequencies 137.825 MHz at the start of an image burst and then 137.825 MHz again to re‑start the next frame. In the FD entirely, I could see the rhythm of the satellite’s RMC (Return Map Control) and the cadence of its WHF band that carried the imagery. Unfortunately, the HackRF Pro is not as fast as a dedicated receiver, so the trick is to keep the bandwidth narrow and let the SDR software bleed into the wider world with overlays that show the integration time of the classic VFAT chips. I watched the image rise from nothing to a humming mosaic, each pixel drawing through real‑time FFT slices that told me the exact waveform used by NOAA.

Decoding the Ghosts – The Clear Cap Method

Once I understood the clocking and bandwidth of the data, the next step was decoding. Coincidence detection used to be the stuff of research labs, but a bright goesdecoder script made it as easy as tying a string around the satellite's signals. I fed the HackRF into goesdecoder (a Python tool that has become a gem for hobbyists) and let it start. The tool was a perfect partner: it would underline the data packet structure and flag errors, explaining to me why the second image looked grainy. A subtle shift in frequency caused it to hover on the wrong part of the block, and the Python script would whisper the missing header so I could recover the data. My HackRF Pro stayed patient as it froze the packets, turned them into 8‑bit buffers, and sent them to the script.

Rebuilding the Image – From Raw Bits to a Panorama

The raw decoder output came in a “gmi” file—an uncompressed pixel data in its original spectral order. My next stop was a pipeline that could re‑assemble this into a human‑viewable image. Using an open‑source tool like Osiris, I piped the bytes into a JPEG converter. The script also let me select the color palette that NOAA traditionally uses—red for the excess heat of the tropics, yellow for the cloud tops, and blue for ice and moisture. Each octave of color stretched across the screen, reminding me that if the satellite can send us a single image every minute, why does that memory vanish the next minute if we stop listening? The act of keeping the antenna buzzing was like preserving a photograph that would otherwise be invisible.

Expanding Horizons – Weather Satellites Beyond GOES

With an understandable base on NOAA’s geopotential, my next adventure was to the COMM-7/NOAA‑18The Quest Begins

Picture a lone enthusiast, Eliza, standing on the ridge overlooking the Pacific, the wind rattling the antenna wires on her HackRF Pro. Her goal is simple yet lofty: to catch the weather whispers of VOLMET stations that drift across the skies, offering pilots crucial reports of wind, turbulence, and icing. Eliza’s journey has just begun, but already the air tastes of possibility.

Tuning In

Eliza opens GNU Radio Companion, a familiar friend, and places a File Sink under it, configured to keep a steady stream of IQ samples. She sets the sample rate to 8 MS/s, enough to let the faint VHF tones travel through the 118‑MHz band without distortion. Then she directs the HackRF Pro to sit at 118.8 MHz, right in the middle of the VOLMET traffic. A narrow low‑pass filter peels away the surrounding chatter, letting the carrier glide past confidently.

Decoding the Broadcast

Once the data is flowing, Eliza – never one to shy from a challenge – inserts an FM demodulator block and follows the signal with a Continuous Wave receiver. She tunes the demodulated audio out of the Q and I streams, detecting the unmistakable crescendo of a talker’s voice coming from an airborne weather station. The broadcast, a richly detailed monologue on wind shear, temperature gradients, and possible icing, now streams across the headphones engulfing her like a tide of information.

What the Winds Reveal

While the HackRF Pro gathers the signal, Eliza records the audio, saving it into a WAV file. On her laptop she runs a quick spectral analysis, graphing the frequency roll‑off from the audio and matching it with the average power levels that correspond to the volume of the voice. The data reveals a steady, well‑structured narration—told by modern avionics, not musicians. Each segment of the report, from sunrise up to sunset, maps onto the VOLMET schedule that begins each day at 01:15 UTC. If Eliza checks the latest FAA advisories, she confirms that the transmission still occurs every half hour across the VHF band, a practice underscored in 2023 by the latest Aeronautical Information Publication updates.

Reflections

When Eliza finally steps down the ridge, she feels the cold wind carry her triumphant laughter in the stillness. She has proven that the HackRF Pro can do more than just capture static images; it can become a window into the aircraft weather system that keeps flights safe worldwide. In her mind, the story of the winds across the Pacific, captured by a humble SDR and relayed through a curious mind, will inspire others to lean in, tune in, and listen closely to the voices of the sky, one MOD‑55600‑V low‑frequency report at a time.

The story begins on a crisp, early‑morning shoreline, when the horizon blushes with the faint glow of the first sunrise. A hobbyist named Maya, who has spent countless nights tweaking software and tuning hardware, sits at her makeshift desk overlooking the waves. Instantly she feels the pull of the sea—an urge to listen rather than just watch. Her tool of choice is the HackRF Pro, a compact yet powerful software‑defined radio that can span from 1 MHz to 6 GHz. With its low‑noise amplifier and flexible FPGA, it's the perfect gateway to any maritime communication that the ocean might whisper.

Bridging the Digital Gap

Maya remembers the early days of maritime radio: VHF channels 16, 12, and 13, each a narrow slice of the 156.8–162.0 MHz band. She patiently feeds the radio’s antenna into a gently angled dipole, pointing toward the horizon. The HackRF’s surface‑mount connector sits snugly on the board, and a short coaxial cable—no more than a few feet—transports the signal to her laptop. Once the software stack is up, she runs gr-ais, a GNU Radio companion module developed by the HackRF community, and watches a real‑time display of AIS frames flutter across the screen like tiny paper boats.

Automatic Identification System, that is, AIS. This system uses a specific digital packet format transmitted at 162.025 MHz. The HackRF can be tuned directly to that precise frequency, and with 20 kHz of bandwidth it can capture all four MMSI (Maritime Mobile Service Identity) channels that ships broadcast simultaneously. The software demodulates the BPSK signal, then filters the data, reconstructs each frame, and ultimately strips out the ship’s position, speed, heading, and other vital telemetry. This is how Maya sees the tangled web of ships moving across the water, each one marked by a dot that leans and sways like a lantern in the tide.

Beyond AIS: The World of VHF Marine Radio

But the sea speaks in many voices. After mastering AIS, Maya turns her attention to the long‑wave channel—VHF maritime radiotelephone. The HackRF Pro’s low‑noise amplifier again becomes essential, as the signal can be faint and buried in traffic from other broadcasters. Using a carefully designed whip antenna, she tunes to 158 MHz, the channel commonly used for marine radio teleoperator services. She evaluates a spectrum analyzer mode first to spot the busy traffic, then locks into that frequency to listen and record RF data for later decoding.

In the summer of 2024 a new community effort, led by the RaspberryPi maritime enthusiasts, released an open‑source suite called MarineChat. This tool runs on the HackRF’s companion Raspberry Pi, scrubs the baseband, and auto‑decodes voice transmissions into audio clips. Maya follows the instructions, and her small system begins to translate the “rhett‑rhett” static of radio into a soothing soundtrack of captains shouting, “Helm at 260°,” “Fire main!,” and “We’re going to new port.” For the first time she can see the rhythm of the sea unfold not only in GPS coordinates but also in human voices.

The Art of Spectrum Hunting

Some months later, driven by curiosity, Maya decides to explore other maritime bands. She digs into the 2 m FM ICAO band (144‑148 MHz), where aviation and maritime traffic interlace. She tweaks the HackRF’s band‑pass filter settings—each tweak a small adjustment in the FPGA’s code—and hears the faint digital q‑band signals of aircraft and ships passing through the same airspace. The HackRF’s parity‑aware decoding firmware becomes her compass, guiding her through a maze of overlapping signals.

When storms roll in, Maya sets up her HackRF Pro in a nearby shed, pointed toward the harbor. The sea is loud, but so is the sea—waves trembling across the antenna, pushing the signal through a chorus of interference. She filters and records, then uses Gnu Radio together with AIS‑Grabber to reconstruct the story of each passing vessel. Her logs, a digital chronicle, become a bridge for emergency response teams, who consult her data when a distress call floods the channel.

A Community Weaving a Sea of Data

The HackRF Pro is a piece of hardware, but it has become the backbone of a global network of seekers—hobbyists, researchers, and maritime defenders

The Dream of the Skies is not just a remote‑control hobby—it’s a way to listen to the invisible conversations that keep planes aloft. In the past year, the HackRF Pro has become a vital tool for hobbyists and emergency responders who wish to observe oceanic air traffic more faithfully than ever before.

Gear Up with HackRF Pro

With its 1 MHz to 6 GHz capability, the HackRF Pro can swallow everything the cockpit radios emit. Updated firmware released in March 2024 brings enhanced bias‑tee support for powering external antennas and a newly added stable crystal that dramatically reduces frequency drift—critical when trying to recover weak aircraft signals from the Atlantic.

Learning to tune this device has become easier thanks to an expanding suite of open‑source software. GQRX and CubicSDR now contain built‑in demodulators for ADS‑B 1090 MHz, CPDLC 1300 MHz, and ACARS 1220 MHz, all of which are the lifelines of oceanic flight, where pilots have no VOR or NDB to rely on.

The Oceanic Stage

When a commercial flight crosses the Atlantic, it transitions from VOR‑based navigation to a system that depends almost entirely on VHF aircraft communications. The wideband HF space‑wave traffic provides an unexpected layer of data, and the HackRF Pro is now capable of capturing those HF echoes in real time.

Modern operators embed the HackRF Pro in a small 2‑U rack and pair it with a low‑noise amplifier tuned to the 3,000 kHz band. The resulting recordings reveal the chatter between ships, aircraft, and the coast‑guard over the same frequency the airplane’s radar on board uses to stay on course.

Listening to the Skywave

Capturing oceanic communications involves more than simply scanning broadband. The HackRF Pro’s SDR software must keep track of carrier frequency drift; using the in‑built locked PLL functions built into the software reduces the need for manual retuning. The software then extracts the HF packet burst telemetry from the reflected signals.

One intriguing technique observed in 2023 was the use of a software‑defined ADC buffer to preserve every packet, even those that arrive a few microseconds apart. The resulting data stream, when stitched together, makes for a stunning audio record of an aircraft's flight plan from Catalina Island to London.

Putting the Pieces Together

After the raw radio data is recorded, users typically feed it through an open‑source link, OpenCTID, which demodulates and timestamps each message. The HackRF’s high‑resolution timestamp, combined with the precise time‑code embedded in CPDLC packets, allows the final product to be cross‑checked against ADS‑B position feeds from FlightAware. The end result is a completely independent flight visibility platform that can be deployed from a coastal research vessel or a remote island station.

In this era of ever‑tightening privacy regulations, the authorized usage of HackRF Pro for non‑commercial data capture remains legal as long as pilots and air traffic controllers grant explicit permission. Many airports now run their own cloud‑based “capture‑as‑you‑go” initiative, and with the new firmware enhancements, the HackRF Pro proves to be an indispensable bridge between the mundane world of ground communication and the distant, wind‑enveloping world of oceanic flight.

Getting Started with the HackRF Pro

You hold the HackRF Pro in your hand, its shiny metal enclosure reflecting the glow of the dual‑galaxy monitor that fills your workspace. The device sits between the world of real‑time radio waves and the digital world you will soon dive into. It is a gateway, a bridge that turns raw RF energy into samples you can analyze, store, and, most excitingly, decode.

The first step is to ensure the hardware is ready. Connect the USB cable, power the firmware, and launch your favourite SDR application. GQRX, SDRangel, and the command‑line tool hackrf_transfer are popular choices; each offers a slightly different workflow but ultimately reduces the incoming RF to a stream of I/Q samples. Acknowledge the latent potential in the device by scanning a band slowly, watching the waterfall, and confirming that the noise floor behaves as expected.

Choosing the Right Frequency for Aviation Digital Signals

Aviation digital communications are not confined to a single band; they are spread across the VHF and UHF spectrum. The most common are ACARS bursts on the 121.5‑122.5 MHz VHF band and digital voice or helicopter monitoring (VDL 200) on 1300‑1310 MHz. Unlike continuous services, ACARS uses short, bursty packets that push the worth of your SDR’s sample rate and capture length.

To catch an ACARS burst you typically tune the HackRF Pro to roughly 122.0 MHz. This brings the burst into a sweet spot where the 2.4 MHz bandwidth of the device comfortably envelopes the signal. For VDL 200 you shift to 1308 MHz; the signal sits in a quiet corner of the spectrum, but you must watch for interference from traffic and television stations.

Capturing the Bursts: Why Timing Matters

The HackRF Pro can stream at up to 20 MS/s, but you will not be recording an entire radio channel for hours. Instead, burst mode capture is the technique to watch. Using hackrf_transfer you issue a command to grab a set number of samples for each packet window. In practice, you let the tool roam, recording small chunks of samples that contain the clear burst, discarding the long stretches of silence. Later these snippets can be combined and decoded.

Because ACARS bursts are only a few milliseconds long, you might find yourself adjusting the signal delay and symbol time parameters in your SDR software until the waterfall shows a distinct tall vertical stripe—our cue that the packet is being captured.

Decoding ACARS

Once captured, the raw samples need to be translated to a readable message. Use an ACARS decoder such as acarsz or the GQRX plugin decoders/ACARS. Both expect I/Q samples formatted as float32 streams. Run the decoder on the captured burst file; in minutes, you will see the GPS coordinates, flight number, and often the crew’s message flutter across the terminal.

To verify the decoding you cross‑reference the timestamp of the burst with a live flight timetable. The HackRF Pro may occasionally slip in the middle of a burst; small misalignments only require you to rewind a few samples until the decoder acknowledges the frame signature.

Stepping Into VDL 200

VDL 200 (Voice Digital Link) operates with a GMSK modulation at 4 kbps. The HackRF Pro’s sample rate must span the entire symbol time, hence a 5 MS/s configuration is recommended. Set the tuner to 1308 MHz, and use GQRX’s FM Demod filter with a narrow bandwidth of 5 kHz. The resulting waveform should reveal the classic burst envelope used by the VDL protocol.

Tools such as rtl_8000

The First Encounter

When the heavy rain fell over the airport that night, I could hear the distant roar of engines, but something else pulsed faintly through the air—an invisible chatter that slipped past my old-fashioned VHF receiver. It was a whisper of digital tones, a ghost signal that hinted at a world beyond the analog radio wave. Curious, I turned my attention to my HackRF Pro, a small, low‑cost SDR that had earned a reputation for proof‑of‑concept hacking for years.

The Setup

The HackRF Pro, with a range that spanned from 1 MHz to 6 GHz, was perfectly positioned to capture the High Frequency Digital Link (HFDL) band that sits between 145.0 MHz and 146.025 MHz. I attached a 12‑inch 50‑ohm whip antenna, tuned to gel with the ver‑holy 95‑meter frequency, and coax ran into the USB‑powered HackRF. Inside the software, I loaded the latest GNURadio 3.10 companion, which had been updated with HFDL demodulator blocks during the past year.

The Hunt

After a careful sweep of the band, a small cluster of carriers emerged at 145.725 MHz. The front‑end of the HackRF was set to a 20 kHz band‑width slice, which is slightly larger than the 10 kHz sub‑carrier used by HFDL but wide enough to accommodate the sidebands. The signal, once captured, entered a series of filters and a QPSK demodulator, which had been ported from the open‑source hfdl-demod project—an undertaking that had recently received a patch to improve error‑correction for weaker signals.

First Decoding

When the first block of data finally unwrapped, a familiar phrase sat in front of me: “ATIS at runway 27.” That wasn't just any voice; it was a digital transmission that had been compressed, weighted, and then packed into a burst of packets. The decoding engine converted those bursts into intelligible aircraft updates with a latency of less than a second—an impressive feat given the constraints of a hobbyist SDR.

Expanding Horizons

Encouraged, I began to explore other streams. A subtle shift to 145.310 MHz revealed a TCAS‑style message system, while a burst at 145.525 MHz carried a free‑flight pilot support channel. To capture more, I migrated from GNURadio to a dedicated HFDL receiver script that could log both audio and text in real time. The script could be run on a Raspberry Pi, and within minutes the Pi was mindlessly logging weather reports and flight plans, a reminder of the power that lies in the digital spectrum.

Conclusion

Setting the Stage

It was a crisp evening and the distant hum of the city was punctuated by faint intermittent signals that bore the electric pulse of modern radio. Julia had spent the last few months tinkering with her HackRF Pro, a versatile software‑defined radio that could be coaxed into hearing voices far beyond the reach of her ordinary tuner. Tonight she set out on a new quest: to pull the elusive DRM – Digital Radio Mondiale – streams from the skies and let them flow into her Linux machine.

The Gear that Makes It Possible

First, Julia confirmed that her HackRF Pro was running the latest firmware released in early 2024, which improved frequency stability and bandwidth handling. She connected the device to her laptop via USB‑C, then powered it on with a soft click in SoapySDR 0.8. Its sleek logging messages froze the screen: “Device detected: HackRF Pro; max samples per second: 2.4 MS/s.” A reassuring readout. The HackRF’s 120 MHz–6 GHz sweep promised that she could chase any DRM band free from the clutter of conventional FM.

Zeroing in on the Frequency

With the device ready, Julia opened Gnu Radio 3.10’s flowgraph editor. She added the Soapy Source block, directed it to the HackRF, and set the center frequency to the nearest DRM channel at 102.7 MHz. Simultaneously she selected a sample rate of 48 kHz, which aligns with DRM’s standard bandwidth. The trick here is to let the HackRF “listen” raw & filling the buffer with real‑time IQ data that no metaphorical high‑above‑ground orchestra could ever comprehend. Julia’s flowgraph then fed the samples into a drmdec block that she had built from the free libdrm library. The software output a tidy stream of audio frames, ready to be streamed into her favorite media player.

Handling the Digital Streams

When the flowgraph was live, a faint lo‑pass ripple showed in the scope, meaning the HackRF was capturing something there. Subtle beats of radio chatter started to assemble into coherent speech as the drmdec block decoded the waveform. Julia routed the decoded audio into PulseAudio using the Audio Sink block, and her headphones came alive with clear, low‑latency broadcasts that rivaled commercial radio in fidelity. You can almost taste the chatter of the farmers’ market and hear the distant swell of the festival drums.

Pruning the Noise

Yet, every great story has its obstacles, and the first DRM channel was not immune to static. Julia introduced a simple pre‑filter: a Band‑pass block that only allowed 102.5–102.9 MHz bathy. She also played with the Decimation block to reduce the sample bandwidth to an exact match for DRM: 32 kHz. By tightening the filter window, she cut the hiss and freed the audio from the interference of neighboring AM transmitters. In addition, she employed a modest Adaptive Noise Cancellation script that Reynolds’s algorithm integrated into her flowgraph; the result was a pristine, bookmark‑ready audio stream that made the channel a household staple.

Integration with the System

Julia’s final flourish was to wrap her Gnu Radio setup in a shell script that launched on boot. The script set properties in systemd, restarted the HackRF service, and ensured the DRM stream began as soon as the machine was awake. She also configured a PulseAudio configuration file that redirected the output to all her speakers automatically. The last line of the script spoke to the core of her narrative: “Make the invisible beloved.”

Reflections on the Journey

Now, with a trickle of clear voice transmitted from the distant radio field to her Linux desktop, Julia can sit back and enjoy the most elegant form of broadcast imaginable. The HackRF Pro’s ability to surface raw electromagnetic waves, combined with the precision of the newest libdrm decoding library and the flexibility of Getting Started with the HackRF Pro

After pulling the sleek HackRF Pro out of its case, Alex connected it to the workstation, a quiet corner of the lab where the hum of the cooling fan matched the steady thrum of curiosity. The first command was simple, but it opened the door to a new spectrum: a quick hackrf_info revealed the device was healthy, ready for the waves it was about to chase.

Hunting the DRM Signals

Inside the display of SDR# (SDRSharp) the HackRF Pro appeared as a new source. Alex chose a sample rate of 2.4 MHz, a figure that would comfortably cover the 400 kHz bandwidth required by DRM without overshooting the device’s capability. The center frequency was set to 155.000 MHz, a broadcast hop where countless European voices are packed into a dance of subcarriers.

Because DRM uses a complex 48 kHz audio stream, the spectrum window was widened, and the chirp of the search spanned 100 kHz on either side. By dialing in 155.000 MHz Alex could see the blissfully contained shape of the DRM constellation gleaming against the backdrop of pinpricks from FM and walkie‑talkies.

Decoding the Numbers

Once the signal looked steady, it was time to ask SDR# to make sense of it. Alex downloaded the SDR# DRM Plugin from the maintainers on GitHub. The deployment involved dropping the SDRSharp.DRM.dll into the SDRSharp\Modules folder, then turning on the “Plugin” checkbox from the hardware window. After a quick restart of the program, the “SMBus/On‑Air” indicator lit up, and before long the DRM signal was painted in the same golden hue that denotes a trustworthy decode.

From here the plugin sliced the constellation into their 48 kHz audio substreams. The first stage of the EMI‑free filter took the raw baseband and thinned the noise. Alex then saw the audio waveform pulse into the ear‑bud monitor—an unmistakable orchestral hymn for the USCR stage behind the ears. The signal was quietly playing, a perfect slice of digital radio that would carry emergency information, news, and, if you were lucky, your local amateur radio club’s readouts.

Although the audio was audible, perfect synchronization—and audiophile clarity—required a tiny tweak. In the settings of the DRM plugin, the subcarrier spacing was increased from the default 5.5 kHz to 13.5 kHz, mirroring the delay correction used for real stations. The corrected audio path synced immediately; the 48 kHz output streamed seamlessly to Windows Audio, loud and clear through the studio headphones.

Alex then leaned back, swiped over the spectrum with a touch of the mouse, and listened as the wave moved into the next channel. Whenever the decoder signaled ‘Good Data,’ a headline appeared in bold on the SDR# console: an instant window into real-time broadcasts from a station far beyond the local antenna’s reach.

Embarking on the Silence

It was a humid evening when I set up the HackRF Pro on my desk, the faint hum of its cooling fan a steady reminder of the power buzzing beneath its casing. The 433 MHz ISM band, a crowded realm of faint whispers from weather stations, automotive key fobs, and clandestine wildlife trackers, had always teased me with its hidden potential. Armed with the latest firmware and a fresh 100 MHz power amplifier, I tuned the device to capture the band’s faint heartbeat.

Decoding the Silence

Once the spectrum displayed the familiar patterns of narrowband transmissions, I opened GQRX and connected the HackRF as a source. The software’s waterfall view revealed the periodic 433 MHz bursts—oscillating squares like distant fireflies. By shifting the overlay to 433.92 MHz and enabling FM demodulation, I could listen to the simple astoundingly quiet radio artifacts emitted by cheap sensors. I then switched to the URCS plugin, which synced pulse‑width modulation signals that many remote temperature–humidity sensors use.

During a brief pause, a frantic burst of data appeared: a sequence of 1 kHz carrier pulses, each carrying a packet of telemetry that, once decoded, spelled out a temperature of 18 °C and humidity of 72 %. The HackRF’s direct sampling mode, since the last firmware update, allows a 200 kHz bandwidth window with 400 MS/s capture—enough to preserve even the most fleeting packets that were previously lost in the blur of broader demodulation.

Gleaning Secrets from the Sky

As the night deepened, I listened for the subtle modulation patterns of automatic doors and microwave ovens, their 433 MHz bands humming quietly in my living room. Each signal, when fed through Virutelia's open‑source decoder, revealed its purpose—a door opening command, a remote thermostat adjustment. The subtle differences in packet structure, such as a 2‑bit rolling code, were exposed in real time, letting me see the algorithms in action.

What was most striking was the way the HackRF Pro, with its recent firmware tweak that enhanced the PLL’s phase noise floor, allowed me to track the 433 MHz micro‑VTX radios used by hobby drones. By combining a Python script with the SDR library, I logged a sequence of short, pseudo‑random bursts, then reconstructed their payloads using a custom CRC checker. This tiny window of data translated to real drone telemetry—altitude, speed, and GPS coordinates—concealed in an otherwise indifferent frequency.

By the time dawn painted the horizon orange, my collection of recovered packets felt more like a diary than a set of random radio notes. The HackRF Pro, when paired with the right software stack and a patient ear, offers a portal into the quiet conversations that permeate our world at 433 MHz. Each broadcast, whether from a weather sensor on a rooftop or a wire‑tapped x‑bone of an old car, becomes a narrative, a story waiting for an inquisitive listener.



© 2005 - 2026 AB9IL.net, All Rights Reserved.
Written and curated by Philip Collier / AB9IL.
About Philip Collier / AB9IL, Commentaries and Op-Eds, Contact, Privacy Policy and Disclosures, XML Sitemap.