Stefan's Radio Blog

Setting up a RaspberryPi as APRS iGate running on APRX

For a while I am using now a Raspberry PI running as APRS iGate based on the APRX software. I have APRX configured as APRS receive-only iGate: APRS packets received by a VHF radio are send over the Internet to the APRS server farm. I use the MicroModem with KISS protocol as TNC. One could also configure APRX to run as RX/TX iGate or as APRS Repeater.

Getting started

The Raspberry PI boots from a SD card that holds the operating system. Installing the operating system on the SD card is described on several websites. The easy way is to buy a SD card with a pre-installed Wheezzy/Raspbian OS. I have done all configurations over the network from my Windows notebook. So I did not use a keyboard and screen attached to the Raspberry PI. The Raspberry PI and Notebook are attached to my Internet Router that is providing a TCP/IP address to both of them via the DHCP protocol. In my case the Raspberry got the IP I could see the assigned IP addresses on the DHCP information screen provided by my Internet router.

Now it is possible to connect from the laptop over TCP/IP. I always use the ping command for verifying the TCP/IP connectivity:

If this works then we can access the Raspberry PI via SSH. I am using MobaXTerm as SSH client on laptop but other clients like PUTTY also work fine. For the first logon use Raspberry's default credentials ( User: pi, Password: raspberry ). When we are logged in, we are ready for the next step.

Basic configuration

For the initial setup the latest version of the raspi-config package shall be used. I had also some problems with the wolfram-engine. So it might be a good idea to remove the wolfram engine since we will not use it for the IGate and update the software afterwards:

  • sudo apt-get remove wolfram-engine
  • sudo apt-get update
  • sudo apt-get upgrade

These steps take a while. When finished we can perform the basic configuration by running the command

  • sudo raspi-config
with the following selections:

  1. Expand file system to use the complete SD card
  2. Set a new password.
  3. Set the correct time zone in internationalization options
  4. Disable SPI, I2C and Serial console in advanced options
SSH needs to stay enabled. We reboot the Raspberry PI and login again using our SSH client.

Installing APRX

The APRX software package can be downloaded from here. We need a Debian package for the Raspberry PI, so we take the latest aprx*.armhf.deb file and install it using the Debian package manager:

  • sudo wget
  • sudo dpkg -i aprx_2.08.580-1_armhf.deb

Now we have installed all required software including the operating system. The only thing left to do is the iGate configuration.

Configuring APRX

The APRX software is configured by the file /etc/aprx.conf. The configuration is well described in the APRX documentation. Here is my configuration file as example for a RX-only iGate, the actual passcode has been replaced by stars:

mycall  HB9TWS-10
myloc lat 4719.76N lon 00816.32E

   passcode           ********
   heartbeat-timeout  1m

   pidfile            /var/run/
   rflog              /var/log/aprx/aprx-rf.log
   aprxlog            /var/log/aprx/aprx.log
   erlangfile         /var/run/aprx.state

   serial-device /dev/ttyAMA0  9600 8n1    KISS
   tx-ok        true

   beaconmode   aprsis
   cycle-size   15m
   beacon       symbol "I&" $myloc comment "Rx-only iGate in Buettikon AG"
We can use Nano for editiing the APRX configuration file:

  • sudo nano /etc/aprx.conf

The TNC is connected to the Tx and Rx pins on the GPIO connector. I am using the MicroAPRS TNC, so I have to set the communication parameters to 9600 Baud, 8 data bits, 1 stop bit, no parity and the KISS protocol. It is important to remember that the Raspberry PI uses 3.3 Volt logic - higher voltages on the Tx and Rx pin can fry the CPU. So one might need some voltage level shifter.

Comments (1) -

  • Mark

    1/1/2015 9:56:01 PM |

    Hi Stefan!
    That's a really nice guide! I have a spare Raspberry Pi lying around, and have been intending to make it into an iGate for a while with a MicroAPRS modem, and this guide is just brilliant! Thanks a lot for sharing!

Comments are closed