Category: Applications

Visualizing RF Fields in Augmented Reality with a tinySA-Ultra or RTL-SDR and Android Smartphone

The tinySA-Ultra is an affordable handheld spectrum analyzer that can be purchased for around US$130 on Aliexpress and authorized resellers such as R&L Electronics in the USA.

Recently on YouTube Manahiyo has used his tinySA-Ultra, and combined it with an RF EMC probe and an Android smartphone to create an augmented reality RF display. This is useful for measuring and visualizing the RF power around electronic devices for example. The code is entirely open source and released on GitHub

Manahiyo has also released an identical version that works with RTL-SDR dongles on GitHub as well.

In the past we've also posted about Manahiyo's previous work, in which he implemented a very similar augmented reality project using an RTL-SDR.

Augmented Reality EMC Probe with a tinySA-Ultra
[RadioFieldAR -tinySA-] Visualize radio wave strength. [電波可視化]

The US Air Force may have shot down an Amateur Radio Pico Balloon over Canada

Since the famous takedown of a suspected Chinese spy balloon, US jets have shot down a total of three more unidentified balloon objects, now suspected by officials to be 'commercial or benign'. There is speculation that at least one these three objects may have been an amateur radio 'pico' balloon.

One part of the amateur radio hobby is launching high altitude balloons with various radio and other payloads. Larger amateur radio balloons launched in the USA require FAA clearance, need a radar reflector attached, and usually continually transmit APRS telemetry before naturally popping and falling back to earth after a few hours, just like a weather balloon.

However there is also the simpler 'pico' ballooning hobby, which involves the use of mylar helium party balloons to launch small solar powered payloads that are only a few grams in weight. They typically transmit low power WSPR at HF frequencies and can only transmit whenever there is sufficient solar power available. Amateur radio or SDR hobbyist stations around the world can pick up these transmissions, and report them on amateur.sondehub.org and/or wsprnet.org. Well built balloons can totally circumnavigate the globe several times over several months before degrading.

While termed 'pico', the party balloons used can still be roughly a meter in diameter on the ground, with some latex balloons potentially expanding further at high altitudes due to the low atmospheric pressure. These balloons can be legally launched from almost anywhere in the world. In particular in the USA there is no FAA clearance required to launch them due to their payload being much less than the limit of 4 lbs (1.8kg). 

32" Silver Orb Shaped Mylar Balloon used for Pico Ballooning
32" Silver Orb Shaped Mylar Balloon used for Pico Ballooning

There is speculation that at least one of the objects shot down over Canada, Yukon by a US Air Force jet may have been amateur radio pico balloon K9YO-15 which was launched from Illinois on October 10 2022. It was on it's seventh circumnavigation of the globe after being aloft for 123 days.

The launch blog post indicates that the K9YO-15 balloon was flying a silver mylar 32" sphere SAG balloon which appears to be this one from balloons.online. Unlike latex or rubber weather balloons which inflate and stretch as they rise into lower atmospheric pressures, these mylar balloons can't stretch, so their fully inflated ground size will be the same as their size at high altitudes, meaning the pico balloon won't get much bigger than 32". The payload was a GPS module, Arduino, SI5351 used as a WSPR and APRS transmitter and a solar panel, all together weighing 16.4 grams. A pentagon memo notes that the object shot down over Canada was a "small metallic balloon with a tethered payload" which fits the description of the pico balloon exactly.

The K9YO Pico Balloon Payload
The K9YO-15 Pico Balloon Payload
An (unrelated) Example Amateur Radio Pico Balloon Launched by a Naval Academy
An (unrelated to this story) example Amateur Radio Pico Balloon launched by a Naval Academy (Source: http://www.aprs.org/balloons.html)

The K9YO-15 balloon ceased all WSPR telemetry transmissions while flying just below Alaska since Feb 11 00:18 UTC (just before sunset in Alaska when the solar panels would stop working).

By using NOAA wind models and the last known location by Alaska, K9YO-15 was projected to have been over Yukon when the US Air Force shot down the unknown balloon object at Feb 11 20:41 UTC (3:41 PM EST / 1:41 PM Yukon time according to Canadian Defense Minister Anand). Reports put the altitude of the shot down object at approximately 40,000ft (~12000 meters), which matches the projected ~11500 meters of K9YO-15. Based on the previous days transmission times, it is suspected that if it were operational, the balloon would have begun transmitting again sometime later in the Yukon afternoon when the sun was stronger, but no transmissions have been seen.

On February 14th the balloon was declared as missing in action by the launch group. 

K9YO projected location at the time the object was shot down.
K9YO projected location at the time the object was shot down.

The search area for the fallen balloon debris is reported to be in difficult to access terrain between Dawson City and Mayo. If we do a rough overlay of the predicted trajectory over a Google map, we can see that the predicted location of KY9O-15 at the reported time of the missile impact matches this description very well.

Rough trajectory overlay
Rough trajectory overlay

Over on Twitter @ikluft (KO6YQ) has been reporting on this speculation, and has been keeping an eye on K9YO-15, awaiting telemetry transmission. We recommend following his account for further updates.

Twitter user and ex project Google Loon engineer @BalloonSciDan has also speculated that the objects shot down may have been pico balloons.

Over on Reddit @ikluft (KO6YQ) has also written some insightful information:

I see you're all talking about my tweet. Yes, we are still watching to see if K9YO-15 transmits any telemetry today.

So far K9YO-15 has not sent any new telemetry since Friday before sunset over Alaska. Some have misread confusing data presentation on Sondehub which lists last known telemetry as covering a time range from then to now. Currently the last we've heard from K9YO-15 was Friday Feb 10 before sunset over Alaska (00:48 GMT Feb 11). But the map on Sondehub does show the last reported position.

These floater balloons often use only solar panels, no batteries. Batteries were dropped from the projects early on because they have limited charging cycles before they stop accepting a charge, especially in the harsh temps at altitude, -40F/-40C or worse. When the battery stops accepting a charge, it ends telemetry from the mission. So they only report telemetry during daylight, when the sun is at a high enough angle to illuminate the tiny solar panels. In the Arctic winter, the days are short and the sun might not get high enough to wake up the electronics. So it stays dormant for one or more days until it drifts back down to lower latitudes where there's more sunlight. So K9YO-15 was in a period where watchers didn't expect to hear from it for a few days. But we expected it today. So far nothing. As I write this, daylight is almost done way up there for Tuesday, Feb 14.

We (the Amateur Radio balloon community) only expect any telemetry from it today would be via WSPR, none via APRS. WSPR uses HF and can be received at long distances, where it's relayed to Internet map sites. APRS is (usually) on VHF and UHF, only received by line of sight. There are no relay stations in range of today's projected flight course in northern Ontario and James Bay, Canada. So APRS-fed sites wouldn't show updates today anyway.

The club in Illinois that built the balloon has tracking links at https://nibbb.org/links-to-locate-and-track/ - you'll have to scroll down to find K9YO-15.

For an introduction, I'm Ian KO6YQ. I was involved in the first Ham Radio balloons that circumnavigated the globe starting in 2016, launched from San Jose, California. I had roles on them including tracking analyst and social media spokesman. I also organized and led the Ham Radio tracking teams which recovered the Civilian Space eXploration Team (CSXT) first amateur rocket to (suborbital) space in 2004.

Explaining a discrepancy with time reporting on Sondehub, KO6YQ notes:

Time has run out for solar power to provide any telemetry on Wednesday, February 15. So far, no new data. For those who were confused by it, remember that Sondehub has problematic data presentation so don't use it for anything other than mapping the last known position. A reliable place to check for K9YO on WSPR is the WSPR Spots: https://www.wsprnet.org/olddb?mode=html&band=all&limit=200&findcall=k9yo&findreporter=&sort=date

Frequently asked Questions (FAQ):

Since this story has gone viral and now entered the mainstream media, we thought we'd answer a few common questions that we're seeing in the media and comments.

Who is launching pico balloons and why?

Pico balloons are typically launched by ham/amateur radio hobbyists, universities, researchers, schools or kids STEM programs. The idea of launching a low cost balloon that can be tracked while travelling the world is a fun project for hobbyists and a great STEM learning experience for kids.

You can track other currently active pico and larger amateur radio balloons at https://amateur.sondehub.org/.

You might also be interested in tracking regular weather balloons which are launched by meteorological agencies around the world usually twice per day. These are designed to only last a few hours in the air before popping. They can be tracked at https://sondehub.org. A popular hobby of radio enthusiasts is chasing these weather balloons and being the first to recover the fallen sensor package called a radiosonde.

A pico balloon is essentially a kids party balloon. Why aren't there thousands of kids party balloons circumnavigating the globe? 

Balloons will inflate more as they rise into the atmosphere, since higher altitudes have lower pressure. A kids party balloon would typically be inflated fully on the ground. If a careless child released a balloon it would rise up, and pop within a few hours, as it reaches an altitude of around 5000ft - 30,000ft (1500m - 9000m) or higher where the internal pressure of the balloon is too great for the balloon's material to hold it.

Pico balloons are weighted by their payloads, and are only partially inflated on the ground. The goal is to inflate with enough Helium or Hydrogen to get the payload to rise at ground level, but allow enough internal space for the balloon to expand without popping as it rises. The weighted balloon will eventually reach an equilibrium point at some altitude where it's fully inflated, but can't rise any higher due to the weighting. This is called being 'neutrally buoyant'. The balloon launcher can use a calculator (such as this one) to determine the right amount of helium to use based on the balloon size and payload weight.

Mylar balloons are used because helium atoms will leak out of the walls of latex/rubber balloons, and they will be flat within a few days. With Mylar balloons the leakage is much slower and they can stay inflated for months.

How can a pico balloon circumnavigate the globe?

As mentioned in the previous question, it's possible to engineer the height that the balloon will fly at by only partially inflating the balloon on the ground. Once at the desired altitude, winds will eventually pull the balloon into global jet streams that take the balloon all around the earth at an average speed of 80 - 140 mph (129 - 225 km/h).

A website like Ventusky can be used to view the current jet streams at 40,000ft (12,000m), the altitude that KY9O-15 was neutrally buoyant at. 

Are pico balloons legal?

In the USA the regulations defined in PART 101 - MOORED BALLOONS, KITES, AMATEUR ROCKETS, AND UNMANNED FREE BALLOONS are only applicable to larger balloons. Small balloon payloads are exempt from these regulations. Similar exemptions exist in most countries.

In California helium balloons in general have been banned, to stop pollution, damage to wildlife, and to protect power lines. 

The transmission of the WSPR and APRS telemetry radio signals would be allowed under amateur radio rules. UK, Yemen and North Korea are countries that prohibit transmissions from balloons, and compliance can be achieved via geofencing the transmissions in the software.

All information suggests that the NIBBB hobby club and KY9O's balloon were operating perfectly legally. 

What exactly was the payload on the KY9O-15 pico balloon?

The payload was a GPS receiver, an Arduino microcontroller, a radio transmitter and some solar panels. The solar panels power the electronics when in sun, and the GPS receiver determines the global coordinates of the balloon. The microcontroller is the 'brain' of the payload which reads the GPS coordinates from the GPS receiver, and tells the transmitter to send out a WSPR radio signal advertising the balloons ID and coordinates.

These are all common off the shelf, small components that could all fit in the palm of a hand. They would in total cost under $100. K9YO's payload in total only weighed 16.4g (0.58 oz). 

An F22 with all it's radio sensors should have picked up the transmissions from the pico balloon. Why didn't it?

Pico balloons usually don't carry batteries because they are heavy and degrade over time. So instead they carry paper thin solar panels. So the balloon circuits and transmitter are only active when in strong sunlight, any other time it is completely quiet and powered down. It's possible that in the weak Yukon sun at high latitude wouldn't have been strong enough to power the WSPR transmitter until later in the day.

How could a tiny 32" balloon be spotted by radar? How could a sidewinder missile lock onto it?

The pico balloon was made out of metallic mylar material which would easily show up on a modern radar system. It's possible that in the past before the Chinese spy balloon incident, radar operators would ignore or filter out slow moving small objects like insects/birds/balloons that pose no threat.

The sidewinder has a fragmentation warhead, so an explosion near the balloon would easily take it out. The metallic mylar material would easily reflect the sun's infrared, and against the cold background of the sky/space it would be easy for the IR heat seeker sensor on the sidewinder missile to track it. 

The K9YO balloon was flying at altitudes used by commercial airliners. Is there any risk to them?

A jet coming across a pico balloon in the first place would be very unlikely, and even more unlikely for it to make it's way in to an engine even if an aircraft flew directly at it. But there is some risk that a balloon ingested by an jet engine could cause issues. However given their lightweight nature it seems unlikely that there would be any massive damage, if any at all.

What is WSPR and APRS?

WSPR (pronounced as 'whisper') stands for Weak Signal Propagation Reporter. It is a type of radio signal protocol used by amateur radio hobbyists. Because of the way it is designed, it is possible for WSPR to be transmitted with very low power (such as the tiny amount of power possible from small solar panels), and still be received by amateur radio ground stations all over the world. The WSPR signal encodes it's callsign ID, and the transmitters GPS location. Amateur ground stations will upload received WSPR data to sites like wsprnet.org.

APRS or "Automatic Packet Reporting System" is another protocol used by amateur radio hobbyists. However, these signals don't travel globally, rather they can only be received locally with line of sight. The advantage is that APRS signal can be transmitted much faster (assuming sufficient power).

Are we 100% certain that the object was the K9YO pico balloon?

No, despite the circumstantial evidence, there is still some doubt. The balloon was already old and probably near the end of it's life. The sun in the high Yukon latitudes is also weaker, meaning that the solar panels might not be getting sufficient sun to power the circuits. The balloon had previously gone missing for 30 days before reappearing. And the transmitter was showing signs of drifting in frequency.

Are there any other globe trotting radio projects?

Yes, there are small autonomous boats or 'drift buoys' travelling the seas through natural currents. These also use WSPR and APRS to report their location. hitchBOT was a hitchhiking robot that relied on travelling strangers to find and carry it around the world. It had a GPS receiver and 3G radio.

Listening in on Hollywood Reality TV Show Wireless Microphones with an RTL-SDR

Over on Reddit user u/mknlsn has posted an interesting use for his RTL-SDR. He happens to live next door to a Hollywoood reality TV show production and was able to use his RTL-SDR to listen in on the wireless microphones fitted to the cast. The wireless microphones used by the production appear to be simple analogue FM modulated, without any sort of security.

We remind readers to check local laws on this sort of use, especially if recording audio, as some countries and US states may have differing laws on what can be recorded, or even listened to live. This would likely be considered private communications, so recording and sharing would definitely be illegal in most regions. 

Recently we also posted about Frugal Radio using an Airspy SDR to listen in on wireless microphones from outside a theatre show.

Wireless microphones picked up by RTL-SDR

Hacking Beepers at a Fish & Chip Shop with an RTL-SDR and HackRF

Over on YouTube Paul from "Tall Paul Tech" has uploaded a video showing how he was able to reverse engineer the wireless protocol used by a simple restaurant beeper (aka 'burger pager') notification system that is used to let customers know when their food is ready.

By reading the label on the base unit, Paul found that the beeper system transmits at 433 MHz. He was then able to record it's transmissions with an RTL-SDR. Then using Inspectrum, he was able to determine the bit string and the symbol period.

From there he was able to use a GNU Radio program to replicate the signal, allowing him to use a HackRF to activate the beepers on demand.

In the past we've posted similar stories [1][2][3].

Hacking A Fish & Chip Shop

SDRDue Updated: Passive Radar Software for RTL-SDRs

Thank you to Daniel Kaminski for writing in and sharing with us news that he has recently updated his SDRDue Passive Radar software for RTL-SDRs. The major update is that thanks to NVIDIA CUDA GPU processing, the ambiguity function can now be calculated extremely quickly, allowing for very high frame rates. Daniel writes:

Last time I was playing with my Passive Radar. I finally created an ambiguity library which is a really fast 70 frame/s analyzing a continuous string of data 2*1024*1024 bits per frame. This allowed me to record signals from slowly moving cars in real-time. I used a normal TV antenna without any modifications in one dongle mode. To support the library I created a Passive Radar program with all the parameters available for tuning. The code is open and available on GitHub. The movie is available on my website Passive radar | Web page od Daniel M. Kamiński (umcs.pl).

SDR Due Passive Radar
SDR Due Passive Radar

Job’s Radio Telescope Observes Maser W3(OH)

Over the past few years we've seen a lot of interesting observations coming from Job's Radio Telescope, which is Job Geheniau's 1.5m dish connected to an RTL-SDR (with additional filters and LNAs). He has done things like mapped the galaxy via the Hydrogen line, observed red supergiant stars, imaged a supernova remnant, detected a Pulsar, and measured the basis for the dark matter hypothesis.

In his most recent work Job has managed to detect the W3 star forming region at the Hydroxyl (OH) frequency of 1665.405 MHz.

W3 is an enormous stellar nursery about 6200 light-years away in the Perseus Arm, one of the Milky Way galaxy's main spiral arms, that hosts both low- and high-mass star formation. - Source

Hydroxyl (OH) can be observed both in emission and absorption. Emission frequently manifests itself as maser emission which is of specific interest. Energy Levels of OH Diatomic molecules like OH have numerous energy levels as they not only have electronically excited levels, but they can also vibrate and rotate. Both rotation and vibration are quantized and give rise to the large number of levels. Because of the wealth of energy levels, OH can be observed at various wavelength in the optical, infrared and radio regime. - Source

Over on the RTL-SDR Facebook group (not affiliated with this blog), Job has described his experiment in more detail (link requires a Facebook account and membership). He writes: 

As you may know or not...., I have been busy the last few weeks trying to detect maser W3(OH) with my 1.5-1.9 dish. The W3 complex lies in a darkened part of the Perseus galactic arm, at a distance of ∼2.2 kpc, and is one of the most intensively studied star-forming regions in the Milky Way Galaxy. Quite a challenge! It looks like I have a hit now after all.

Adjusting the Feed, calibrating the position of the dish and a lot of trial and error and a lot of patience seem to be leading to a result after all.... For now, I will keep this as my W3(OH) registration at 1665.405 MHz. Taking into account the Vlsr of currently 17 km/s (speed of earth and rotation around the sun), the final result comes close to the correct measurement. 1665.789 MHz = -32.22 km/s. Vlsr according to my calculations in terms of location and time is 17 km/s. -32-17=49 km/s. I think and hope that -49 km/s is the correct velocity of W3(OH) also considering the reasonably clear peak in the measured values in the graph.

These W3(OH) results were done with a special 1665 bandpass filter and 2 mini circuits lna/s. I will keep measuring for a while in the coming days, but soon I will switch back to another Feed over, namely the now under construction 611 MHz Feed with associated bandpass filter to once again 'capture' pulsar B0329+54. My ultimate goal with this dish!

I was very close last six months, but after extensive research with fellow radio amateurs we unfortunately could not confirm with 100% (!) certainty that the pulsar was detected at 1420 MHz with the 1.9 dish.

Also that research continues with longer exposure times and now research at 611 MHz, there is still some soldering and drilling and sawing to be done..... But first things first. Glad with this result anyway. Takes a lot of perseverance and patience.

Job's Radio Telescope detects Maser W3(OH).
Job's Radio Telescope detects Maser W3(OH).
Job's Radio Telescope detects Maser W3(OH).
Job's Radio Telescope detects Maser W3(OH).

Tech Minds: Testing an RTL-SDR Wideband Scanner with WebUI

Over on YouTube Matt from the Tech Minds YouTube channel has put up a video demonstrating an open source program released on GitHub called "RTL SDR Scanner", or "rtl-sdr-scanner-cpp". This program is compatible with RTL-SDR and HackRF software defined radios, and allows users to record multiple analogue FM audio channels within the active bandwidth simultaneously. 

To get a wider bandwidth, you can use a HackRF as your SDR, or you can also use multiple RTL-SDR dongles, or a device like the KrakenSDR which has multiple RTL-SDRs built into it. Alternatively, you can also have the software scan a much larger swath of bandwidth, however this could result in some transmissions being missed. 

The audio is recorded as a wav file, and can be accessed through a web UI. We note that currently only FM recordings are supported but AM may be supported in the future.

RTL SDR Scanner - FULL Bandwidth Recording With WEB UI

SARCTRAC Mk3b: A $290 Satellite Antenna Rotator

In January we posted about the AntRunner, which is a $325 (incl. shipping) satellite antenna rotator shipped from China. Recently we've come across another low cost satellite rotator from Australia called the "SARCTRAC Mk3b" which was developed as part of a school amateur radio educational program. This rotator fully assembled comes in at AU$400 + AU$50 worldwide shipping (US$290 + US$40 = US$330), making it's price comparable with the AntRunner. SARCTRAC can be purchased from the sarcnet products page. Currently only the fully built unit is available, but in the future they plan to offer a cheaper kit option.

We're yet to test the SARCTRAC Mk3b, but based on an overall review of it's advertising, it appears that the SARCTRAC has some superior specifications and a superior design when compared to the AntRunner.

Unlike the AntRunner, SARCTRAC comes with all its components enclosed in a waterproof IP65 rated enclosure. Its design also makes use of a 3D position sensor with magnetometer, allowing the unit to know its orientation at all times, meaning that it should be able to automatically position itself from startup. The design also makes use of DC motors with a built in worm gear drive, so the the motors back driving is not possible. 

The system is controlled via a built in Raspberry Pi 3B+ and can communicate with the controlling PC via WiFi. Raspberry Pi's have stable WiFi connections, so we shouldn't see the connection problems that we had with the ESP32 based AntRunner.

Just like the AntRunner, SARCTRAC is only a lightweight rotator with torque specs of 50kg.cm static and 25kg.cm dynamic. So it should be able to handle counterbalanced Yagi beams, and lightweight dish antennas.

The SARCTRAC Mk3b. An Australian designed and made light duty antenna rotator.
The SARCTRAC Mk3b. An Australian designed and made light duty antenna rotator.
SARCTRAC Mk3 Satellite Antenna Rotator Controller and TRACker