Smaller than a raspberry

by Antony Chazapis

The cheap embedded Linux device craze did not start with the Raspberry Pi. It dates back to the Linksys WRT54G and NSLU2. More than 10 years ago, these two devices cost less than $100, ran Linux, and were supported by a large community of users. They were perfect for hundreds of applications – and it turns out that they still are.

TP-Link TL-MR3020

Until a few weeks ago, I thought that everyone was using a Raspberry Pi for generic embedded applications nowadays, when I stumbled upon the PirateBox project. Of course they are supporting the Raspberry Pi as well, but one of their main platforms is the TP-Link TL-MR3020 (and its sibling, the TL-MR3040). This modern-day incarnation of the WRT54G is smaller and cheaper than the Raspberry Pi. For about 35 € you get Ethernet and wireless interfaces, a USB port, an enclosure, a power supply, and enough RAM to run OpenWrt. Even better? The computer store across the street had one available in stock.

I got it without thinking too much. I had to connect the OpenTracker USB to the USB port and run some APRS application on it. Running an IGate seemed a nice idea and I was not the first one to think so. A quick search revealed that KI6PSP, YP0NXX, DK7XE, and PA0ESH have done it already. However, this could be the smallest setup. A handheld radio, the modem, and the router would still make a very small package. As a bonus, the modem could be powered by the USB port of the router (if I had the TL-MR3040 everything could run off batteries).

The OpenTracker USB was recognized by the cdc_acm driver (part of the kmod-usb-acm package), which created a /dev/ttyACM0 device (as mentioned here). Next, I needed Aprx – an IGate designed for embedded devices. There was no “official” package readily available for OpenWrt 15.05, so I made one. You can find it here, and in case you want to create one yourself, here are the necessary files. PA0ESH also has Aprx packages for more OpenWrt versions here. After installation, I connected the modem to my Yaesu FT-60E and configured Aprx to forward all received packets to one of the APRS-IS Tier 2 servers. I sent a beacon from my VX-8GE and it instantly showed up in Success!