APRSDroid on Raspberry Pi 3 — yeah, not under Raspian.

So last night I was fiddling about and my Raspberry Pi 3, which has been sitting on the desk unused for awhile, caught my eye.  And I started thinking, hmm, what to do with the Pi.  And then I started thinking, I wonder if I could run Android on it.

Sure enough.

So then I started thinking, “OK, can I run APRSDroid on that?”

And the answer is, yes:

And it works, too:

I have to get dressed, gear up, and head out to WD9BSA shortly, so I’ll post how I did it later.  However, the trickiest part is figuring out how to start it (Android Things doesn’t act like a phone, so you don’t get icons on the main display).  Basically you have to do a

pm dump org.aprsdroid.app

and then you find that the android.intent.action.MAIN is mapped to the activity “.APRSdroid”, so that’s what you want to start it with:

rpi3:/ $ am start -n org.aprsdroid.app/.APRSdroid
Starting: Intent { cmp=org.aprsdroid.app/.APRSdroid }

See here for more complete instructions on how to install an APK under Android Things.

I thought I saw something somewhere about how to make an app start when you boot, but I can’t find it right now.  Again, later.


Yeah, this is a great idea…except that I need to figure out how to force audio away from the HDMI port and to the headphone port, so I can hook the stupid thing up to a radio and use AFSK.  Apparently when you have the HDMI cable hooked up, the OS forces audio to HDMI, and there seems to be no simple way to fix that.  Perhaps the addition of the RPi “official” touchscreen will work around that; I don’t know yet.

Anyway, if you don’t mind using TCP to send your packets, this setup makes a nice static position beacon, without going through the effort to make a TNC out of the RPi — which, from what I’ve read, is a daunting task.

I may correspond with the APRSdroid author and see if he’s interested in tweaking the program a bit to make it more Android Things friendly — although it doesn’t seem like it could be much more friendly; it works, after all, it just doesn’t work the way I want it to, and that’s not his fault.  And it’s early days for me with Android Thing anyway; I never heard of it before yesterday so I guess I have a bit of research to do 🙂


The official RPi touchscreen solves the HDMI audio problem.  I have successfully connected the RPi to my Baofeng BF-F8HP.

Last position: 2017-06-13 17:05:12 EDT (3m24s ago)
2017-06-13 17:05:12 EDT local time at Meridian Hills, United States [?]
Device: Open Source: APRSdroid (app, Android)
Last path: KC9YTJ-5>APDR13 via W9ICE-10,WIDE1*,qAR,W9SMJ-1 (good)

Two problems:

  1. The touchscreen (or the PI itself; not sure which) is VERY SENSITIVE to RF, at least at 144.390MHz.  The screen goes kinda nuts when the Baofeng transmits.  Admittedly I’m using high power, so I could cut that back for testing.
  2. I’m seeing the radio receive inbound packets, but they are not showing up in APRSdroid.

Problem one is simple enough, use a remote antenna or shield the Pi and display better.  Although even on low power, man, the screen is not happy.

Problem two is going to take some thought, as I don’t think there’s anything preventing APRSdroid from receiving the packets from the radio, unless maybe I need to enable a driver for the microphone or something.  I may simply try a USB audio dongle.  However, I’m looking at the verbose log and it’s clear the packets are being received; they’re just not being displayed.  So that may be related to why the touch screen suddenly stopped accepting touch input after the first transmission, and I’m using the physical mouse now 🙂

So I’ve turned VOX off on the radio so it doesn’t transmit, and now I’m just trying to see if the thing will receive and display packets.

Aha — the 3.5mm jack on the Pi is audio output only.  Well, $#!7.  Now I know what to do about that problem.