I have successfully created an APRS iGate using a Raspberry PI, RTL-SDR, mini WiFi adapter, SD card, and 5v micro-USB power supply.
I used several set of instructions from the internet including Marco Kubon’s blog post, Jason Fitxpatrick’s How-to-Geek wifi article, ReadiesCards thread on mini-httpd, and various debugging techniques that are best found by using Google if and when a problem exists.
The only reason I have the HTTP server integrated into the iGate is to make it easy to check the logs using any web browser, including from my iPhone and iPad. All maintenance is done using SSH. Like I said, “geek skills required”.
The hardware is all commonly available:
FYI: The cheaper and more common R820T based RTL-SDR dongles may work but I started with one of those and had issues. Then I switched to the E4000 tuner and managed to get things working. I did not go back and try to get the R820T based dongle working. Read into that what you want but given how much time I wasted on this project, I have not had the energy or desire to do more experimenting.
The one thing I will conclude with is that I do not yet fully trust this iGate. It seems stable but more than once – while getting the system working – I’d start up the software and it would not receive any messages. I think most of the issues are the lousy test antenna but I won’t know until I drop this in place of my stable 2m-radio based iGate.
An iGate is a simple base station which receives APRS messages over the air and transfer them to the internet. A simple iGate uses a radio receiver, a terminal node controller (converts modulated audio to a data), and a computer. The source data is modulated into audio, transmitted, received, and then demodulated back to data.
All of the iGates I've built have used a traditional radio. This time I tried using a Software Defined Receiver or SDR. These are strange cheap little decides. They are marketed as digital TV receivers but they support an extremely wide frequency range.
It all started with an internet article that described using an SDR with a Raspberry Pi. I don't know what the author was smoking but it doesn't work. (I take it back – read here) It will generate underrun errors. A Google of the error and either SDR or Raspberry Pi and there are lots of reports and no answers. I used my primary computer and SDR Sharp software to verify the dongle and antenna. Then I switched to the XO laptop which has just enough juice to make it all work. The steps are geeky enough but here is the cliff notes edition …
- install the necessary computer tools and libraries
- “git” the source for rtl-sdr
- build and install rtl-sdr
- run rtl_fm and pipe it to aplay to create virtual device
- configure soundmodem to use the virtual sound device
- configure aprx to use soundmodem
Just like using a radio, the SDR needs a good antenna. The antenna that comes with the RTL-SDR is basically worthless.
I’ve been creating low cost "receive only" iGates for other HAM operators. They are all the same – using a first generation OLPC XO-1 and a Baofeng 2m radio. This combination is actually less expensive than using a Raspberry Pi and has the advantage of a display, keyboard, mouse, wireless, battery, sound card, and 3 USB ports.
The solution is pretty simple: DebXO + soundmodem + aprx.
I built my iGate a couple years ago. It’s been running nearly non-stop ever since. The project did not cost me very much because I already had the radio and the laptop.
I don’t know what prompted me to decide to build another one but something got me fired up and I started looking for how to build iGates assuming I had to buy all of the parts. The two magic moments were (1) when I discovered Baofeng radios and (2) when I discovered that a bug in the original OLPC XO-1 firmware caused them to "brick". This latter discovery is because my second XO-1 has succumb to the vulnerability.
Once I learned how to un-brick the XO-1 and that the fix would be permanent, I started hunting for other XO-1′s that had fallen to the same fate. I found a number of them on eBay. (I keep looking for more but the stream is down to a trickle.)
I offered up the iGates to any of my flying buddies who would want one "at cost" and set it up to help fill out the network.
So far, I have built five and hope to be able to build three to five more – if I continue to get lucky tracking down recoverable OLPC XO-1 laptops.
To help those who get one of the XO-1 iGates, I created a video that covers connecting up the iGate, configuration, and diagnostics.
a Baofeng and an OLPC XO-1 cartoon
I built an APRS iGate a few years back using an old Kenwood HT radio and an idle first generation XO-1 laptop.
This month, that ultra low cost iGate fed over 10,000 messages to the internet. It’s been so easy, low maintenance, and stable, I had to figure out if I could do it again – this time to deploy somewhere useful to fill in one of the many holes in the APRS coverage map.
Getting the parts turned out to be easier than I expected. There are a lot of lightly used OLPC laptops on eBay these days. The radio was another story. Then I discovered Baofeng radios. A new one only costs $40-$50. That’s nearly disposable when compared to a new Kenwood radio for $400 or more. A $5 audio cable connects the two and the hardware is done (with the exception of the outdoor antenna, feed coax, and installation).
I started by cloning my original XO-1. I registered to get the developer key for the new machine. After booting the clone, I realized I needed to edit the dhclient.conf since it now had a wlan0 for the original machine and a wlan1 for the new clone – delete the entry for wlan0 and change wlan1 to wlan0 and the wireless worked again.
The only trick to this configuration is that the squelch circuitry on the Baofeng is not the greatest. To making the soundmodem TNC work, set the squelch on the radio to zero so it is constantly making sound – mostly static. The TNC has no problem ignoring it but it does mean the radio uses a tiny bit more electricity. I did adjust the audio level of the mic gain using the uamix tool.
the iGate on an OLPC
I decided to check the little laptop computer which runs the APRS iGate software. It’s been running for 190 days, totally ignored. The only reason it has not been running longer is because 190 days ago, there was an extended power failure and the computer had to shut down.
The iGate has been running for 18 months now and I think it has been shut down only twice – both for power failures. That’s pretty good. It’s 0.9996 up time!
You can read about the setup in this old post.
A web forum member asked about “racetracks in the sky” – referring to flight tracks that are depicted in three dimensions. I've had APRS in my airplane since the very first flight.
I answered the forum question but then decided to create a little video to demonstrate how I get those rolercoaster pictures.
Here is why I consider an iPhone to be a more of a computer than a phone.
I fired up DisplayRecorder on the iPhone to record a demonstration video. I started by opening Mobile Safari on the iPhone. I then visited mail2600.com which processes and maintains aircraft APRS data. I showed a map view of a flight. I then clicked on the “Google Earth” link and the website downloaded a KML file. Safari automatically offered to launch the mobile Google Earth app. I then did a little navigating – pan, zoom, and rotate. Finally, I stopped the recording.
I had DisplayRecorder save the video to my camera roll. I then launched Mobile iMovie where I cut out a few mistakes I had made, added some captions and a few fade effects. I had a 1 minute and 15 second video.
Next, I launched Mobile GarageBand, picked a tempo and then did some quick math to determine how many bars of 4/4 music I needed to make 1 minute an 15 seconds. I grabbed a couple loops of Latin rhythm and sequenced an electric keyboard track. I finished by having GarageBand transfer the new music back to iMovie.
iMovie combined the music and the edited video and exported it directly to Vimeo. Vimeo transcoded it and sent me a notification.
I launched Mobile Vimeo and grabbed the web markup from its “share” feature.
I finished by launching WordPress for iOS, pasted in the Vimeo markup and authored this blog post.
At no time did I turn my office computers on. They entire process was complete on my iPhone.