Rpi based packet radio setup ‘in a box’

Somewhere around 2012 I built some sort of proof of concept to see if it was possible to run a full Linux AX.25 stack with NETROM support and some node + BBS software on a Raspberry Pi. After messing around a bit with that setup it went in a closet for a couple of years. Lost interest (and time) a bit…

In late 2018 I regained interest in CB and packet radio and hooked up this setup again and modded the initial 2012 version of the Rpi setup.

Front side of the (modded) 2012 model running a full Linux AX.25 stack with Direwolf.

The back side has a DIN connector with TAPR TNC2 style pinout. The USB/serial adapter for connecting a TNC was also swapped for a cheap USB soundcard.

After some testing I discovered the Rpi model B was a bit slow to let Direwolf do its job perfectly. Receiving wasn’t an issue, CPU usage seemed to be (relative) OK, but the transmit audio wasn’t always very stable on frequency. It should be 1200/2200hz for 1200bps AFSK but was swinging noticeable by ear. That’s way of frequency then, couldn’t be any better than my previously used hardware TNCs.

Time to build a new setup for my node and BBS. I already started to put a node and BBS on air 24/7 so it had to be better. Ordered myself some components and put together a new one.

Made a slide-bracket to mount an SSD and Raspberry Pi 4.

Made a opto-coupled PTT circuitry and fitted a ground loop isolator to isolate RX and TX audio.

Front side with power, PTT and DCD LED.

Back side with power connector, TAPR TNC2 style radio connector and an ethernet connector.

I’m using this setup for the 24/7 node and BBS operation most of the time. This setup is also provisioned with some KISS ports to connect several old packet radio programs like SP, GP and TSThost from within a DOSbox emulator on several PCs.

Lately I’m also testing / hobbying a lot with several hardware TNCs again instead of Direwolf.

Some more detailed info about my 24/7 node and BBS station can be found here:

Leave a Reply

Your email address will not be published. Required fields are marked *