KJ4AJP-5 Digi/IGate and KJ4AJP-10 Winlink RMS Packet Gateway on Raspberry PIs
(Clicking links will open in a new browser or tab)

As Windows XP heads toward End Of Life in 2014, I was looking at my options to replace the two PCs in the tower shack, one running UI-View for the APRS duties, and another RMS Packet for Winlink. Overstock.com looked like a good alternative, I had bought a refurbished Dell OptiPlex GX520 3.2GHz 160GB Win7 desktop for $165 when my home XP PC running the WX station decided to go belly up. That XP box was an Overstock Dell refurb too, and had given good service for the price paid. But before shelling out $330 for two more Win7s to just sit in the tower shack and run a single application I was willing to comparison shop.

I started reading about the little $35 Raspberry Pi Linux computer boards and how other Hams had them successfully running apps similar to the Windows ones I was using, in particular APRX for a digipeater/IGate and LinuX-RMS-Gateway for a Packet WL2K gateway. I found that John Hansen W2FS at Coastal Chipworks had developed a TNC based on his TNC-X especially for the Pi and rather than doing research about connecting to the PIs COM port on the GPIO header directly or buying two or three different RS232-USB convertors to experiment with and figure out what would work with the TinyTrak4 and KPC3+ currently on the rigs, I figured I'd replace those TNCs with TNC-PI kits.

My biggest concern was that aside from some early VOIP PBX experimentation with the GUI-based AsteriskNOW and Trixbox, and rudimentary shutdown and reboot directions for a couple of servers I have at work, I knew nada about Linux. Once I discovered Brian KK4PDK had a couple of Pis himself and was willing to elmer me through the Linux side of the equation, I decided to take the plunge.

In the end I might have saved $50 over the Overstock refurbs, and if you enjoy building things like I do it's often rare that you end up creating something that actually cost less than something you can just go out and buy. So here's pictures and info on the build. Clicking on a picture will go to a larger view and you'll have to use your "back" button to return to this page.


Since I would be accessing the PIs for updates, etc. using SSH, this is designed to run "headless", without a monitor and keyboard. I wanted everything to fit in a 2U rackmount case, and chose the 17812 BX from Marlin P. Jones. The 1/8" aluminum front panel is drilled for Bivar flexible light pipes for the power and network link off the PI, plus the RX and TX LEDs off the TNC. The sheet metal rear panel is cut for an IEC C13 cord connector for AC power, the 4A main fuse, a 60mm cooling fan, two keystone Cat5e jacks and two 4-pin CBC connectors for mic, speaker, PTT and ground to the MVS radio's Molex SL series keyed 10-pin header that the microphone normally connects to. Here is the pinout of the CBC to Molex connector cables, the CBC to the TNC, plus the cable between the PI and TNC..

My initial thought was to power everything from the Astron 50M the MVS radios use, but the $3.50 eBay 5V buck convertors I was contemplating were given bad reviews in the Raspberry_Pi_4-Ham_RADIO Yahoo Group and there were pros and cons that adding the LC filter from the National Semiconductor spec sheets was of much use. Then the discussion migrated to linear vs. switching power supplies for radio applications. I have two Jetstream switching PSUs on a couple of my MVS builds that work just fine thank you, so with all due respect to those on the pro linear side of the arguement, I chose an FCC approved Condor GECA40AG switching power supply from Mouser Electronics that has +5V @ 3.5A for both PIs and +12V @ 2A for the fan.

The project is 5 sub-assemblys, the two PIs and TNCs mounted on an 8"X10" copper-clad board using #4-40 nylon hardware, and that board and the PSU mounted to the rackmount case with aluminum spacers and #6-32 stainless screws and nuts.

The PI has a 26-pin GPIO header but the TNC-PI only uses 6 of the first 10 pins. Rather than solder in the stacking header supplied with the TNC-PI kit I substituted two 5-contact header pins for the 10 pins needed and used the same keyed Molex SL series housings and crimp socket connectors I had on hand that fit the mic connector of the MVS radios.

Along with a DB9 connector for the radio connections the TNC has the RX and TX audio, PTT and ground available at solder pads on the board. The pads aren't exactly straight in a line but they will fit a 4-contact header, so I'm using an unkeyed Molex SL there (the same crimp connectors fit) to go to the CBC connectors on the rear panel.

The MVS radios use a mic with a built-in preamplifier, and R11 needed to be shorted for the TNC to provide enough TX audio to drive the radio's input. I replaced R11 with two more header pins and made Molex SL jumpers for those.

In another departure from the TNC's normal assembly, rather than use the 5mm LEDs supplied with the kit I used header pins and a 2-contact Molex SL housing wired to a 3mm LED. The 3mm LED is heat-shrinked to a Bivar LC-4.0 light pipe.

I used a piece of 1/8" thick fiberglass sheet under the #4-40 nylon screw near the PI's SMD LED array for a holder for the Bivar LC-2.0 (left side) and LC-4.0 (right side) light pipes over the PWR and LNK LEDs. The fiberglass sits on top of a 1/8" nylon spacer to bring it up over the components underneath. Once the #4 hole was drilled and the fiberglass mounted, I simply booted the PI with the network cable plugged up, turned off the lights in the shop and marked the visable "hot spot" over each LED for drilling with a #44 bit.

The TNCs get their power from the PI via its Micro-USB power jack. I bought a couple of $2 Kindle charging cords from Amazon that have standard USB A connections on the other end and cut them to fit. Although the PIs have self-healing polyfuses on board I put 1A AGC fuses on each so the power could be removed individually if necessary rather than unscrew the power cords from the terminal strip.

After the other pictures were taken, I added heat sinks to the PIs. Although various vendors sell kits for around $10 each, when I bought the PIs from MCM Electronics I also got their #83-13677 (Akust Technology #RS00-0403-AKS) kit for $2.66. Three of the four 15mm heatsinks in the kit took care of both PIs. The kit included 3M self-adhesive double-sided thermal pads.

On his blog, Michael Dornisch has the dimensions for the SoC at 12mm x 12mm, the USB/Ethernet chip at 8.6mm x 8.6mm, and the voltage regulator at 6.5mm x 5.5 mm. Each SoC took one heatsink from the kit, and required cutting a row and column of fins off using a bandsaw, some sanding with a Dremel drum and touch-up with a needle file to get to 12mm square. For the USB and VR chips I quartered a third heatsink, then sanded and filed the four pieces to the aproximate dimensions. The USB heatsink is slightly undersized, but cutting between fins on the third heatsink rather than through a fin on the fourth heatsink was an easier option.

Here's how to save a $40 rack mount case if you get overzealous with the nibbling tool and the hole is too high for the keystone jack's latch...
I started this project March of 2013 with the hope of having it on-line by mid June. By April I was experimenting with APRX v2.06 and had joined its Google Group. I found that APRX wouldn't reverse-gate objects with the full 9 characters of a call + SSID, so my Winlink Gateway object UI-View currently sends out wouldn't work, neither would a m/range filter. APRX wouldn't emulate a KPC3's beacon rate (it would beacon itself and an object locally every 10 minutes, but there was no separate cycle for WIDE2-1 or WIDE2-2 beacons), but UI-View wouldn't either, so no big deal.

The software's author, Matti OH2MQK, acknowledged the 9 character bug and must have thought a global m/range filter a good idea, along with multiple beacon cycles, since all these things were included in v2.07 in April 2013. Or, they were supposed to be included. On testing the beacon cycles worked, but the reverse-gating didn't. The fact was, no reverse-gating worked now.

At the same time, the Winlink Programming Group was moving towards a secure server logon structure, so LinuxRMS needed to be updated. I'd never loaded the application on that PI's SD card, since the new version was to be out before the end of June.

May passed with no updates to either APRX or LinuxRMS. With nothing Amateur Radio to do, I became interested in HSMM-Mesh. I bought six WRT54G routers off eBay and started experimenting with those in my free time. I'd boxed this PI project up and set it on the shelf so I had bench space for that.

June passed with no updates to either APRX or LinuxRMS. I was having fun configuring cameras and a NAS to HSMM-Mesh, which was supposed to be updated to Broadband Hamnet by the end of the second quarter 2013.

On July 4th, LinuxRMS 2.3.0 was anounced, but I didn't bother. APRX was still broke.

On July 31st, I ordered two refurb Win7 Dells from Overstock.com for the Digi/IGate and RMS Packet Gateway

On August 5th the new Broadband Hamnet firmware was announced. I ordered a third RaspPI with a blue plastic case to match the WRT54G routers. I put RasPBX on a SD card so I'd have a phone system on the mesh.

On August 8th a new svn for APRX 2.07 was announced but I never took the PI Project off the shelf to install it or LinuxRMS. Instead, I disconnected the laptop from one of the WRT54Gs to make space on the bench for a monitor, keyboard and the Overstock Dells. I spent a half a day doing Win Updates, then loading RMS Packet Gateway and UI-View. I took the Dells at the tower on August 18th, plugged them up to the existing TNCs and radios and was up and running without incident.

I hope to get to the WRT54Gs and install the new BH firmware when I have the time.