APRS on Raspberry Pi with XASTIR

Things have moved on a bit since my last post about packet radio on my Pi – I got buried in complications about recompiling kernels to support AX25 and soundmodem and the like, then got distracted by other shiny things so this took a back seat.

A recent conversation hinted that recent releases of Raspbian Wheezy had AX25 compiled in, so this prompted me to have another go.

But first a quick recap of where we got so far, and taking it one step further with a graphical interface for APRS

Assuming you have a Pi all installed with at least 2012-10-28-wheezy-raspbian, if you want to receive your own packet transmissions via a TNC you need to modify /etc/inittab and /boot/cmdline.txt to allow the Pi access to a serial line converter on ttyAMA0 – detailed in my last post. Reboot your Pi for these changes to take effect and check you are communicating with your TNC using minicom or similar.

If you don’t want to receive local packets via a TNC, or if you have another method of accessing local data (e.g. AX25) you can skip the above step.

XASTIR is a great package which provides a graphical user interface (GUI) to APRS data, and although it’s a bit slow on a Pi it does work. Installing it from a debian package is relatively straightforward:

# update the aptitude package list
sudo apt-get update
# install the xastir package
# hit 'Y' when prompted - it installs lots of dependencies 
# so will take some time
sudo apt-get install xastir
# now start X-windows if you've not already

Once you have xastir installed and X running, you will find xastir listed under ‘other’ – alternatively open up a terminal window and start the program by typing xastir – this throws up warning etc. in the terminal window which can be ignored.

It will take a bit of time to start – the Pi isn’t the quickest processor on the block, but when it settles performance is tolerable.

You will be prompted for your callsign and location etc. – this is fairly self explanatory but the xastir website will be able to help. One thing I will say is that the first thing you’re likely to want is a better map – go Map > Map Chooser, select the four Online/OSM_cloudmade_3.geo maps for Open Streetmap, and deselct the default worldhi.map. It will take a bit of time for the maps to be downloaded but they’re very good.

So let’s get data coming in from our TNC – go to Interface > Interface Control and click ‘Add’. Select ‘Serial TNC’, set /dev/ttyAMA0 as the port, change the baud rate to 9600 and leave the rest as default for now, although you might want to change tnc-startup.sys for one matching your TNC from the list in /usr/share/xastir/config. Click ‘OK’ and hopefully, you’ll be able to select your new interface and start it – ‘DOWN’ will change to ‘UP.

For debugging, View > Incoming Data provides some very useful insight into data flowing to and from the TNC or other interfaces.Finally,

if you want to receive data from the Internet, add an ‘Internet Server’ interface. You’ll need to get a passcode to match your callsign (google APRS passcode’ for clues, and find your most convenient aprs host and port. Again, the ‘Incoming Data’ window can help with debugging.

At this point, consult existing XASTIR resources to refine your configuration. Good luck!

  1. mpechner said:

    Thank you. I had xastir running on another computer. Wanted to get it on raspberry pi.

  2. Neil said:

    Some useful tips, thanks. I found that each cloudmade map took many minutes to download and install, blocking keypresses and incoming aprs data in the process. The first map displayed itself and certainly looked very nice, but after about 8 hours there was no sign of the map downloads stopping. I managed to exit and found 153 map files. Each subsequent startup began the map downloads again. In the end, I trashed all map files and restored the default map. Normal operation resumed and Pi + Xastir is running sweet at about 25-30 % resources. I think the problem was not with the maps, it was that the Pi processed them too slowly.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: