Category Archives: Blog

HPSDR Hermes Case

Hermes ( is a full duplex, digital-down-conversion, digital-up-conversion HF transceiver designed as part of the HPSDR project. I wanted a case and modified the Parametric Box with Sliding Lid by Aisjam to add the necessary ports. I also added a hole for the PowerPole connector and placed it so I could secure the connector with a chassis bracket.

You can find it at










Build a Helical Antenna

Given my interest in satellites and their tendency to tumble, I’ve always wanted to build a helical antenna. Why? I’ve struggled to receive satellite transmissions. I started with handheld Yagi and log periodic antennas. My results weren’t satisfying. In researching possible issues, I figured I may be suffering from the satellites’ tumbling. The radio signals were circularly polarized and my antennas were not optimal for receiving circularly polarized signals. So, I gained an interest in circularly polarized antennas. It turns out I probably needed an amplifier. But, my interest in circularly polarized antennas remained.

Build a Helical Antenna from SatNOGS

From a previous blog post, you know I built a SatNOGS rotator as part of a satellite ground station. The SatNOGS project also provides designs and instructions for building antennas. In particular, there is information on building a helical antenna. I quickly ordered hardware from McMaster-Carr, printed the 3D parts, and raided my personal supplies for the remainder.

From this picture, we you see the 3D-printed parts are quite modest.


My McMaster-Carr order consisted of the following annotated list:

  • Zinc Galvanized 1006-1008 Carbon Steel Wire, 0.080″ Diameter, 5 lb. Spool, 290′ Long (part number 8872K69) – There is sufficient wire to build at least 11 antennas for the 70cm band.

  • Weather-Resistant Galvanized Steel Wire Cloth, 2 x 2 Mesh, .080″ Wire Diameter, 24″ x 24″ Sheet (part number 9220T72) – One is needed for each antenna and they are fairly expensive. I believe there must be a more cost effective solution for the reflector.

  • Structural Fiberglass Rod, 3/8″ Diameter, 5′ Length (part number 8543K49) – Four rods are needed for each 70cm helical antenna.

  • Easy-to-Form 260 Brass, Strip, 0.050″ Thick, 2″ x 36″ (part number 8956K127) – Each strip provides sufficient material for matching segments on eight 70cm helical antennas.

As this article is written, the pro-rated material cost from McMaster-Carr for each antenna is approximately $60 with half that cost being the steel wire “cloth” for the reflector.

I began to build but I initially struggled with finding a template to wrap the wire around. I was preparing to design a wheel or hub in my 3D design software and print it on my 3D printer when I stumbled across a design for Sam’s Gears. I realized the pegboard and pegs could form a type of jig! For a UHF helical antenna, the size is reasonable. For VHF frequencies, something else will be needed. This solution works moderately well, understanding the pegs can come out of the pegboard when you’re wrapping the wire around the jig.

Helical Calculator

I’m targeting 436.5 MHz, the middle of the 70 cm satellite segment in the band plan. Using one helical antenna design calculator I see the wire needs to form a coil 21.9 cm in diameter. But, the coil also “rises” 1/4 wavelength. To account for that rise, I see the calculator indicates a wire length of 585 cm with 8 turns. A quick calculation yields 585 cm / 8 = 73.125 cm circumference. Another calculation yields 73.125 cm / 2 / pi = 11.6 cm radius. So, that’s what I’ll build on the jig. But, it’s not critical the form be extremely precise as the wire will eventually be sized to the antenna frame and a helical antenna is reported to be quite forgiving of slight variations. And, it turns out the wire expands a bit when released from the jig, so all my careful calculations really didn’t matter all that much. Now I’d say just wrap the wire around a spool that is about 22 cm in diameter.


Next, I cut three of the fiberglass rods for the length of the antenna. The SatNOGS documentation tells me to cut the lengths to 140 cm. While I can’t access the helical calculator referenced in the SatNOGS documentation, that’s close to what I calculate. From the calculator screen shot above, you see we have 8 loops with 17.2 cm between each loop. That yields a length of 137.6 cm. But, there also needs to be a bit of room at the bottom of the antenna to hold the reflector in place, so 140 cm seems about right.

Now I cut the 9 pieces of fiberglass rod for the cross members. I don’t follow the instructions and cut them 10 cm in length. Instead, I carefully calculate how much the fiberglass rod would insert into each 3d-printed part and then calculate the length to yield a final diameter of 21.9 cm. I even go to the trouble to account for the diameter of the wire and try to ensure the 21.9 cm diameter of the final antenna will be right in the middle of the wire. Again, helical antennas are reportedly quite forgiving, but I try to be precise.

Now I assemble the fiberglass rods and the 3d-printed parts. I don’t glue anything at first. But, I place one of the sets of cross members at the very end of the long rods. These are the cross members that will eventually hold the reflector in place. I then put another set of cross members near the middle of the long rods. And, I put another set of cross members a couple inches from the transmitting end of the antenna. We’ll need to adjust these to ensure they don’t get in the way of the wire when we wind it around the antenna.

We do our first round of gluing. WE ONLY GLUE THE CROSS MEMBERS TO THE Ts AND Ys. WE DO NOT GLUE THE Ts TO THE LONG FIBERGLASS RODS. Remember, we’ll need to adjust the location of the cross members for various reasons. I use Cyanoacrylate (Super Glue is one brand) and let it wick into the joints.

Then, I cut the mesh to form a reflector and carefully cut holes to allow the reflector to fit on the long fiberglass rods. The SatNOGS instructions call for a grid of approximately 41 cm x 41 cm. But, I made a mistake and my resulting grid will be smaller than desired. In the end, I should be cutting my reflector into a disc, but as it’s already smaller than it should be, I’m leaving it alone until I can analyze the resulting antenna.

With the reflector in place, I glue the cross members that will hold the reflector. And, I wire tie the reflector to the cross members.

Next, I mark the long fiberglass rods to indicate where the wire should cross each long fiberglass rod. With 17.2 cm between the coils, and three long fiberglass rods, you must stagger the marks on each rod by 17.2 cm / 3 = 5.73 cm from its neighbor. Be sure the staggering yields the desired polarization! In my case, I arbitrarily want right hand circular polarization so I ensure the coil circles clockwise as it moves away from the reflector as viewed from the reflector. (DID I GET THIS RIGHT?) I move the middle cross members so they are close to the center of gravity of the antenna and not going to be in the way of the wire and glue it in place. I also move the remaining cross members  at the transmitting end of the antenna to avoid impacting the wire and glue it in place.

Next up, I wind the wire to form the helical, using wire ties to fasten the wire in place each time the wire crosses the fiberglass rod.

I fasten a coax connector to the reflector, ensuring the center conductor doesn’t short to the mesh and solder the end of the wire to the connector.


Finally, I cut the brass sheet to form the triangle that has “legs” of 204 mm x 41 mm. I position the brass sheet, which matches the natural impedance of the antenna to the desired 50 ohm impedance of the feed line and solder the brass triangle to the wire adjacent to the coax connector. My results aren’t pretty, but it seems to work!


I’m pleased with the final results. My soldering of the brass triangle could be a lot prettier and I ended up with a reflector that wasn’t the desired size. Another helical calculator indicates the reflector should be a disc with a minimum diameter of 426.1 mm. Next time, I’ll plan a little better for the reflector.


Is the result useful? Possibly. For frequencies in this band, about 436.5 MHz, and lower, I think a pair of cross Yagis with phasing cables would work as well. But, for higher frequencies in which you want a fair amount of gain, a helical antenna could be perfect.

Raspberry Pi Packet Radio BBS

I have successfully configured a Raspberry Pi packet radio BBS! I’ve been working this project off and on for over a year and seen steady progress. I even gave a few presentations last year to local ham clubs demonstrating AX.25 on the Raspberry Pi.


My forays into AX.25 on the Raspberry Pi began with F6BVP’s web site. Specifically, Bernard’s HOWTO on configuring an FBB BBS on the Raspberry Pi. I had no problem following the instructions and quickly got my BBS up and running. I did, however, have two issues. First, my success criterion for configuring a Raspberry Pi BBS was forwarding a message from one BBS to another. But, after setting up two BBS instances, I could not coax any forwarding between the two instances. Second, and this is perhaps the bigger issue, I didn’t really understand the AX.25, NETROM, ROSE, and FBB configurations.

Linux Amateur Radio AX.25 HOWTO

In an effort to completely understand AX.25 configuration on the Raspberry Pi, I started from a bare installation of Raspbian and built up the complete BBS stack piece by piece. I started with the core AX.25 protocol and ensured I could communicate between two Raspberry Pis. I layered on NETROM, then ROSE, ensuring I understood each configuration parameter and could communicate between two different installations. Then, I added on FBB. At this point I was still missing something. I understoodd all the technologies that underlied FBB, but I didn’t quite understand the configuration of FBB itself.

Then, I came across the Ax25 FPAC NetRom FBB Installation Guide. I don’t remember if I saw this at the 2015 AMSAT Symposium or at the 2015 ARRL and TAPR Digital Communications Conference, but I do remember thinking to myself this might be the final piece of the puzzle. I followed both the “Educational” installation path using my own call sign and the “Quick” installation path using another call sign. While there are slight differences in the results of the two installation paths, both of the installations seemed to work quite well.

Raspberry Pi packet radio BBS

But, I still hadn’t forwarded a message from one BBS to another. There were a few remaining steps and all my previous work understanding the software configuration came in handy. I knew I needed to do just three more things:

  1. Configure each BBS’s call sign as a BBS user on the “peer” BBS, setting the “B” flag for that user to indicate it is a BBS.
  2. Configure the bbs.sys file with the “peer” BBS. Here is a fragment:
    # BBS forward partner list
    # Fichier d'affectation de BBS
    # Do not remove any line
    # Ne pas supprimer de ligne !
    01 KF5IDY
  3. PROPERLY configure the /etc/ax25/fbb/forward.sys contents to identify the “peer” BBS. This turned out to be the secret sauce for me. I just needed to see a reference working configuration and could then devise my own. Here is the relevant portion. In particular, note the use of the alias “IDYBBS” in the C (for connect) line. And notice, the fully defined location path in the H line.
    *                          *
    A KF5IDY
       P D
       C C IDYBBS
       B KF5IDY
       F KF5IDY

Your Turn

My journey took longer than I expected and it took longer than it should. However, it turns out that configuring  a Raspberry Pi packet radio BBS is really quite easy. At least it seems easy when you look back on what finally works.