Older articles:


  1. Mobile Horus Binary v2 and APRS Receiving Station with Raspberry Pi

    After the previous December HAB launch, I realized that I needed to spend some time on my receive hardware setup in the car. I previously had a VirtualBox VM running Horus-GUI and headless horusdemodlib, but it was very much a kludge. As an upgrade, I wanted to add APRS reception for the balloon 2 meter APRS tracker.

    In order to keep track of all the hardware required for this, I created a block diagram using draw.io desktop. Click to make bigger.

    Block diagram of system setup

    The next sections will describe the different parts of this setup.

    RF Filtering

    I quickly realized that having two RTL-SDR dongles in close proximity to a 10 or 50 watt transmitter might cause problems. It would certainly desense the receivers during transmission, but it also might cause permanent damage to the dongles. Permanent damage is hard to diagnose because there's no error message saying "broken," it just doesn't receive weak signals (or any signals at all).

    Filtering the 441 MHz voice transmission out of the 144.39 MHz APRS receiver is pretty easy, as those frequencies are very ...

    Read More →
  2. Building a UHF Band-Stop Stub Filter

    During a recent balloon launch, I communicated with the other chase teams with my mobile rig, transmitting around 441 MHz with a transmit power of 10 watts = +40 dBm.

    For the next balloon launch, I also wanted to put a 144 MHz APRS receiver on my car, but was worried about damaging the RTL-SDR dongle I would be using for receiving. RTL-SDR dongles have a maximum input of around +10 dBm with absolutely no filtering on the input, so I could potentially permanently damage the RTL-SDR dongle when I transmitted.

    Moving and separating the antennas around on the car roof and trunk might give 20 dB of isolation, but we're still at risk of permanently damaging the receiver.

    I needed a band-stop or band-pass filter for my APRS receiver. I already had a band-pass cavity filter for 144-148 MHz, but the 3rd harmonic of 145 MHz is 432 MHz, so this filter won't really keep 441 MHz transmissions out of my 144 MHz receiver. Bummer.

    Open and Shorted Stubs

    Fundamentally, stub filters are based around the concept of constructive and ...

    Read More →
  3. Sondehub Grafana Graphs for December 2024 High-Altitude Balloon Launch

    In December 2024, the SF-HAB group flew a high-altitude balloon from the San Francisco Bay Area. The flight was a partial success, with the payload recovered the next day. Only several weeks later did I find out about this excellent Sondehub Grafana instance, hosted on AWS and directly connected to the Sondehub Amateur database.

    In this post, I want to dive a bit deeper into the Horus Binary v2 telemetry that was transmitted from a reprogrammed RS41 radiosonde on this flight. This entire post is commentary and screenshots from this grafana dashboard, screenshotted here to reduce link rot. All times are in UTC on Dec 15th 2024.

    Balloon Position Graphs

    Due to the under-inflated balloon, we knew it was going to rise slower than predicted, and burst at a higher altitude. This balloon reached a maximum of 37,412 meters (~122.7k feet) at 21:09:57.

    reported altitude graph

    This is a graph of the ascent and descent rates for the whole flight. The blue line is what the GPS reports (in meters/sec, left axis), and the yellow line is calculated ...

    Read More →
  4. December 2024 High-Altitude Balloon Launch

    On Sunday 15 December 2024 the SF-HAB group got together and flew a bursting high-altitude balloon. We had a whole crew there, including Martin W6MRR, Kazu AG6NS, Robert K6RGG, John NI6D, Walter K6ATV, Benjamin KO6CNT, and Steve K6WW. Everyone helped out with assembling the payload train, filling the balloon, or documenting the launch.

    Preflight Planning

    The days before the flight we had an atmospheric river in the Pacific Northwest, so the upper winds were very unsettled. The lower-level winds were also blowing all different directions, and it rained significantly the day before. But the weather forecast for launch day was clear and sunny, and the Sondehub predictions showed a general Southeast flight. We picked Walnut Creek as the launch location to have our balloon land on the eastern side of the Central Valley

    Flight prediction from the night before

    Balloon Assembly and Filling

    The launch site was at a local park in Walnut Creek, and we met at 9:30am on a very cool and cloudy day. There was no wind at all. The balloon was a standard Kaymont 1500 gram filled with hydrogen.

    Filling the balloon with hydrogen

    Unfortunately, during ...

    Read More →
  5. Reprogramming a RS41 Radiosonde for Amateur Radio Frequencies

    I decided to re-fly a Vaisala RS41 radiosonde on an upcoming SF-HAB high-altitude balloon launch. The radiosonde must be reprogrammed on amateur radio frequencies, and I decided to use the RS41ng project by Mikael Nousiainen OH3BHX. This post is a companion post to setting up a Horus Binary receiving station.

    Radiosonde Hardware

    The radiosonde I randomly pulled out of my box was V1920305, launched over a year ago from Oakland on 8 August 2023. I picked it up the next morning from a construction zone in South San Francisco, and the construction guys just gave it to me after I asked about a balloon.

    Radiosonde V1920305 flight path

    Building the firmware

    On Linux, building the RS41ng firmware is ridiculously easy. You build a local docker container with the build environment, which takes up about 2.2 GBytes of storage (!?). After editing the configuration file, one command builds the firmware inside the docker container.

    Here are the commands I ran, stolen from the detailed linux docker procedures:

    ~$ git clone https://github.com/mikaelnousiainen/RS41ng
    ~$ cd RS41ng
    ~/RS41ng$ vim src/config.h                                                        (edit with your configuration ...
    Read More →
  6. Setting Up a Linux Horus Binary Receiving Station

    The SF-HAB group is talking about doing a High-Altitude Balloon launch in the next few weeks, and asked if I had any payloads to fly. I thought it would be fun to refly all these radiosondes that I have collected.

    Looking around a projects online for reprogramming radiosondes, I came across the the great work that Mark Jessop VK5QI was doing down in Australia. Mark and David Rowe created the Horus Binary protocol, which is a low-power 100 baud 4FSK modulation scheme specifically designed for high-altitude balloons. Mikael Nousiainen OH3BHX wrote the RS41ng project which implements the Horus Binary transmitter on a regular Vaisala RS41 radiosonde.

    The next blog post will focus on reprogramming the RS41 radiosonde.

    Hardware Setup

    The hardware receiving the Horus is pretty much the same as receiving a radiosonde or AIS, except it's a different frequency so a different antenna must be used. While I list a Raspberry Pi 4 on the block diagram (running Debian 12 Bookworm), any Debian-based distribution can be used.

    Horus hardware block diagram

    The Mt. Carmel High School Amateur Radio Club (W6SUN) down in San ...

    Read More →
  7. Digital Communications Inc DCI-146-4H Band-Pass Filter

    I recently acquired a Digital Communications Inc. DCI-146-4H band-pass filter. This is a 4-pole cavity filter for the 2 meter Amateur radio band, with a pass band of 144 to 148 MHz. Physically it's about 12" long, 6" high, and 3" deep, and is very light. The connectors are UHF SO-239.

    DCI-146-4H top

    I purchased this band-pass filter for operating Summits On The Air (SOTA) radio events. Operating 2 meters FM simplex on the top of mountains is a lot of fun, but many SOTA mountains also have high-powered broadcast transmitters, public safety repeater systems, etc. These strong transmitters cause desensitization in receivers, and I can't hear other stations unless they are very strong. This type of band-pass filter removes all out-of-band signals, but won't remove any in-band transmitters like amateur radio repeaters.

    Close-In Performance

    The datasheet (local pdf) shows the insertion loss at around 0.4 dB. I measured this at about 0.7 dB, and the extra loss was probably the short RG-58 jumpers and RF adapters I used.

    S21 of DCI-146-4H band pass filter

    Zooming out a bit, rejection at 151 MHz is approximately 20 ...

    Read More →
  8. Adding a Bodnar GPS Disciplined Oscillator to a KiwiSDR

    With the release of WSJT-X 2.3.0 in September 2020, Steve Franke K9AN, Bill Somerville G4WJS, and Joe Taylor K1JT included a two new digital protocols called FST4 and FST4W. These two digital modes are the next evolution in low-power and long distance digital communications. These modes use four-level Gaussian frequency-shift keying (4-GFSK) modulation, which has smooth transitions between the four tones. This modulation is a bit easier to decode than regular WSPR, which uses 4-FSK modulation that has abrupt tone changes.

    FST4 is designed for keyboard-to-keyboard QSOs (similar to FT8), and FST4W is designed for beacon transmissions like the regular WSPR protocol that we use for picoballoons. The time periods for a single transmission are 120, 300, 900, and 1800 seconds, with longer periods requiring less SNR for decoding.

    In Spring 2022, Rob Robinett AI6VN included FST4W decoding in Version 3.0 of the wsprdaemon software, which is what I run for WSPR decoding at my home in San Francisco and in Inuvik, NWT. That's cool, I thought. I can just "check the box" in the configuration file ...

    Read More →
  9. SOTA Activation of Vollmer Peak, W6/NC-298

    The San Francisco Radio Club organized another Summits on the Air event on 23 April 2022. For this "Simul-SOTA" event, there was 11 amateur radio operators activating 9 summits around the Bay Area. Steve W1EGG made a handy map with who was activating each peak:

    Simul-SOTA activations

    I activated Vollmer Peak, which is at the southern end of Tilden Park in the hills above Berkeley. Parking at the trailhead was easy in the morning, but by the time I left parking was nonexistent.

    The hike up was short, and the views were excellent. I could clearly see Mt. Tamalpais across the bay, which was activated by Vlad K6VVP.

    Hike up Vollmer Peak

    A lot of the other peaks that were activated that morning were visible from from the top, including my previous activated San Pedro Mountain.

    HF Radio

    This was my first HF activation. I borrowed a Xiegu G1M radio, which is a small QRP SDR. I also borrowed a lithium power pack, and a 49:1 balun for an End-Fed Half Wave antenna. I cut a piece of two conductor zip-cord 33 feet long, which ...

    Read More →

links