Monthly Archives: October 2017

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.

Battery Analyzer and Battery Charger

A few weeks back I bought a battery analyzer and battery charger. As part of my work with Unmanned Aircraft Systems, aka drones, I wanted a way to measure the health of Lithium-Polymer batteries, charge them to full capacity, and have the ability to leave them at a charge appropriate for storage.

After building a necessary cable, I exercised my new West Mountain CBA IV Computerized Battery Analyzer. I didn’t buy the “Pro” version as I didn’t think the additional calibration was necessary for checking the capacity of LiPo batteries intended for use in UASs. In short, I love it! As shipped, the two 3S 2200mAh batteries I bought were at about 60% capacity. After fully charging the batteries, they were slightly above the rated capacity at about 2400mAh. Drawing 1C (2.2A) of current, you’d expect a fully charged 2200mAh battery to require about an hour to discharge. You’d be right.

It’s really nice to have a way to measure the health of those batteries. The CBA IV software stores the data for later analysis and generates nice charts. I think it will be particularly helpful to estimate the flight time of an aircraft drawing a given amount of power.


In the process of analyzing the batteries, I also had the opportunity to use my new charger, the Hitec Multi Charger X4 Plus AC/DC. After analyzing the batteries as shipped, I charged them to full capacity using “balanced” mode. That took about 75 minutes at 2.2A. After analyzing the batteries again, I put them back on the charger using “storage” mode. That mode uses as most 1A and it took about 2 hours to bring each battery to storage voltage. The charger was pretty intuitive in its use but did require careful reading of the instructions to be sure I was properly hooking up the batteries. This was my first charging experience, after all!