Ballooning with Android
A few weeks ago some old friends came visit me from the Netherlands. Since we didn’t just want to sit around drinking beer and reminiscing about our salad days, we decided to undertake a Project. It was great fun. It also taught me that Dropbox is the new Unix pipe. The glue that holds your digital hobby project together.
Years before, we tied a camera to a tethered balloon and took some movies from 10m height. It was a lot of fun, but it always felt a bit silly to constrain the balloons. But cameras in the day were expensive and the risk of not finding it back without an expensive GPS unit was high.
Fast forward to today. Now you can buy a computer with an attached camera, a built-in GPS unit and the capability to transmit data from about anywhere on the planet, in the form of a cheap Android phone. You can set it up to automatically take pictures, send them back to your laptop while flying and report back its location by SMS (which tends to work when data doesn’t).
While originally we had thought to write an app to take pictures, record the location and height and upload everything to somewhere, this quickly turned out to be overly optimistic. So instead we settled on using whatever apps we could find on the Play Store and mash them together.
Before our first flight we considered how high balloons would go. A quick Google search tells us that there is no limit; that is balloons go up and expand until they burst. So in order to make sure our balloons wouldn’t go too far on our first attempt we somehow optimistically made a small hole in them.
That probably wasn’t needed. The balloons and cell phone went up for about two minutes after which they started descending again. We got about a dozen pictures, the last one tellingly of a piece of pavement, and a nice stream of coordinates, but then the little machine went dark.
The last coordinates were only 5 blocks away, but the balloons could not be found there. We looked around for a bit, but it just wasn’t there. So we called the phone. The friendly finders answered and returned the phone.
For the second run we decided to go without the camera; it eats a lot of battery and it was getting dark. Furthermore these balloons lose their helium relatively quickly, so we couldn’t wait. Instead we only kept a simple program running that would send a text message every minute with the latest coordinates and height of the phone. Also we decided not to make a hole in the balloon.
It did better this time around. We could closely follow its progress from a bar by copying the coordinates from the SMS into Google Maps. The height measurements were a bit erratic and we felt like NASA every time after a period of radio silence we received another sign of life. After about 2 hours it no longer moved and had flown about 30km over the state boundary into the Brandenburg forests that surround Berlin.
The next morning we set out to retrieve the phone and against expectations found it exactly at the spot where the SMS’s said it would be. And better still: it wasn’t high up in a tree but nicely on the ground. We let the balloons fly and kept the phone for a next experiment sometime in the future.
As announced in the first paragraph, we used Dropbox to glue everything together. The free storage on a new account is more than enough for a project like this and it works well over an unstable data connection on a phone hanging from a balloon.
We used Tine Time-lapse to take pictures. Unfortunately it doesn’t come out of the box with Dropbox support, but Dropbosync (Dropbox Autosync) does. You need the pro-version though to get it to auto upload constantly. Initially we used GPS Logger for Android to keep track of where the balloon was. It does integrate with Dropbox.
When we switched to SMS as a transport for coordinates, we still kept using Dropbox. We ran SMS Backup Restore on the SMS receiving phone, which has an option to sync to Dropbox. By running a small python script on a laptop that was synced to the same Dropbox folder we could then easily convert the stream of incoming SMS’s into a Google Earth KML file, which let us plot the balloon’s progress.
All in all, Dropbox lets you treat the huge collection of apps in the Play Store available for free or small fee as building blocks, especially if you throw in a little bit of programming in the mix.