My supply of OLPC XO-1 laptops has really dried up. I currently have two – the one that has faithfully been running my iGate for the past 3 years and a backup just in case.
Over the past 9 months, I built 15 iGates using that design. eBay was a good provider
I still get requests for iGates. Given the laptop was the only "used" item, I started looking for a solution that was 100% off-the-shelf new parts. The Raspberry Pi was the logical choice.
After months of experimenting with combining a Raspberry Pi with and SDR (software defined radio), I concluded the design worked but required strong, nearly perfect radio transmissions. Since APRS is predominantly transmitter in motion, the signals are rarely perfect and seldom strong. Eventually, I caved to the realization that – while I could build such an iGate – it would not perform.
I went back to the drawing board and took my tried and tested iGate design. The laptop has four useful components built it – a computer, a screen, a keyboard, and wireless. While I could add all of those to a Raspberry Pi, it didn’t work from a cost stand point. With some basic computer skills, a "terminal" connection using SSH from a regular computer can access the Raspberry Pi to do the minimal configuration needed. That eliminated the need for a screen and keyboard. The network option of a wired connection vs a wireless connection was nearly 50:50 with the people who wanted and iGate – thus I consider it an option rather than a required part.
In the end, I was able to create an iGate using a Raspberry Pi that has the same software architecture of the XO-1 Laptop. I used Debian as the base linux operating system. I Used Soundmodem which turns a sound card into a TNC. I used APRX for the iGate software. I used a low cost handheld HAM radio to receive the transmission.
Here is a list of all the components which can be sourced from Amazon.com. If you had nothing lying around and you had to purchase everything, the cost is 47+5+4+5+4+30 = $95. Included in these prices is the antenna adapter for the radio. I included it because nearly everyone who asked for an iGate needed that adapter. FYI – The pictured system has an beefier radio (+$9) and WiFi (+$9).
I have an image of the final SD card. After I run it for a week as my primary iGate, I will de-personalize it, compress it, and try to post it to this blog.
Six months ago I offered to help some people setup iGates (internet gateways for APRS traffic). I quickly realized that what I needed to do was offer complete pre-built systems which were a close to “plug-in and go” as possible.
I’ve shipped out twelve systems (and have two still available). I could build more but there does not appear to be enough interest to invest in inventory.
Here are some interesting statistics …
- 3 iGates have never been turned on
- 4 iGates were shipped in the last 15 days
- 5 iGates have relayed a total of 80,000 messages in the past 28 days (2 of the iGates account for 50,000 of those messages)
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.