AB9IL.net: Using the Airspy Mini 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 monitor the 915 MHz ISM band and receive tire pressure monitors how to monitor the 915 MHz ISM band and receive weather sensors how to monitor the 915 MHz ISM band and receive electrical power meters how to monitor the 915 MHz ISM band and receive control commands for various devices how to monitor the 915 MHz ISM band and receive status messages from security devices how to monitor the 915 MHz ISM band and receive asset tracking messages how to monitor the 915 MHz ISM band and receive industrial data messages

The Discovery

When Elena moved to the countryside, she found herself surrounded by quiet nights, far away from the static noise of the city. She loved tinkering with electronics and had been building a small radio astronomy kit in her spare time. One rainy evening, she turned on her Airspy Mini and scanned through 900 MHz‑to‑1.2 GHz, curious to see what lay hidden in those quiet licenses. The first heartbeat she heard—a weak burst of chirps—made her heart race.

Setting Up the Airspy Mini

Elena began by connecting the Airspy Mini to her laptop with the USB cable she had used for other projects. She quickly installed the latest airspyfirmware package, as a recent release added the ability to cut off DC offsets that were especially troublesome around the 915 MHz ISM band. With the software open, she grep‑ed the log for “915” and found the band marked as the frequent target of toll‑free scanner enthusiasts. The SDR’s 8‑Mbit/s streaming rate provided precise time stamps, which Elena knew would help later when she tried to decode data.

Placing the Antenna

Next, she found a 5‑meter stretch of highway outside town where the 915 MHz transmitters were most active. She set up a ½‑wavelength log-periodic antenna on a mast and plugged it into the Airspy Mini’s external RF input. The antenna’s front‑to‐back pattern gave Elena a panoramic view of the traffic, and even faint signals from remote devices began to rise above the noise floor. She took a few screenshots showing the waterfall view—now, bright spikes appeared on the spectrum, and the ISAAM organizers’ X‑Kite test signal flickered once every minute, a reminder that the band was still free for experimentation.

Listening to the 915 MHz Band

For the next two weeks, Elena recorded the band, focusing on the ORION-D and KNX‑Cs that shared the same licensing space. She discovered that the majority of transmissions were short bursts, between 50 µs and 150 µs long—exactly the footprint of many toy RFID tags and remote doorbells. The Airspy Mini’s low latency, coupled with the sdr_trunk software’s packetization, meant she could capture complete packets for later analysis. Every time a burst appeared, she logged the timestamp and the centre frequency; the data, when plotted, revealed clusters that corresponded to markets and coastal radio stations operating near 915 MHz.

Decoding Tire‑Pressure Monitor Signals

With that knowledge, Elena scanned for the tire‑pressure monitor standards that claim to operate in the 915 MHz band. She found that many TPMS units use a master‑slave architecture: the master coil emits a pseudo‑random code, and each pressure sensor replies with its unique ID and pressure count. The Airspy Mini’s 3‑Second capture windows were exactly what she needed. She captured a signal from a set of one‑two‑teen sensors, and with the help of an open‑source demodulator, she decoded the Reed–Solomon error‑corrected frames hidden in that chaos. The decoded pressure values matched the readings from a vehicle’s diagnostic interface, confirming the validity of the methodology.

What It Means

Elena realized that the 915 MHz ISM band is a living ecosystem. High‑frequency hobbyists, critical industrial vendors, and a growing number of automobile manufacturers are all sharing the same sky. Armed with her Airspy Mini, a well‑placed antenna, and a meticulous log of timestamps, she is now able to report potential interferences and even propose better allocation policies through asynchronous forums. Her story proves that one person with a modest SDR can explore the hidden radio universe of our front‑porch and make a tangible contribution to the field of wireless safety and communication.

Finding the Whisper of the 915 MHz World

It was a cold evening in early spring when I first set up my Airspy Mini in the quiet corner of my garage. The tiny USB‑demon sat obediently on the desk, its copper fins catching the faint glow of my monitor. I’d heard whispers about the 915 MHz band from fellow hobbyists—an ISM radio playground where weather sensors, LoRa devices, and distant roll‑to‑roll were all dancing to the same frequency. My curiosity was all heightened at once.

I plugged the SDR into my laptop and launched SDR# (SDRuno). The first thing that caught my eye was the intuitive interface that let me drag the frequency bar to 915,000 kHz with a single click. The tiny antenna perched over the module seemed to ripple as the miniature radio absorbed waves I could not see. I adjusted the gain slider, a careful balance that kept the signal from going awry. Stop the gain too high and the reception becomes garbled; keep it too low and the subtle weather pulses fade away.

Bridging the Digital Divide: From Band to Band, From Bytes to Weather

After stressing the SDR’s panics and micro‑adjustments, I focused my attention on the ISM band’s forecast: weather sensors. In 2024, a wave of low‑power weather stations using LoRaWAN and ESB0 chips broadcast temperature, humidity, and barometric pressure at 915 MHz. The data arrives as packets of 8–16 bytes, encoded with a simple preamble that the SDR can pick up if tuned right.

To capture these packets, I opened the GQRX console, which offered a quick “USB” profile and a cool coeficient meter that displayed the incoming signal strength in real time. I set the sampling rate to 2 Ms/s, which was just enough to resolve the 125 kHz bandwidth of the weather packet without overshooting into the flanks of neighboring signals. The resulting waterfall display showed bright, horizontal beats that shimmered like droplets of data. I nudged the center frequency until the pulses steadied, and the readouts finally began to rise in readable numbers.

Decoding the Pulse: A Night of Practical Discovery

One night, I decided to run my own Python script that grabbed chunks of the SDR’s output via pyrtlsdr and fed them through the LoRa decoder. The flight of packets was faint, but it was there. Somewhere behind the Windows 10 eco‑phonics, the tiny radio harness transmitted a stream of temperature values that the script parsed from 0b110010 to a crisp 25.4 °C. The humidity floated similarly, from 0b101010 to 63 %. With each packet, a story unfolded: the rise of the morning dew, the drop of the night’s chill.

When I finally plotted the decoded values on a simple Matplotlib surface, the 915 MHz data points morphed into a living miniature weather board. Not only did I hear the data, but I could feel the subtle dance of the matrix of antennas around me. The Airspy Mini, though modest, had opened a portal to a realm where weather meets entertainment.

Linking Real‑World Devices to the SDR

Equipped with an active passive dipole antenna tuned to 915 MHz and a low‑noise amplifier (LNA), the SDR captured even distant stations that lay three kilometres apart. I swapped the default SDR’s small “rectenna” with a refined 4‑turn coil, and the signal‑to‑noise ratio improved by over a dozen decibels. The new reception quality made storm‑signal taps clear and reliable; a Program-specific “trim” in the Rx GAIN configuration was all that was needed for optimal clarity. It was as if a developer had written a perfect song for the SDR to play—a song of suburbs, weathered roofs, and quiet breezes captured in 32‑bit bursts.

Future Steps: Integrating with Keen Community Tools

With the Airspy Mini’s fine‑tuned beamholeing to 915 MHz, the next thought was integration with community platforms like OpenSky and Wireless Hack. These networks can now forward the raw packets to a shared database, where enthusiasts collaborate on correlating weather data across regions. The story continues, with a humble SDR showing how far a few millimeter waves can travel when a developer’s curiosity and a hobbyist’s patience collide.

Getting Started with the Airspy Mini

The Airspy Mini’s compact form factor and generous 2‑GHz sweep make it an excellent gateway for anyone interested in hobbyist radio and signal analysis. In recent updates, the board’s firmware now offers improved low‑bias reception and enhanced power‑line sweep stability, which are especially useful when you’re hunting the 915‑MHz ISM band for power‑meter telemetry.

Connecting to Your 915‑MHz Target

Once the Mini is powered through its USB‑C interface, you’ll pair it with a lightweight open‑source frontend like gr-airspy or the cross‑platform gqrx. Setting the sample rate to 2 Msps (the cartridge’s max) and tuning to 915 MHz gives you a clean view of the band’s spectral activity. A recent community script automatically zeroes the antenna offset, which removes the unnecessary carrier spike that can drown subtle meter pulses.

Why the 915 MHz ISM Band Matters

American power‑meter companies routinely embed their smart‑meter telemetry in the 915‑MHz ISM band using narrowband modulation schemes such as FSK or simple On/Off Keying. The band’s allocation allows distributed, low‑power networked devices to share spectrum without licensing, which is perfect for the millions of household meters out there. By listening with the Mini, you can capture and decode these signals, revealing real‑time current consumption patterns without the meter’s proprietary software.

Decoding the Meter Signals

After acquiring a raw capture, the next step is to demodulate the data stream. I recommend using the gnuradio‑blocks blockset that includes a Drag‑and‑Drop FSK receiver. The output is usually a bitstream that represents a modulated packet defined by the meter manufacturer. By applying the udp_payload decoding script available in the Airspy Community GitHub, the bitstream quickly turns into real‑time electrical consumption values such as voltage, current, and power usage.

Practical Tips for Reliable Monitoring

A clutch trick is to attach a low‑noise coaxial feedline to a balanced antenna tuned to the 915‑MHz band. A small collinear or dipole ensures a stable gain of about 8 dBi and keeps spurious harmonics low. When recording long‑term data, enable the Mini’s automatic gain control (AGC) in the gqrx preferences; this keeps the meter signal within the ADC’s dynamic range even as household loads fluctuate wildly.

Safety and Legal Considerations

While the ISM band is unlicensed, it’s still wise to keep your antenna near the house and avoid high‑power transmitters that might interfere. In many jurisdictions, you’re free to listen outbound telemetry, but the transmission of encoded packets back into the band without a license is prohibited. Stick to passive reception and your Airspy Mini will remain compliant.

From Capture to Insight

In a short week’s effort, I was able to capture the entire communication cycle of a 915‑MHz smart meter, decode the packet payload, and plot real‑time power usage on a simple TailoringChart. The Airspy Mini’s affordability, combined with the open‑source decoding ecosystem, makes it possible for anyone to turn a stall‑in‑draft calm and quiet into a lively stream of electrical data. The possibilities are endless—from DIY home energy dashboards to research on low‑power IoT telemetry. With the right setup, the tiny Airspy Mini can become your window into the humming heart of your house.

Arrival at the 915‑MHz Frontier

She pressed the tiny plastic button on the Airspy Mini, and the little device sprang to life. The screen on her laptop flickered, showing a clean spectrum window after a pause of static. The nestled in a quiet basement server rack, the SDR had already begun listening to the airwaves.

First Contact with the ISM Band

The 915‑MHz Industrial, Scientific, and Medical (ISM) band is a crowded plaza in the summer of a radio spectrum. To find quiet corners, she turned the Airspy Mini's local oscillator to 915.000 MHz and let the RX bandwidth settle. In the waterfall view a faint murmur drifted across the top, like distant traffic. Her software tuned to a 1‑MHz window, capturing every burst of chatter that passed through the band.

Whispering Lines of Command

A luxury of SDRs is the ability to see what humans hear. She listened for the characteristic 960‑Hz burst used by many low‑power remote controls. The software dissolved each transponder into discrete packets. In the data view, the packet with the header 0xABCD popped up, followed by a sequence of bytes that her Python script would later recognize as a "TURN ON" directive for a smart irrigation valve.

The Dance of Narrowband and Spread Spectrum

In the 915‑MHz band, devices often use FSK, GFSK, and LoRa modulation. The Airspy Mini, naturally high‑resolution, teased out the modulation format. By zooming the spectrum window and adjusting the "preambles" in her analyzer software, she could identify the telltale chirp of LoRa. Once authenticated, the gate opened: commands to a remote door lock translated into long, narrow frequency pulses at 915.002 MHz.

Melting the Limits with Software

She pulled up an open‑source spectrum viewer, gqrx, and localized the 915‑MHz band in the frequency list. The mute control mechanism of the software allowed her to isolate units that transmitted on 915.468 MHz, ensuring she could capture the 16‑bit packet that toggled the smart bulb. The SDR's impulse response was fast enough to catch bursty traffic emitted every 250 ms.

Closing the Loop: From Air to Action

Once she captured a packet, she stored it in a simple ciphered log. Using Python’s scapy library, the packet was parsed and forwarded via MQTT to a gateway. The gateway, seeing the ‘light_on’ command, sent a single pulse to the bulb's transceiver. The bulb lit up, confirming a valid link from airwaves to home.

The Final Reprise

When the hours grew long, she hovered over the 915‑MHz spectrum once more, taking in the faint glow of distant satellites and the occasional shiver of a ham radio packet. The Airspy Mini, with its low‑cost, high‑gain amplifier, had revealed an intimate narrative of the ISM band—a network of whispers, commands, and devices. All that night, the SDR sat quiet, waiting for the next burst that would make her whole world pulse once more with invisible radio chords.

The Whisper of the 915‑MHz Sky

When Alex first heard the buzz of a 915‑MHz ISM beacon, she imagined it as another invisible wave in the cityscape. But the Airspy Mini, a tiny yet powerful software‑defined radio, was ready to turn that abstract whisper into concrete data. With a quick USB plug‑in, the Mini opened a buzzing dialog with the air, promising a playground for reception and decoding.

Not All Frequencies Are Equal

Most hobbyists tune to the 433‑MHz or 2.4‑GHz ranges, but 915 MHz is the hard‑wired heart of the expanding LoRa network. The Airspy’s 33‑MHz direct‑sampling mode lifts the band right into the device’s front‑end, letting the user treat the spectrum as a canvas. Alex set the center frequency to 915.0 MHz, then routed the signal through a 10‑MHz low‑pass filter to keep the surrounding chatter at bay.

Choosing the Right Software Companion

While the Airspy operates with a firm handshake at the hardware level, the real salsa happens in software. Alex opened gqrx and pointed its “source type” to the Airspy. With a sample rate of 1 Msps, the receiver kept the SNR bright without clashing with bandwidth limits. The advanced menu was faithful: “AGC” turned on for auto‑gain, the “Filter” checked at 10 kHz, and the “IQ gain” set to 73 dB for optimal dynamic range.

Decoding the Asset Signals

In the LoRa world, asset trackers liberate their messages in a gear‑shifted, spread‑factor‑friendly protocol. Alex switched from the standard 915 MHz LoRaWAN channel to a dedicated public channel at 915.1 MHz, known to carry maintenance and logistics data. The software was upgraded to run LoRa‑Decoder, a lightweight Gnu Radio block, which demodulated the chirps into readable hex streams. By enabling the packet‑discovery feature, the stream rapidly smoothed into any “TRACK‑ID : 00A7C” frames for the first time.

Weathering the Noise

Real‑world reception is a battle of ferocity. A city square in Port‑Manteau hosts both electric scooters and amateur radio APRS, each bleeding into the 915 MHz range. Alex mitigated the interference by deploying a band‑reject quadrature hybrid filter at 902‑928 MHz, trimming the omnidirectional uplink without eliminating the asset packets. Software‑level filtering also scrubbed out the 0.25‑MHz fringe noise that would otherwise drown out the weak LoRa signals.

Building a Frequency‑Hop Counter

On a late afternoon, Alex decided to view the data live‑streamed across a Raspberry Pi. She logged the data to a file, then wrote a Python script that parsed JSON from the LoRa‑Decoder. Every time a packet arrived, it stamped the timestamp and extracted the payload of each asset. The loop spun, a silent counter that displayed “Track‑ID FTU‑211 → 34 miles since last hop”—a clear window into the logistics chain.

A New Frontier at 915 MHz

Months later, vendors praised Alex for turning the Airspy Mini into a free‑standing gateway for a fleet of cargo drones. The pivotal moment came when she unrolled a mass of packets that disclosed a previously invisible asset path, allowing a city dispatcher to reroute a convoy of refrigerated trucks in real time. It wasn’t just about sniffing any signal; it was about understanding how bright, low‑bandwidth LoRa textures interact with urban infrastructure and turning that insight into action.

Continuing the Hunt

Today, the Mini sits near Alex’s desk, awaiting the next signal mystery. Each day, she tweaks the IQ offset, experiments with alternate front‑end filters, and keeps the LoRa‑Decoder libraries fresh. The city’s 915 MHz band is a living tableau of growth, and with the Airspy Mini, Alex has learned to

From curiosity to capture

The thread that first tugged on the hobbyist’s sleeve was a lonely transmission in the 915 MHz ISM band—an imperfect chirp that sounded like a passing drone, but for a moment felt distinctly human. The Airspy Mini, a tiny USB dongle that had been buzzing in a workbench drawer for months, seemed ready to listen.

Setting up the Mini

After a quick firmware update that unlocked a higher gain range, the mini was connected to a low‑noise external antenna in the attic. A modest 70 dBi logarithmic periodic antenna was chosen to maximise signal reception from distant industrial sites. The driver “SoapySDR” was installed, and the first test signal confirmed the expected –30 dB dynamic range at the A/D interface.

Tuning the 915 MHz island

With GQRX the oscillator was tuned to 915.0 MHz, a centre point that sits comfortably amidst the three 15‑MHz sub‑bands ISM allocates to the region. A sample rate of 5 Msps was chosen, giving a 5 MHz bandwidth that covers the entire band without aliasing. Using the software’s waterfall display, the user drifted the frequency in 10 kHz steps, watching faint bursts of spectral energy appear when the first LoRa beacon kicked off.

Listening to industrial chatter

LoRaWAN packets, narrowband UART frames, and even fragments of Modbus traffic all travel at 915 MHz. The Mini’s FFT resolution (–100 dB) allowed a clean extraction of the 125 kHz LoRa spread spectrum pulses. By setting an IF filter in the RTL_Q command line, those pulses were isolated and fed into a LoRa-Scan script, which decoded the SF 7–SF 12 schemes, revealing identifiers of nearby beacons—smart meters, weather sensors, and industrial telemetry devices.

Capturing CMOS‑level industrial signals

In a separate session, a custom GNU Radio flowgraph sampled the band at 2 Msps, followed by a PFB‑decimation filter that sharpened the view down to the 6.25 kHz bandwidth required for 2.4 MHz industrial infrared modems. The decoded packets mapped to DCS‑300 sensor layouts, stretching east across the river, giving the operator a real‑time map of voltage and temperature data—a true industrial data network listening station.

Integrating with a local data sink

All captured frames were automatically stamped with UTC timestamps and fed into a lightweight SQLite database through a Python pipe. A Flask page, updated via WebSocket, drew a live graph of packet density against the time of day, highlighting periods of high traffic that corresponded with plant maintenance cycles. The database also stored signal strength indicators, allowing a future study of interference patterns caused by passing aircraft or seasonal temperature shifts.

Keeping the antenna alive

To best guard against fading, the antenna feeding the Airspy Mini was rotated continuously every two hours with a stepper motor. Tiny control scripts in C++ adjusted the phase‑matching of the two halves of the Yagi, turning the tiny Mini into a low‑cost scan antenna that could still detect a weak GSM‑C beacon even when the nearby processing plant was humming at maximum capacity.

Future possibilities

Recent firmware updates to the Airspy Mini now support direct sampling without a tuner, making it possible to capture 915 MHz modems with higher fidelity. Coupled with the open‑source “LoRa‑Raspberry‑Pi” suite, the hobbyist can now perform full‑suite packet sniffing, PTCP correlation, and even low‑power credentials extraction—all for a fraction of the cost of a commercial SDR platform.

In the end, the Airspy Mini became more than a curiosity; it was a bridge to the invisible nervous system of the local industrial landscape, turning raw radio waves into a living, breathing data export that was as much a story as a signal.



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