QuadRF Updates

19 min read Original article ↗

Stay in the Loop

Be the first to find out when QuadRF launches!

July 15 2026

Week 3 of the QuadRF Crowd Supply Campaign!

Thanks to everyone ordering QuadRF kits, we just hit 350% funding! At this rate we're likely to sell out our first batch of 1,000 units pretty quickly, so be sure to get yours soon by clicking the yellow button! Crowd Supply has a history of 100% successfully delivery rate for projects, and we're working to exceed expectations by getting our deliveries out early. We have almost all components pre-ordered to be ahead of supply-chain risks and the mass production plan is solidifying. We're so excited to be the first to make phased arrays an accessible and affordable technology!

RF Camera Highlights

Check out our demo reel showing QuadRF's ability to see wireless signals in real-time.

Near-field sensing

I realized we need to show more applications that take advantage of QuadRF's powerful transmit capability. Some backers have asked about close-range radar using the QuadRF, so last night I coded up an example and posted it on our GitHub. Because QuadRF's Tx and Rx chains are already perfectly synchronized, it's very straightforward!

As an initial basic test, you can make a CW radar on the QuadRF using only a few blocks in the pre-installed GNU Radio. First, you drop in a Signal Source of type Sine with a frequency of your choice (e.g., +1 MHz). Then, you transmit it by connecting it to the Soapy Sink block. This signal is upconverted by the LO frequency you choose in the QuadRF GUI (e.g., +5 GHz), and with Tx enabled, it radiates out of the selected antennas.

The 5.001 GHz wave hits various objects in the room and bounces back. But just like a mirror, when a circularly polarized RF signal reflects, its polarization flips. It returns to the QuadRF with LHCP (Left-Hand Circular Polarization) instead of the RHCP that was transmitted. So, we simply set our receiver polarization to LHCP in the QuadRF GUI.

GNU Radio phase loopback diagram

Back in GNU Radio, we drop in a Soapy Source to get the receiver samples. As long as we choose the same LO frequency (5 GHz) in the receive GUI, the full-duplex QuadRF gives us perfectly synchronized samples. We should see a +1 MHz tone return, but now with its phase shifted proportionally to the distance of the object (and a small frequency shift as well if the object is moving!).

To compare the received signal with what was transmitted, we use a Conjugate Multiply block, which effectively shifts the receive signal from +1 MHz back down to DC (0 MHz). To improve SNR, we add a low-pass filter or a simple Moving Average block to filter out noise and anything outside of near-DC. We now get a complex phasor (2D vector) that rotates proportionally to the reflecting object's distance from the QuadRF. As a quick visualizer, I dropped in a Constellation Plot, which shows the phasor as an I/Q scatter plot with a red "+".

After adjusting the QuadRF Tx and Rx gains to avoid saturation, lo and behold, we get a plot that rotates just as much as we move our hand away from the QuadRF!

What you notice is the point moves in a circle around a non-zero location (not I,Q = 0,0). This is because there is some direct-path coupling between the Tx and Rx antennas that is relatively strong, but static. Our hand reflection adds a moving phasor to this static phasor, causing the rotation. In fact, that "static phasor" offset is a combination of everything in the room that contributes a reflection back but isn't moving.

While this is a great start that proves the synchronization is working, tracking objects requires more information. One possibility is sending multiple frequencies, which allows us to resolve the ambiguity of how many integer times the phasor rotated, giving us actual total range information in meters (not just range modulo the wavelength). This is commonly done with FMCW chirps, pulse, or chipping sequences. Less common is our ability to use spatial information! Because we have four transmit and four receive antennas, we can determine the direction of the target by comparing ranges between all the different Tx/Rx antenna pairs!

4x4 MIMO radar

In the GNU Radio example above, we allowed the QuadRF FPGA to combine the receive antennas into a single Rx stream with automatic beamforming. But now, let's stream the four separate Rx antennas' independent I/Q data and perform a parallel CW ranging calculation for each receive path. In addition, we'll cycle quickly through the four Tx antennas to measure all combinations and get the full 4x4 MIMO radar information!

Here we'll switch to C code to visualize the 4x4 = 16 phasors of information. Full disclosure: we asked ChatGPT to implement this, and it did correctly on the second try, with only a few minutes of fiddling. The code is pretty easy to understand. It outputs four plots, each quadrant represents a different receive antenna, while the four colors represent the different Tx antennas. This gives us a total of 16 phasors of continuous ranging information.

4x4 MIMO phasors of continuous RF ranging information

The sensitivity is quite impressive! It can easily detect my breathing from a few meters away from millimeter-scale chest movement. As a new dad, I figured this could be a useful way to monitor baby's breathing at night. Of course when I proposed this, my wife refused to let me test it. But I'm pretty sure it would work great! Also I think this means I shouldn't mention the amount of RF radiation coming from our garage...

For a more interesting tracking demo, the next step is probably to send these phasors into an Extended Kalman Filter and estimate a reflector's (X,Y,Z) coordinates in space (similar to what we do for phased-array calibration). Or we could feed it into a machine learning model. What I think is remarkable though is how quickly we can take QuadRF out of the box, and with just a little software, rapidly start building the foundation of what is typically pretty advanced research in RF sensing!


Meshtastic!

Another great open-source tool called Meshtastic is now running on the QuadRF and will come pre-installed with every unit. This is an off-grid, decentralized mesh network. No cell towers. No internet. Just pure peer-to-peer connectivity!

Meshtastic off-grid map on QuadRF

It uses LoRa, which utilizes Chirp Spread Spectrum (CSS) modulation. This provides excellent resilience to noise, multipath fading, and Doppler effects, allowing for very long-range (tens of kilometers) communication. Roy will be showing this off at Teardown 2026! Be sure to stop by! Combined with AREDN, we think there is massive potential for using QuadRF as a robust and independent peer-to-peer emergency communications network.


Wi-Fi analysis example

If you missed our Crowd Supply update from last week, we detailed how QuadRF can be used with the gr-ieee802-11 open-source Wi-Fi stack to "fork Wi-Fi" for custom links and do deep OFDM signal analysis. Read the full update here!

Example of Wi-Fi OFDM analysis with gr-ieee802-11

QuadRF in the Wild: Jeff Geerling's Review

Jeff Geerling recently got his hands on a QuadRF and wrote a nice article and video "QuadRF can spot drones and see WiFi through my wall." In there he mentions he was "blown away by how well it works," was able to effortlessly spot a DJI Mini Pro 4 drone flying behind his studio using the AR visualizer, and could see his 5 GHz Wi-Fi network through a brick wall. The article also sparked a good nerdy discussion on Hacker News!

June 30 2026

Wow that launched quickly!

The QuadRF went live on Crowd Supply on June 23 and it crossed the funding goal 22 hours later! That's amazing! Thanks everyone for contributing to a great opening.

Through August 6, we'll be posting updates to the Crowd Supply page here

May 31 2026

QuadRF is headed toward Crowd Supply!

Last week we applied to Crowd Supply to help launch QuadRF, our 4-antenna / 4x4 MIMO SDR tile and the first mass-shipping product built from the MoonRF architecture. MoonRF is still the 240-antenna mega moon-bounce array, but QuadRF is the first product we are preparing to ship at production scale. It is also the building block that lets us start scaling RF tile manufacturing for the larger phased arrays.

Update June 2: that was fast, we were accepted!
Check out the Crowd Supply pre-launch page: https://www.crowdsupply.com/scale-rf/quadrf#

QuadRF's Augmented Reality RF Spatial Vision
One of the most fun applications of QuadRF is the real-time RF camera mode that gives an augmented-reality heat-map of all the RF signals around you.

QuadRF is one tile with four coherent full-duplex RF chains, dual-polarization antennas, an integrated Raspberry Pi 5, and a preloaded software stack so people can start experimenting with phased arrays right away. We’re excited about QuadRF because it moves software-defined radio beyond time and frequency and into the spatial domain!

Our Crowd Supply application video is below. This shows our literal first attempt with the augmented-reality RF real-time overlayed on a cellphone! It is cool to watch, but honestly even more amazing in your hands because the visualization is so immediate and responsive.

Besides shooting nerdy YouTube videos, we’ve also been doing the less glamorous but necessary launch work:

  • cleaning up the software and drivers for people to build from
  • finishing documentation and example applications
  • improving automated calibration for phase, quadrature, and LO leakage
  • preparing open antenna, mechanical, and simulation files for larger arrays

We are not live on Crowd Supply yet. They accepted our application and we're finishing up the campaign material. One nice thing about Crowd Supply is they handle all the distribution / shipping / VAT / export etc.. which let's us focus on the actual technology and support, so we're excited to work with them.

We'll keep you posted! Assuming the project gets approved, please help support us by picking up one QuadRF Kit (or two)! You can then reuse the kit's tile as part of the larger MoonRF phased arrays which will become cheaper to build when we start shipping mass RF tiles!!

In the meantime, please join the Discord if you have questions, ideas, demo requests, or just want to follow along!

April 1 2026

Meet the QuadRF Kit

As many of you know, the full MoonRF Array utilizes 240 antennas to reach the moon. But that scalable array is built from a single key building block: the QuadRF.

While the QuadRFs are designed to interconnect to form massive arrays, a single unit is an incredibly powerful tool on its own. These kits are a perfect platform for education, spatial RF experimentation, and exploring the frontiers of AI + RF (and best of all, as a low-power MIMO transmitter, it requires no ham radio license to operate!)

It's very easy to use out of the box. You can connect to a laptop/tablet/phone via USB, Gigabit Ethernet, or WiFi; then open a web browser and go to http://quadrf/ and explore. Or you can plug in a keyboard, mouse and monitor directly. The built-in Raspberry Pi 5 can handle substantial signal processing utilizing its quad-core ARMs. But for decoding the highest bandwidth WiFi/LTE the QuadRF streams IQ samples using SoapySDR or ZeroMQ to process on your laptop.

You've seen the time and frequency-domain... but what about the... space-domain?!

With four antennas, phase information from every incident signal is measured. This can be rendered in real-time as a RF heat map to effectively  see  your RF environment.

Spatial RF visualization
Real-time spatial visualization of RF signals (4.9 GHz - 6.0 GHz) in the surrounding area. Color codes frequency.

You can select between different polarizations (LHCP/RHCP). The built-in Pi 5 processing is fast enough to render 1 GHz of spectrum for the surrounding environment at 30 fps update rate.

A smartphone and a wireless camera give very strong signals.
3D render of RF visualizer
Seeing all RF devices interacting in the rooms around you is very cool, and useful for diagnosing wireless congestion or finding the unexpected! Credit: Roy Gross for the 3D update.

Besides the obvious ability to see quadcopters in flight and their operators on the ground, we include an open-source program to actually decode NTSC video transmissions. By default, the QuadRF performs automatic beamforming to continuously steer towards what it is receiving to obtain maximum SNR.

We couldn't find any good existing open source SDR implementations of wireless camera video decoders, and certainly not any with color and synch recovery at long range / low SNR. Nor was there initially hope of running real-time with milliseconds of latency... But we ended up getting all of that with a simple standalone C application running on the Pi 5!

Live from wireless camera to QuadRF to web browser!

The secret was another feature that's included with the QuadRF...

Agentic Transceiver

The QuadRF comes with a pre-trained AI agent system that allows you to prompt it with an idea or RF intent, and within minutes it writes the code, compiles the program, and runs it live with the RF hardware. The system is pre-loaded with context information about the QuadRF capabilities, controls, and API, so the agentic AI knows how to write the custom SDR software correctly. If there are bugs, the agent will look at the program output, debug the problem and iterate towards a solution automatically. You can interrupt it at any time or give it hints, but normally you can just hit enter and let it go ahead!

In general, there's no need to know programming or signal processing, but it's good to have enough RF experience to ask the right questions. For the NTSC/PAL video decoder, grayscale was working in about 5 minutes after prompting the AI agent. Color took a few more tries. And after a little prodding to make it more efficient, it optimized the inner loops with NEON instructions for the ARM A76 cores —giving butter-smooth video.

🌕 What about the Moon?

While the QuadRF may feel like a bit of a detour, it's actually directly in line with perfecting MoonRF. The exact same software, interfaces, and API are used on the MoonRF as the QuadRF. So it's important to get that all well developed and tested. It also helps to scale PCB production so that making thousands of MoonRF units is an easier task.

The QuadRF is the exact same hardware as in the MoonRF (just with a different Lattice ECP5 FPGA firmware update, something the Pi 5 does on every boot). When you're ready to build a MoonRF, it's a simple matter of taking out the RF board from the QuadRF case and screwing it into the MoonRF Array to join its 59 siblings. The full MoonRF Array can still use a single Raspberry-Pi 5 because the beamforming computation is distributed across the QuadRF FPGAs, making a Pi 5 still quite sufficient. Of course it will now have much tighter beams with a heck of a lot more power!

While the RF hardware is finalized, there is still work to be done designing the large (~1 meter diameter) enclosure for the MoonRF--which is fairly non-trivial, but I think we have a good plan! The high-speed interconnect, synchronization, and calibration methods are all mostly tested/proven but with some low risk finalization to be done. The QuadRF software is a great platform already, but there is a bit more software development needed for the full array. This includes building excellent GUI features for the user to get beamforming feedback and control.

Personal Update

Meanwhile I got the flu, then a week later our entire family acquired norovirus. Everyone recovered well (me as of yesterday). We also have a baby due any day now (our first!) so there may be a little interruption to get this on Crowd Supply in March 😂. But I'm trying to at least have a good update by the end of April.

I'm still doing most all the development in my garage, but starting to release code on GitHub here. I'm planning to have anything that runs on the Pi 5 to be GPLv2 licensed. See the bottom of this page for more details.

Getting involved

Very soon we are looking for beta testers to help interface the QuadRF with existing SDR tools. Most SDR tools "just work" if they support SoapySDR or ZeroMQ, but many others need native support. If you are a developer or creator of an SDR tool, especially if you can get them running on a Raspberry Pi 5, please reply to any emails you get. Will invite you to a private GitHub repository and Discord channels to get you set up as an early contributor.

Mass-producing the QuadRF

Scaling all the various component orders and figuring out aspects of the supply chain has been going pretty well. The tarrifs, wars, and various shortages of RAM and components has been a bit annoying, but no show-stoppers. A benefit is most of the designs in the RF, analog baseband, and ADC/DACs, use very generic components (like only differential transistors and passives!) so finding other sources has been relatively easy (the benefits of "vertically integrated engineering"!). The Lattice ECP5 FPGA prices have gone up, but it's still a very small cost contributor.

That's all for now!

March 27 2026

Okay, we'll take the Moon

It appears the military-industrial complex has successfully trademarked the vacuum of space. The Earth-Moon-Earth radio project just got a trademark takedown from Kratos Defense. Apparently, our domain name (open·space) is a little too close to their classified military satellite software.

Naming a closed orbital weapons network "OPENSPACE" is slightly ironic, but rather than fighting SkyNet's lawyers, I'm saving the energy for our upcoming Crowd Supply launch.

They can have the vacuum of space. We'll have the moon.

Effective immediately, the moon-bounce project is now MoonRF!

Update: We actually won the domain dispute spectacularly, but we still like our new name!

March 1 2026

Closing in on Enclosures...

The 3D-printed enclosures are starting to work real well after switching from clips to magnetics. There are still questions about colors and mounting of the integrated antenna. RF testing on the 8001 Translucent Resin looks good at about 0.8mm thick (only ~0.3dB loss).

Spatial RF visualization
Case designs by Andy McCormick. Hardware assembly is taking place right here in Santa Barbara, CA.
February 1 2026

QuadRF Hardware Finalized

The QuadRF tile design is finally locked in after quite a few revisions. RF performance looks excellent. The custom MASH ΣΔ ADC design is fine-tuned (going custom with that design greatly reduces build cost given there are eight of them per board). LNAs have been improved, the high-speed interface between Quads and the Raspberry Pi is working well (a custom MIPI interface at a 5.6 Gbps data rate). The Raspberry DSP can provide any sample rate between 1-80 MSPS on all four channels for ease of connection to various SDR apps, and there are auto calibrations (quadrature error, LO leakage, and phase). If things stay on track, I think we can build ~1000 in a few months. I'm leaning toward using Crowd Supply for the launch, given their excellent shipping and logistics, but will keep you posted on where to go soon. The target launch price is probably ~$499 (dependent on the tariff landscape over the next month). For that you get the QuadRF tile, an included Raspberry Pi 5, the custom case, tripod, USB-C power supply, cables, and a pre-loaded SD card with a ton of cool SDR applications.

November 1 2025

Pacificon!

Thanks to everyone who came to Pacificon and saw our demos. Great conversations with everyone including the AREDN group, ham satellite, and other moon bouncers. The focus has been 100% on quality product development and zero on advertising. But that one demo at Pacificon led to thousands of sign-ups on our website and a steady word-of-mouth buzz. The project has been shared by others on RTL-SDR.com, Zero-Retries, Hacker News, and more. It's clear people want a new way to explore RF, and it looks encouraging that this will make some waves!

Both at Pacificon 2025
FAQ

Where is the source code?

We're still cleaning this up for the Crowd Supply launch, but you can find the current code and project files on GitHub here: https://github.com/open-space-sdr/main

How is the QuadRF and MoonRF licensed?

Nearly all the software is open-source while making our hardware as accessible as possible. Below is a breakdown of licensing for the various components.

Software
QuadRF device drivers (MIPI CSI-2 / DSI)GNU General Public License version 2 (GPLv2)
SoapySDR Driver ModulesGNU General Public License version 2 (GPLv2)
ZeroMQ Driver ModulesGNU General Public License version 2 (GPLv2)
Spatial RF VisualizationGNU General Public License version 2 (GPLv2)
NTSC/PAL Video DecoderGNU General Public License version 2 (GPLv2)
GNU Radio examples and demosGNU General Public License version 3 (GPLv3)
Spectrum AnalyzerGNU General Public License version 2 (GPLv2)
QuadRF web control GUIGNU General Public License version 2 (GPLv2)
QuadRF command-line toolGNU General Public License version 2 (GPLv2)
Agentic RF (gptme and open-interpreter context files)GNU General Public License version 2 (GPLv2)
Agentic RF generated codeNot copyrighted
Firmware
ECP5 FPGA binaryAll Rights Reserved (Redistribution Allowed). FPGA is open and reprogrammable from Pi-5 using OpenOCD
Hardware
OpenEMS Antenna simulation filesCC BY-SA 4.0
QuadRF antenna PCB layout gerber filesCC BY-SA 4.0
QuadRF schematicsCC BY-SA 4.0
MoonRF antenna structureCC BY-SA 4.0
3D printed enclosure for the QuadRFCC BY-SA 4.0
QuadRF RF layout and gerbersProprietary (TBD)
Other
The MoonRF website, and trademarks (MoonRF, QuadRF)All rights reserved.

Commercial Licensing: Components marked as CC BY-NC or Proprietary are strictly for personal, educational, or internal non-profit research use. Commercial licenses are available for entities that do not wish to be bound by the terms of the GPL. Please reach out to [email protected]