IO91 -> EN51…NW6 1UE -> 60137…51N -> 41N…2001:8b0:da4::/48 -> 2601:249:902:50a1::/64 (completing the circuit)

There and Back Again, a hobbit’s tale by Bilbo Baggins and The Lord of the Rings by Frodo Baggins. You finally finished it.” – Sam

“Not quite. There’s room for a little more.” – Frodo

Completing the circuit

We just moved back this year from London to Chicago.  We don’t actually live in Chicago – we’ve settled in a house in Glen Ellyn, a western suburb of Chicago.

It’s now more than 8 years ago that I flew to Shanghai on this crazy adventure around the world.  Apparently I told people I’d be back after just two years.  Here I am so many years later, married, and baby CJ is over a year old!

Well traveled

I never thought I’d be tired of flying…but half a million miles of flying later, I don’t mind staying put from time to time.

While based in:

I think it should go without saying that the Great Circle Mapper has been a good friend of mine along the way. I should really get in touch with the author and show my strange maps.

Our journey while in the UK

We moved in 2015 from Shanghai to London.  That was an adventure.  We moved into a little house in southeast London in a village called Ladywell and lived there for two years before moving to the opposite side of London to West Hampstead for another two years.

I’ll remember it as the place where we had the smallest garden patch I’ll ever call “home” in my life, with our cute little shed for bicycles to live and little grill that we had to give up when we moved again.

We settled into that house pretty quick, hanging photos just about everywhere:

The two places were very different to live in.  London is an incredibly diverse city where you can easily get lost in exploring the culture of a specific area and then go to the next village over and find it a completely different place.  There’s a funny little north-south divide (“You live south of the river? We don’t go there.”) to London that I can’t help but think is just due to what I’m going to call the Beck effect; the effect that London tube maps have on the psyche of the people living there. The Thames river is shown to help aide in navigation, but perhaps a side effect is that the Thames forms a mental barrier for transit users.  It could also have something to do with the fact that many of the overground rail stations like Waterloo, Canon Street and Liverpool Street are terminal stations for huge long networks extending hundreds of miles to the north and the south, almost like the Thames river is some insurmountable depth of water to cross.

We traveled a lot within the UK: Bath, Stonehenge, Cambridge a few times, Bletchley which I can highly recommend, the South Downs, Norfolk, Dublin, Edinburgh, Loch Lomond, Liverpool, Monmouth to visit our friends Joan & Jeremy, the Isle of Wight (so easy to get to on national rail). My map of the UK is dotted with stars all over the place. Yet there’s a lot of space between those stars. Much more left to see.

For being an “old’ city London sure is well lit:

What I’ll miss

I miss the rolling, manicured patchwork fields that are distinctive of the UK. Granted, I only saw these while on a plane coming & going, or while reading the NPAS Redhill twitter feed trying to figure out why there’s a helicopter over my house, but nonetheless, I miss it.

Grocery stores in the UK are smaller than in the US, but the food quality is better – particularly the variety, quality and value of ready-to-eat meals. A godsend for young parents.

Tax is included. In the UK (and China to boot) tax was included in the list price for any item.  £2 for a box of Cadbury chocolates cost you – wait for it – £2 out of your pocket.  In the US it’s annoying listed as $2.49 and will cost you precisely $2.7698235 but don’t worry we’ll round it to the nearest lincoln and charge you a rounding fee as well.

Roundabouts.  Seriously USA, just use them.

Trains & Buses

Living where we did in the UK, a car would have been a frivolous expense. We took public transit everywhere.  If it wasn’t one train it was two; if it wasn’t two trains it was a bus and a train. If it was raining and we got the timing just right, we’d catch a cheeky bus ride up the street from our high street station to our flat which is only three stops away. It was just so damn easy. The Chicagoland transit system pales in comparison.

What I won’t miss

Narrow roads. Cycling in London scared me more than cycling in Shanghai, because the roads are narrow, bumpy, and have hard curbs which leave you no where to go when the lane inevitably ends 2.3 seconds after it just began. I didn’t cycle much in London while I was there, despite it being one of my main desires when I moved there.

2011 to 2019 – what’s different?

So many things. 8 years is a long time.

Politics continue to get better every year.  *facepalm*

Google’s now blocked in China among a whole host of things, creating the largest fragmentation the Internet has ever seen. But few of us “see” it.

We crossed 512k routes in the Internet BGP table and we survived to tell the tale.

SpaceX “took off” and even brought rockets back down to earth.

HTTPS is everywhere. IPv6 is getting real.

Smart phones are commonplace.

What’s the same?

XKCD – going strong.  Teaching us stuffHelping us figure out how to use the Internet. Keeping us nerds honest.

What’ll never be the same

Language. My view on language has changed. The English language is shit and requires constant interpretation unless you know the speaker rather enough. Chinese is a whole other complicated beast, but I can’t help but think just how much harder human existence with an imprecise language such as English being so essential.

Units of measure. I talk in centimeters and meters and it weirds people out. Unfortunately the legendary Luban Ruler was confiscated by airport security so most of my tape measures are in inches, and Menards does just about everything in inches anyway.

Food. The world is full of a wild variety of food; enough variety that you’ll never be bored of trying new things if you get out a bit. A friend of mine once told me that Indian curries are so flavourful that he “forgot” to eat meat for several months at a time instead preferring vegetarian curries. Another friend told me that food without spice cannot be enjoyed; I didn’t get what he meant at the time, but now I understand.

Picked up along the way

I learned about ham radio, as a result of developing an obsession with high-altitude ballooning.  I ended up getting my “Advanced” license in the UK, which is the highest qualification of license you can get. So far I haven’t found a route for me to get a corresponding US license for free, so I’m probably going to have to take the exams here all over again. C’est la vie.

Celsius. I learned to talk weather temperatures in Celsius.  It wasn’t hard really, you just have to try.  I switched my locale on my mobile phone to show me things in Celsius.  I wish more apps showed both because unfortunately I now live back in a place where Fahrenheit is the norm and Celsius is treated like communism.

Eddie Izzard. We saw Eddie so many times, I think four times in London. We saw him this summer while he was in Chicago too.  He’s still keeping us laughing, but also trying to tell some real stories about his life and maybe change a few things in politics too.

Andrews & Arnold ISP. I can’t say enough other than that they might just be the best damn small ISP in the world. Is your ISP on IRC available to answer you questions? Do they give you bandwidth and latency graphs for your connection to help you diagnose usage of your line? Do they promise to never censor you? So far, A&A is the only ISP I’ve ever met with this level of service. Simply impeccable.

So what about all those numbers in the title?

If you know me, you know I like numbers.

IO91 -> EN51: IARU locators, which are used in amateur radio to divide the world’s land up into evenly-sized panels.

NW6 1UE -> 60137… postcodes

51N -> 41N: GPS latitudes

2001:8b0:da4::/48 -> 2601:249:902:50a1::/64: yup, my IPv6 block that I had with AAISP in London, and my IPv6 block from Xfinity. Nerd.

Adjusting back to life in the USA?

I get asked this a lot. In short, it’s weird, on a daily basis. I think I’ll be settled by 2021.

As a form of protest, I continue to drive on the left.  Maybe it’ll catch on.

Posted in Uncategorized | Leave a comment

HAB flight 3: two payloads, some success, and more failure

This post is a bit late given the launch was two months ago, but hey, I’ve been busy. We had a baby last year, and I’m moving to the US this month.

Launch day, site, people

We launched on Sunday February 24th from Steve Randall’s site in Elsworth, UK.  Steve (obviously) came out to meet us, and supplied the balloon and helium (and in the end the parachute too).

Helping me out on launch day was Marcus Daniels (driver) and Noel Vasquez (comedy).


  1. Trusty old tracker “EAGLE” through it’s third flight.  Only real modification is that I removed the Canon A810 camera given that it doesn’t produce very good photos, which saves weight (~170g) for other payloads. 315 grams. RTTY signal at 50 baud 8-N-2.
  2. New tracker named “hatTrick” given it’s my third flight. It’s a Pi Zero build of Dave Akerman’s “DIY Lightweight Pi Tracker” built pretty much to the letter but with my own cheap case made of an old ice cream styrofoam box. I used 3xAA batteries with no voltage regulator. 94 grams with the box! Not bad. LoRa mode 1 signal w/ SSDV.
  3. “hiadsb” – a revisit of my last flight’s “see how far away I can receive ADS-B signals” experiment. I used a different battery pack this time, and added a cantenna ground plane to the el-cheapo nooelec ADS-B antenna. 179 grams.
  4. Steve Randall’s X2 tracker + a GSM backup tracker which he wanted to try.

Balloon & such:

  • Balloon: 1200G of a new brand that Steve wanted to try (I didn’t get the name.)
  • Parachute: 36″ PML Durachute
  • Neck lift: 2.4kg

See my weight tracking sheet for reference if you’re curious how I plan for this leading up to a launch.

Launch planning challenges

February in SE England isn’t a great time to launch.  Winds shift regularly and often blow quite strongly sending any payload into the sea. At one point a few days leading up to the launch, we were convinced the launch would have to be postponed given the following options for a Saturday or Sunday launch:

hourly predictor on 2019-02-18

My original idea was to use an 800g balloon for a slightly shorter launch staying a bit further inland.  However the night before the launch the predictions shifted again, and put a 800g balloon landing exactly on Runway 22 of Stansted airport.  Bad idea!  If we launched a bit earlier, instead of Stansted we’d land in Braintree. Bad idea again. 12 hours later (a mere 4 hours before launch), the predictions shifted yet again and gave us an opening. Steve suggested to use a big balloon (1200g) to keep the payload afloat a lot longer and put it down south of Colchester.


The chase was fun because as you can see from the photos, it was a beautiful day. We watched the balloon ascend to a few thousand meters.

At some point we lost track of the balloon visually. Why?  Because we didn’t look at our prediction nor the azimuth on the tracker UI.  At 3800m the balloon hit a different layer of atmosphere and did an abrupt U-turn:

I sat in the passenger seat and gave directions to Marcus, whilst also tracking my balloon on both LoRa (using a Pi via network cable with a LoRa radio on it) and RTTY (via a SDR in my laptop). Tracking both simultaneously wasn’t as hard as I’d thought, but I did have trouble keeping two antennas mounted on the roof. In the end I just used one antenna and switched back and forth between the two trackers but I had plenty of listeners. Sadly I hadn’t announced Steve’s X2 tracker so not many people knew to tune in.

I also plugged a USB GPS receiver into my laptop to provide dl-fldigi with a GPS location source so I could show my position on the tracker website in real-time as I received data. This worked well until the GPS receiver died. It’s since been declared dead. It was a cheap enclosure of a uBlox 7 chip.


New altitude record for me: 34,000 meters!  We were aiming for 32km.  Every meter up we went was another meter closer to a wet landing, so when we started to rise above 32km I started to sweat more.  But we hit a nice high altitude and stayed dry.  PHEW.


Lucky me. We landed 20m from a road, in a field, plain sight.  Double lucky, I think the payload train missed a tree near the landing site probably by a few meters.

Good thing, because not only did I have one tracker failure on landing, but two!

Steve drove faster than we did and was waiting for us at the landing site.

We landed about 3500m from the water.

What worked & what didn’t

Success: SSDV

I can’t take any tech credit for this as it’s all Dave and the PITS software which runs on it. But it worked and sent back some great photos which was fun for family to watch as the flight went on.

Double-fail: Battery packs on landing

I’ve read over and over about people soldering batteries, which sounded like over-engineering. Until this time!

Epic fail: hiadsb ADSB experiment

This payload died entirely and presumably in spectacular fashion.  The Pi Zero that it ran on is dead – fried. The SD card is fried too – nothing will read it anymore. My suspicion? The cheap battery pack that I flew (which I’ve never tried frozen) must have a bad voltage regulator in it and it fried the Pi. Unfortunately this led to zero data coming back. Sad.

Fail: BME280 sensor on EAGLE

It failed on the last flight, why would I expect it to work this time without me fixing it?

Other things I learned

  • Payload prep is something I should do more of at home. Have the payloads with good fresh batteries ready to go, and have a way to quickly seal them up to launch quicker. We arrived at the launch site around 10:20 and didn’t launch until about 11:45 which, on a day where the winds were against us, meant a very different landing site.
  • Bring lunch. Stopping for lunch wastes valuable time. One day I’d like to see a payload land, but you’ve gotta drive efficiently to get there.
  • Mag mount antennas need testing at high speeds.
  • PITS low resolution photos on the ground mean low resolution photos on disk. Which means you get crap resolution photos of liftoff. While this is good for SSDV not great for post analysis. I might look into fixing this or next time send full size photos on the ground.
  • PITS only takes photos by default once per minute. I never thought much of this, but it’s not very often.

Photos & video

OK, here’s what you came here for:

Post launch battery rundown

After bringing the payloads home and making copies of the data, I put the used batteries back in and ran each of the trackers to exhaustion to get an idea of how much battery life was left in them.  They were powered on for about 4 hours, and each had plenty left to spare: EAGLE 16 hours, hatTrick 10 hours.

Radio listener analysis

Finally I win! All I had to do was track my own balloon.

Further analysis

Still need to figure out what happened with the BME280 sensor. That’s weird.

I would like to spend more time analyzing the ascent and descent velocities, especially somehow visualizing them vs. altitude.

I don’t know how to get a link to the telemetry data on now that the launch is a bit old. It’s like my data has been archived even though this was a “live” flight.

My photos from EAGLE have the wrong telemetry data on them. Looking at it now two months later, I think I’ve substituted data from my launch in May 2018! That would explain it. Unfortunately I’m tired and don’t have easy access to my HAB data archives at the moment, so this’ll have to wait for another day/month/never.

What’s next?

  • Fix some things
  • Maybe a first US launch when I arrive back there?
  • Maybe another similar launch in the UK in June when I visit
Posted in Uncategorized | Leave a comment

HAB flight 2 “EAGLE”

Why the name Eagle?  Good question.  I’ll explain in a bit.

You know it’s good luck when the day before the launch, you get this comic sent to you by your mom:

What’s new with this flight?

This flight is the second launch of basically the same payload as my first flight, however with some modifications:

  • INA219 voltage meter reading the Pi’s input voltage and current.  (I wanted to monitor the battery voltage before the regulator, but I didn’t get time to wire it up)
  • Replaced UBEC voltage regulator with a LM2577 regulator which is a boost-buck combination regulator, rated to boost voltages as low as 4V.
  • 6 AA batteries instead of 4.  Why?  In some of my tests, the voltage regulator was really unreliable when input voltage was around the output voltage (5V).  It worked more reliably in tests when the input was much higher.  6 batteries yielded plenty.
  • Lots of code changes – highlights:
    • Read the sensors every second and write to disk (even though we only TX every ~20 seconds since it’s 50 baud slow)
    • Keep the UART output buffer low so that the transmitted message is not 2 minutes old (a problem on the last flight where BUZZ appeared to be always 2km ahead of SAM on the map)
  • Pi camera attached to the payload side rather than the top, to compare it against the Canon A810.  Spoiler alert – the Pi pictures are much better.
  • Hwoyee HY-750 balloon instead of a HY-500 (to go higher and carry more weight)

Launch Crew

Chase car driver: Barry Tucker
Pretending to know it all: Patrick van Staveren (me)
Backup radio operator: Marcus Daniels
Moral support: Ray Pasko

Launch Site

Steve Randall hosted the launch in Elsworth which is just outside Cambridge.  During the same weekend the Big EARS rocketry event was going on from the same site, so we had to keep a bit of distance from the rocket launch pads.  There were some huge rockets being launched – with bodies at least 20cm in diameter and taller than me – some of which had engines that made us catch our breath.  Lots of fun to watch!

Big thanks to Steve!  Double thanks for loaning me his HL1 tracker to use as a backup tracker.  Good news is that I didn’t need it – but given my fun with voltage regulators…yeah.  Good idea.

The weather was absolutely perfect – blue skies as far as we could see and mid-20 (celsius) temps.


Voltage regulator tests prior to launch

Back in April I bought a 10kg box of dry ice to test out some voltage regulator options.

I tested three voltage regulators:

  • UBEC regulator from last flight
  • LM2577 adjustable boost-buck regulator, rated for 4V up
  • XL6009 adjustable boost-buck regulator, rated for 3V up

What I learned:

  • Dry ice is fun
  • Energizer L91 batteries at low load seem to increase in voltage as the temperature drops down below 0 until about -30C.  It’s only colder than that that the output voltage started to drop from the battery pack.
  • The UBEC regulator itself decreases output voltage as it’s temperature drops.  You can see a profile here.
  • A Raspberry Pi doesn’t like 17 volts.  Don’t do it.
  • The XL6009 regulator seemed great at low temperatures and input voltages as low as 4V, however it had a fluke around -30C where the output voltage would spike from 5V to 7V!  Oddly enough the Pi and all the on-board electronics handled it fine…but I didn’t feel comfortable flying it.
  • The LM2577 was OK with a sufficient input voltage, but not great when the input voltage was low.   I tested with 6x AA’s and it was solid.
  • Making arbitrary data (in this case, digitemp readings) available for prometheis node-exporter is very easy.

By the end, I had both my tracker wired up as well as a second Pi with digital temperature sensors on it and it all logging to Prometheus so I could draw nice graphs in GrafanaBut it was a wiring mess (fun!)


You can watch a video of the launch!  Thanks Marcus!

We flew from Elsworth up to March.  Flight track on Google Maps.

The flight path this time (compared to February) was rather short – only a 30-40 minute drive.  The actual path across land was about 32km which is really not far.  If only there were such roads…

The balloon burst earlier than predicted.  The estimated burst was 30,600m and the actual max altitude was about 27,700m.

I had great radio reception on the ground, which is good, because I left my SMA to MCX RF adapter at home, meaning that I couldn’t plug my yagi antenna into my best SDR radio.  Good news was that one of my cheap mag mount antennas seems to get good signal quality with 70cm waves (which is surprising given it’s length of about 147mm – a bit short for this frequency, I think? What do I know about radio!)


We lagged around a while at the launch site talking to Steve, and had lunch at a pub in Elsworth, so we were late to chase.  Next time I’m going to pack sandwiches for the drive.

The payload landed at March Golf Club.  I can’t recommend it any higher as a landing site!  One of my fears in getting started with HAB was having to knock on random people’s doors and explain why I want on their private property to retrieve my mysterious electronics equipment.  Andrew at the March Golf Club happily showed me to the payload which he had previously moved off a fairway so that it wasn’t in the way.  It doesn’t get any easier than this for recovery.

Secondary Experiment: ADS-B receiver

A few months ago I had an idea.  As I’ve been running an ADS-B tracker at home sending data to Flightaware, Opensky Network, ADSB Exchange, and Flightradar24, it’s helped me learn a bit about radio waves.  Realizing the limitations of where I live and the fact that I can’t mount a giant mast on the top of my flat to get better reception, I wondered, how far away can I receive ADS-B signals from a HAB payload?  Surely at 10km up you’ll get amazing reception, right?  I wanted to try that.

However I didn’t get until the night before this flight to actually build the receiver for it.  Since I didn’t trust it to not interfere with the code I was running on the main tracker, I set up an independent Pi computer, independent power source, and a mini SDR to receive ADS-B data.  I threw it together in about 90 minutes – so I hadn’t tested it much.  But it was worth a shot and we flew it.

It worked – however there were a few glitches.  I’m using dump1090-mutability to track planes, but you have to log it somewhere, right?  So I used this hack to log data.  Where does it log data by default?  /tmp.  What does a modern Linux OS do with /tmp on boot these days?  Erase it.  Yep, I wrote the data into /tmp, and when the tracker computer hit the ground, it rebooted (as did EAGLE) and it overwrote the data.  But – there’s always a catch!  Unlinking a file on a modern filesystem means the data is probably left there, right?  scalpel to the rescue!  I managed to recover about 95% of the data, only losing about 15 minutes of flight time.

In the end, the results aren’t amazing.  I think part of the problem is that didn’t seem to log everything – don’t ask me why.  According to the CSV that was written, I captured 297 ADS-B positions from 18 distinct aircraft.  Meh.  I get that many positions every single second from my home station.

I think the script didn’t log everything.  Looking at dump1090’s hourly stats output shows that in one hourly band during the HAB flight it tracked 200 distinct aircraft.  I just didn’t get that much logged to disk.

But it does mean I can make this cool map:

Next time need to set up better data logging, actually retain the data, and also deal with time synchronization.  In the mean time I might give the payload a ground test just to see how it performs compared to my regular ADS-B station.

The Unexpected

What didn’t go as planned?

Burst altitude: 27,700m, lower than expected

The calculated (read: estimate!) burst altitude for this configuration was about 30,600m.  Here’s what numbers we used:

Did we overfill it?

Well, the helium cylinder is a N10 which contains 2.6 cubic meters of helium, so we couldn’t have put much more in than the calculated 2.482 above?

The balloon was a bit heavier than last time (750 grams, vs 500 last time) however the balloon didn’t have a uniform burst like last time.

I think the balloon just wasn’t perfect, and it split at just one spot rather than shredding like what clearly happened with the last one.  Opinions in the launch group were divided (was it extra UV rays because it was a sunny day?) but my thought is that when I first pulled the balloon out of the bag, I did so with a sweaty hand.  Maybe that weakened the latex?  Who knows.

bme280 sensor for temperature, pressure and humidity

This sensor yielded some fun data from the last flight, because it’s measuring something that my brother-in-law Erik Tollerud pointed out is something we can model with some rather simple formulas.  Unfortunately the sensor didn’t work for this flight.

Some time within 30 minutes after power on, before the payload even took flight, the sensor readings in my code started yielding constant data every read.  The actual sensor is on an I2C bus, and is read once per second.  I can’t figure out why, but the sensor started returning the same data every time.  Further testing required.

Flight Data

This flight I recorded high resolution sensor data every second, in addition to transmitting back to the ground on RTTY every ~20 seconds.  Unfortunately less fun since the bme280 data is broken, but it’s still fun to analyze.

Have a look at the sheets yourself including some great charts.  Times are in UTC just to confuse you (the photos below are in BST).  In particular interest:

Velocity vs. Internal (LM75) Temperature:

Temperature vs. Voltage

(this is output of the voltage regulator, so shows how it performs at negative crazy C!)

Interesting one that I’m still messing with is this graph of ascent velocity. It’s hard because the GPS isn’t perfectly consistent, so you have to smooth the data out.  Looking at this you might conclude that we overfilled the balloon as the ascent velocity appears more towards 6m/s when we shot for 5m/s, however the ascent velocity decreases…and then increases later?  I expect it to increase slightly as the atmosphere thins and the balloon has less mass to move through…but I didn’t expect it to decrease for the first half of the ascent.  Anyone understand why?


We got some great shots.  Very interestingly, I think the Pi camera is taking better photos than the Canon A810.  I suppose I shouldn’t be surprised.

It was such a beautiful day that you could see the ground clearly.  Bonus points for spotting the bit of shredded balloon in the photo.

We even snapped a few photos of March where we landed.

You can check out the full photo roll, including launch site photos, videos, and all the photos from the launch (about 700 of them.)

Ideas for next time

  • ADS-B receiver: so many tests to do.  Test the ADS-B tracker and see if the antenna I have on it gets decent quality on the ground?  Try another method other than
  • Time synchronization to the Pi host would really help log analysis.
    • Perhaps for a non-connected device like the ADS-B tracker, it could just connect via wifi (to my mobile) while on the ground to get an initial time sync? From that I could even SSH in and check data reception before launching…
  • Need to get the tracker logging data in a more friendly format for post processing.
  • Don’t fly the Canon A810 camera any more, it’s a waste of weight.
  • Bring gloves.


Well what was fun.  Conclusion: lets do it again.  Sometime soon.

So why name it EAGLE?

When we were kids, my Mom named her van “Eagle”, because she liked birds.  That van became one of the first vehicles I drove when I was learning to drive.  But the best bit is – when the van would arrive home, and when my balloon landed, I had the excuse to say “The Eagle has landed.”

Posted in Uncategorized | 2 Comments

First high-altitude balloon flight: lots learned

What is High Altitude Ballooning (HAB)?

Build a computer with a GPS receiver and a radio transmitter, attach it to a big balloon full of helium, and let go.  It rises up into the atmosphere, and as the air gets thinner, the balloon expands and eventually bursts.  The computer is continuously sending radio signals down to tell you it’s GPS position.  You then drive to the estimated landing area and find the computer.  Why?  Put a sensor on board, such as a camera, and you can see what Earth looks like at an altitude well above what you’ll ever see out an airplane window.

The UKHAS website has more information:

How I got here

I’ve been preparing and building my first tracker since coming home from the UKHAS conference in 2016.  It has taken me a while to build it – I ordered the radio transmitter and RTL-SDR receiver in the fall of 2016, built and sent my first RTTY packets and learned what it means to “bit bang” a signal. I prototyped on an Arduino but quickly moved to a Raspberry Pi since I’m a Linux nerd.  I tracked a handful of balloons in 2017, and in the fall started to get serious and actually drew a “design” :)  In November, I decided I was ready.  I wasn’t, but I started looking at launch sites and asking the UKHAS community for help with my first launch – the community really is quite active and willing to help – a happy distinction from some of the IT communities that I frequent in my day job.  IRC is always busy.

Launch date bingo

After deciding my tracker was ready in November and Dave Akerman kindly agreed to host me for a launch at his site in Ross-on-Wye.  Sorting out a launch date takes time.  Weather is the top challenge: you need to have decent ground weather (e.g. not too windy, lots of precipitation makes it miserable and can also make chasing & retrieving challenging, I hear.)  You then need to think about the ever-changing weather up in the atmosphere – these winds, combined with the trajectory of the balloon up & down, give you a predicted landing spot.  We use the CUSF landing predictor to run simulations.  On top of this, you have to have approval from the CAA for the launch site, and a NOTAM issued so that air traffic control and pilots know you’ll be in their airspace.  Dave has prior approval for the launch site, so only needs to deal with the NOTAM which needs to be issued a few days in advance.

You also need to hire (“rent” in the US) a cylinder of helium, which you can keep for 3 months.  I hired mine mid-December from

Dave and I traded emails throughout November but we were both travelling.  We penciled in a date in December, but had to scratch it for weather (and I was ill enough that I’m glad we didn’t launch, hindsight.)  We picked a date in January and had to scratch for weather again – wind was going to blow the balloon almost down to Gatwick airport.

We settled on February 11th with a launch prediction landing near Banbury.  Dave filed the NOTAM; you can see active NOTAMs on various unofficial sites like  Here’s mine:


Payload specs & balloon

Balloon: Hwoyee HY-500
Parachute: Spherachute 24″
Payload box & line purchased from Random Solutions.  Dave on launch day decided that my line wasn’t strong enough for a windy day and used some of his – something I need to ask him about / what specs he looks at with payload train lines.


  • Raspberry Pi Nano W (the original was a plan Nano, but I fried it.)
  • Pi Camera v2, pointing up towards the balloon
  • uBlox MAX-M8Q from Uputronics, lines soldered in
  • Micro USB to TTL serial converter for GPS I/O
  • Radiometrix MTX2 dangling with soldered leads, TX pin to Pi UART, EN pin to a GPIO
  • UBEC DC 5V power regulator**
  • 4x AA Energizer L91 Lithium batteries
  • BME280 temperature / pressure / humidity sensor, outside the box
  • LM75 temperature sensor, inside the box
  • Canon A810 point-and-shoot camera running CHDK and a slightly modified version of the script here which takes a photo every 10 seconds.  I bought the A810 on Ebay for £13 as it had a broken screen which is perfect for this job, as I turn the LCD off anyway.

Total weight: 550 grams, including the parachute and line.  Dave’s BUZZ tracker added a whopping 37 grams.

I wrote my own tracker software.  I could probably use the PITS software with little  modifications, but I wanted to learn it.  I’ve published my software, BSD licensed, on GitHub as “radio flyer”.  It’s written in Python 3 and might be useful to someone else, if nothing else, it’s interesting.  Please borrow / fork / ask questions.

** UBEC: I’m pretty sure I shouldn’t be using this :) It’s meant for LiPo batteries…and might have been part of the failure during descent.

Launch day weather: uncooperative winds turn into another experiment

Leading up to it the prediction looked OK, but on Saturday it became apparent that the ground winds were dangerous.  Consistent winds of 15+mph and gusts of 30’s.  I’d already rented a car for the day for Sarah and I to drive out there, so I figured we’d make the drive out anyway, even if we had to scrub the launch.

We sat in Dave’s house drinking tea and getting to know each other a bit.  The wind didn’t let up, however we started to float around a crazy idea.  The launch field is on a hill, and the hill slopes down westward.  At the bottom of the hill is a line of trees.  Wind in itself isn’t a huge problem, indeed as the launch photos will show, it’s even more windy the further up you go – however wind on the ground is trouble.  The balloon needs to clear obstacles on the ground; namely, the power lines going over Dave’s house at the east end of the field.  The trees blocked the wind for the first 15 meters or so of altitude, so we could prep the balloon there, wait for a brief gap in the wind, and let it go.  We did some quick mental math to make sure the balloon’s ascent velocity would carry it high enough quickly enough to clear the power lines – and indeed we turned out to be right.

Not that it wasn’t nerve wracking, but we went ahead with it!


img_1605 img_1585 img_6437


Up, up and away!  It cleared the power lines just fine, as we’d estimated.  The wind was worrying at times – I wouldn’t recommend a windy launch.  There were a few gusts where the balloon carried to the side and without enough clearance it might be easy to puncture the balloon.

Chase drive

Something I never expected to work: I put my home-made yagi antenna in the back seat of the car, horizontal to the ground, and sat in the front passenger’s seat with my laptop + SDR receiver.  Since the balloon was above us at a decent angle for much of the chase drive, I was able to receive radio signal.  I had decent reception throughout the flight all the way to maximum altitude.  I’m getting a better feel for radio waves, I guess.  I thought a directional antenna like a yagi would almost “filter out” this sort of radio…


I had estimated the burst to be around 29km when shooting for a 5m/s ascent.  Due to the high winds, we added extra helium to shoot for a 6m/s ascent rate – which would bring the burst altitude down, I figured to more like 28km.  The balloon went further – the max altitude I recorded on the SD card was 31005m.  Crazy!  The upwards-facing photos around the time of burst show the balloon to appear shiny which is quite cool.

img_6895 Zoom in on the right-hand side photo and you can see shredded bits of the balloon.

Descent velocity

Something I hadn’t spent enough time thinking about – is that the atmosphere at the time of burst is so thin that the parachute does very little and the payload descends quite quickly.  Telemetry data confirms it for this and every other flight.  Looking at the GPS data on the SD card which is recorded at 1Hz, the maximum descent velocity is 53.9m/s which is 120mph!

During the descent, the payload gets quite cold, and sure enough, my tracker died.

Landing & recovery

We made good time driving despite a few navigational errors – I was spending too much time looking at telemetry data and not enough on the road ahead.  Dave parked at a spot near Lower Compton and we watched the telemetry data on habhub, as well as read the incoming signal on his handheld receiver.  We made such good time that we were parked about 2km away from the landing spot, at Butler Hill Farm, while the balloon was at ~1.5km altitude.  We tried but didn’t manage to catch visual of the payload descending.

Recovery was straightforward.  The GPS marker showed the payload about 500m north of a small muddy drive (which turned out to be a private drive), in the middle of several fields.  As we drove we were able to spot the payload rather easily.




SAM tracker failure & analysis

The worst part about me having radio reception in the car was realizing the moment when my tracker failed.  Suddenly the beautiful two yellow bars of RTTY signal in dl-fldigi fell silent.  Other receivers on IRC confirmed that the radio signal had fallen silent.  Not even a single tone which would indicate that the tracker software had crashed – the transmitter fell entirely silent for the rest of the flight.  Thank goodness for BUZZ, else it would be nearly impossible to find the payload.  The last transmission received from SAM was sentence 553, showing 15318m.  However as astute trackers may have noticed at the time, SAM has a large output buffer on it’s radio transmitter – on the SD card, I had two more sensor readings; a further 50 seconds of data.

My initial impression looking at photos from the Canon A810 camera were that the payload went through a cloud of snow/ice on it’s way down.  If the payload was moving quickly, maybe a lot of moisture went inside the box, causing a short?  However later correlation of photo times shows that this cloud was at 2km altitude, much later than when the tracker failed.

Looking at the temperature data on the descent, as expected, the payload got very cold.

Temperature readings at burst: external -20C, internal -18C
Temperature readings at tracker failure: external -44C, internal -30C

The views at the time of tracker failure:


I really wish I’d had a voltage sensor on-board.  I suspect that the 4x AA batteries at this temperature put out just low enough a voltage to cause the Pi to hang.   In testing I found that the Pi would crash when voltage was down around 4.5V, which isn’t much of a margin when the theoretical voltage from the battery pack is 6V (stepped down to 5V by the UBEC regulator.)  It could also be that the UBEC is unsteady with lower input voltages; Steve Randall mentioned that the UBEC I’m using is meant for higher input voltages than what I’m using in the first place.

Followup before the next flight:

Habitat reporting position in Bermuda?

One other oddity which I need to test out again is what to do when I’m transmitting sentences where the GPS has no fix.  I had a special case in my tracker code which sent a sentence like this:


I didn’t include any latitude/longitude in the sentence, thinking there’s no point in sending zeroes. But perhaps habitat interprets this in a weird way when there is no latitude/longitude interpreted at all?  Needs more testing.

Unfortunately now a week after my flight, even though habitat has my data stored, I can’t find the data on the tracker mobile site anymore.  Let me know if you can find it.

Telemetry & Sensor Data

I’ve done up a bunch of charts of sensor data in Google Sheets.

Here’s a photo of showing BUZZ’s flight path:




Other than the extensive list of todo items I keep adding to this week, only question remains: when’s the next launch?  :)

Posted in Uncategorized | Tagged , , , | Leave a comment

My first radio contact from a high altitude balloon

I’ve been watching – with awe – the number of high altitude balloon (HAB) launches there are here in the UK, and thinking about building my own and sending it up.  Last month I went up to Cambridge for the annual UKHAS Conference which was really interesting. Not only are people launching balloons to great heights above 30 kilometers, but there are also solar-powered trackers on “floater” balloons which rise to a certain altitude and circumnavigate the earth many times (see UBSEDS18 for an example).

I want to build one, but figured the first step was tracking.  I picked up a cheap SDR module, and set off building a yagi antenna.  I finished it back in August, but after the conference, I was determined to find a launch in the UK that I could try and track.

I finally got my chance on September 24th with a balloon launched in Wiltshire called “Stabilotron-II”.  The launch was a slow ascent of 1 meter / second which is slower than a lot of flights, so I had plenty of time to set up.  It worked!


This is the first clean data sentence I received.  At 50 bits / second.  Over radio waves.  Pretty cool!

Here you can see my homemade yagi mounted on a camera tripod, sticking out the skylight window of my top floor bathroom.  I tracked the balloon with varying success from the midlands over Norwich and across the sea until it was over land in the Netherlands.  The quality of my antenna & receiver setup isn’t that great – during the flight I had to make a lot of adjustments (including moving my laptop away from the antenna – makes a big difference!).  My last recorded contact was at a range of about 300km somewhere over/past Rotterdam – which is pretty amazing!  After that, I could receive some data, but only in patches; not enough to get clean tracking data back.

From the HAB tracking server statistics, I received 221 “sentences” which isn’t much compared to most of the other receivers, but not bad for only £30 in parts.

For software, I used:

  • dl-fldigi v3.1 on OSX
  • HDSDR bundle for OSX which includes rtl_tcp (my USB SDR is a RTL2832 + R820T2)
  • Soundflower for audio routing from HDSDR to dl-fldigi

I’m fussing with a raspberry pi to build a dedicated tracking machine for future flights which I’ll surely get done one of these days.

The experienced trackers are clearly a lot better at this – but hey, I parsed 221 messages, which ain’t bad for a first go :)

Next step: actually assembling my own HAB payload and launching it!

Posted in Uncategorized | Tagged , | 1 Comment

Iceland – Aurora Borealis

These photos are best viewed while listening to Island Songs (Ólafur Arnalds).

Last night we saw a spectacular show of the aurora borealis.  There aren’t any words to quite describe it.  We saw the first glimpses around 9 PM (Iceland time) while the sky was still lit from dusk, and at first I thought my eyes were playing tricks (pun intended) on me.  The show started slowly and faintly at first but didn’t waste any time.  It was quite brilliant for the first few hours and generally came in ribbons which spanned maybe 20 degrees of the sky.  The show only let up lightly – there was always a faint haze in the sky from it.  Later past midnight the show was less intense but more spread throughout the sky.  I stayed up until everyone had gone to sleep and around 2:30 AM I noticed my lens was fogging up – the temp had dropped to a cool 3°C, the camera was cold all over and I couldn’t keep the water from condensing for more than a minute at a time.  I called it a night around 3 AM.

Normally I try to pick out a favorite shot, but in my roll of 200+ shots, there’s really about 50 truly amazing photos in there.

One of the best aurora photos is this one:

My favorite shot of a rather large bunch of really truly amazing shots is a 10-minute exposure star trail + blurred aurora:

For the photos: Sit down, put on the song Particles, and browse the full image set.

I also took a few series of timed shots which I then animated and put on YouTube:

Many thanks go to the Aurora Service website, to Jake Ruston for his Aurora app, and to the Icelandic Met Office for their satellite imagery as Weather Underground’s syndicated satellite feed doesn’t go this far north.

For the photography nerds
out there…read on.

Photos taken on my Canon T5i (700D) w/ EF-S 18-55mm f/3.5-5.6 ISM lens between 10 PM on August 31st, 2016.  Most shots are fully zoomed out at 18mm, f/3.5, with exposure lengths from 4″ to 10″ and ISO set to auto varying all the way from 160 for longer 30″ exposures to ISO 3200 for some of the shorter shots.  I can’t decide which shots look better, the 30″ ISO 200 shots or the 6″ ISO 3200 shots that have so much detail but a bit of grain in them.
Photo stitching is done with mencoder and then uploaded to youtube as a 4k video.
Photo series are timed and exposure controlled with a TriggerTrap.
Since I’m traveling and using a small suit case, I only had my GorillaPod tripod with me.  A lot of shots show a small amount of false “star trail” which is artificial – it’s the camera moving slightly and slowly during the longer exposures.

All in all shooting this with my camera wasn’t really that hard.  Just put the camera on shutter priority mode, set it to a few seconds, and set it to a 2-second delay before taking the shot so you can let go of the camera before the shutter opens.  Hardest part was getting the focus right.  The only way I could get it right was to find one of the pesky neighbor houses a few miles away with a bright lamp on their porch, zoom and focus on it, and then zoom back out making sure I leave it on manual focus. Then just never touch it.  I wish the camera/lens had a firm way to zoom to infinity, but the lens lets you zoom beyond infinity which produces reliably blurry images.

To really shoot this…a full frame camera wouldn’t hurt at all.  A fixed wide angle lens would be perfect for this, and a more sturdy tripod.  I’ll probably buy a wide angle lens for just-in-case someday I find myself here again :)

Finally, for Sarah:


Posted in Uncategorized | Tagged , , , , | 3 Comments

Iceland – Day 1

We’re staying in Iceland for the next week – in a somewhat rural area north of Selfoss, right about here:

We couldn’t appreciate the landscape’s beauty last night having arrived at midnight.  However the stars were incredible.  Fans of Heavens Above would love it – sattelites with a magnitude of positive 2 and 3 were plenty easily visible.  I snapped a few long exposure photos which turned out to be not focused very well but are already pretty incredible.

Then today (Monday) I took this time lapse at 5s/frame for about 1h20m.  That’s the view out our front window.  Pretty amazing:


Finally for all you sunset lovers, get your drinks. The sunset here was just stunning.  Enjoy.  (click through!)

Posted in Uncategorized | Tagged , , | 1 Comment

Four years in Shanghai – without a doubt the coolest thing I’ve ever done. 再见上海!

I still have the one-way ticket from Chicago when I came here: June 2nd, 2011.  The week leading up to my move here was madness, and arriving here was comical.  The airline had lost my biggest suitcase, the one with all my clothes in it.  They don’t sell clothes my size here in Shanghai, at least not on the rack.  I wore the same clothes for three days!

Here I sit, four years on.  It’s been a wild ride living in Shanghai and it’s come time to turn the page again.  My wife and I are moving to London tomorrow where I’ll be continuing my same role with Mintel.

I’ve learned a lot in my time in China.  Not just about China, too – I’ve travelled around Asia so much and visited countries and cities that previously I couldn’t point out on a map.  It’s hard to remember what life was like back before I came here – I think I knew so little about the world then.  Seriously, did you know that the Vietnamese call it “The American War”?  I’d just never thought about it that way, to be honest.

To give you an idea where I’ve been, here’s my travel map for the last four years using showing the 400,000 miles I’ve flown since my first trip to Shanghai in March 2011:

Traveling around is nice, but there’s a lifetime’s worth of things you could explore just here in Shanghai.  Lets start with…


Below are Xiaolongbao pictured at Mintel-favorite Small Dragon restaurant:

My favorite cuisine though is the local Sichuan food.  When I first moved here I couldn’t eat anything spicy, and I’m living proof that spiciness in food is a learned thing.  My favorite dish is called laziji 辣子鸡 which is bits of bony fried chicken buried in a sea of chili peppers.  It’s the dish in baskets on left and right sides of this photo.  The soup in the middle is even spicier and also delicious, which is fish (with tiny bones!) in a steaming cauldron of spicy chili hot soup.

The chilies themselves are sold dry:

There’s also spicy barbeque fish!

Finally you can’t forget Portuguese egg tarts 蛋挞 (“dan ta” – easy to pronounce) available at lots of street corner shops.  The sweetest ones are from Lillian’s Bakery but different shops have a different style and they’re all good.  I hate to say it, but KFC’s are pretty good too.  Egg tarts are best eaten with a cold pearl milk tea 珍珠奶茶 (one of the first phrases I learned).  You can get a couple of egg tarts and a milk tea for an afternoon pick me up for about 10 RMB ($1.60).  Mmm…sugar…

Ok, enough about food (for now).  There’s some stuff here you just won’t see in America.

“Styrofoam Lady”

Every single day there are hundreds of people on three-wheel pedal carts riding around Shanghai picking up and hauling materials around – a lot of which is refuse being recycled somewhere else.  Every single day this same woman pictured below rides down Madang Road on my commute route with a giant load of styrofoam.  Sometimes so much tied and stacked up that you can barely find her beneath it all, like this day:

There are 24 million people in Shanghai, many of which I have seen every day, but will never meet.

My biggest surprise: I can read Chinese

Ok, not really, I know probably know about 20 of the 8,000 characters needed to be able to “read” Chinese.  But when I moved here, I thought Chinese was just madness scribbles on paper that I’d never be able to understand, so I focused on trying to listen and speak.  Strangely enough four years on, my spoken Chinese is terrible, but I recognize actually quite a few of the base characters in Chinese writing – I recognize more written symbols than I can understand when listening to people speak.

Cycling to work

Cycling on the roads here is fun if you like to live dangerously.  For the past four years I’ve been riding to/from work about 4 days out of each week, first from my apartments in Jing’An and later from my apartment in Huangpu district racing up Madang road to the office.  Tallying it up: four years, a few hundred miles a year, and just one accident – with a pedestrian.  I’ve gone through two full sets of front brake pads and snapped brake cables.  And an absolutely – almost daily incrementing – count of near misses with buses, pedestrians, motor bikes, taxis, did I mention buses?, electric bikes, and idiot taxi drivers doing 11 point U-turns.

Chinglish translations

I might have to publish a book of these someday, so here’s a taste of some of the amazing signs I’ve captured photos of:


The hardest part leaving Shanghai is the people I’ve met.  Sure you meet a lot of people when you travel, but some people stick with you, and before you know it you’re up at 2 AM with them, drinking something called “shaquila” and making cookie dough.  Jake & Sha, Mike and Sarah, Mark and Jessie, you’ve made the last few years really special.  Dale, too bad you had to leave so soon.  Co-workers Andrew, Louis, Yanchen, Frank, Daniel, Xiang and Susan, thank you for all the late nights at work and times at lunch.  Sarah Luo, our real estate agent who we later found out had never made a sale until she met us, has been an amazing help.  I hope our paths all cross again.

Who am I kidding, I can’t sum up four years in one document.  I’ll be telling these stories the rest of my life.

Posted in Uncategorized | Tagged , , , , , , | 1 Comment

Net Neutrality

I’m an Internet nerd. I’ve been using the Internet since early days, on a dialup modem TUI to our local BBS, and later on MichNet which was made availably by our K-12 school in Adrian. I’ve grown up a bit since then, going to university studying computer programming, working on free software projects, and now working at Mintel for the past 8 years, recently moving into our IT Infrastructure team being the chief decision maker on what ISPs we use and how much of it we buy.

In short, I’m an Internet nerd. I really care about the Internet “tubes” I’m using. I have spent too many hours in the past few years at work, slaving away, comparing traceroutes and packet loss on Mintel’s mesh of network links to find the most optimal routes. The net neutrality thing matters to me as a network engineer.

As a computer enthusiast in my time, living in China, let me tell you what: in China, there is no net neutrality. Google, Facebook, Twitter, are blocked – not even just a few IPs, but all traffic to their ASNs on ports 80 and 443 are 100% blocked, and many of their DNS records rewritten. Once in 2013 I found that was blocked in China – who knows why. SourceForge was blocked for a while, too. The BBC was blocked this month. Users complain that these sites are blocked, and sure that’s annoying. But the businesses out there who compete for market share of users to sustain their business – which Facebook would sure love to do in China – are boxed out of the market without even being asked. Sina Weibo, Tencent, RenRen, and the dozen other attempts at big time social media in China would have had stiff competition if we had net neutrality in China. We do not.

This week I stumbled across The Oatmeal’s explanation of Net Neutrality, and it was simple enough that I liked it. The video eluded to an Orwellian reason why websites might end up being entirely blocked in a place where the Internet is a frequently used tool in a modern, consumer-driven civilized economy where millions of happy people use the Internet. You can’t imagine the government ever blocking websites in the USA – it would never happen, right?

A laptop with blocked, with blocked looking quite dreadful, and saying

I live this crap ever day.
This is what it’s like in China. This is what it’s like in many countries around the world.

I was happy today to see this highlight from President Obama on the subject, calling for the FCC to make a firm commitment to net neutrality. I’m not big on partisan politics and I could care less what the latest debate is on the subject. In short, Net Neutrality is good, the general public agrees, and we should have it.

Being the USA where so many of the building blocks of the Internet were dreamt and built, we have a responsibility to the rest of the world to get this right and lead with example. Lets get it right, my fellow Americans.

Update May 2018

It’s been a long few years since I’ve written this article, and I’ve had a fair few emails from people over the years asking about it. Unfortunately we now stand atop a slippery slope in the US having repealed Net Neutrality rules in late 2017.

One journalist agrees where this can lead.

Posted in Uncategorized | Tagged , , , , | 1 Comment

VyOS Users Meeting Japan

Today I did something cool: I attended the VyOS Users Meeting Japan #2 in Tokyo.

I clearly was not prepared for this meetup – my laptop has no stickers on the back of it.  I think every presenter’s laptop looked like this:

Consensus is: we need some VyOS stickers!

We had presentations from six VyOS users & hackers. I was the only presenter in English and I know about six words of Japanese, so a lot of it was lost on me, but it was fun still. I particularly enjoyed the presentation by Kazuhito Ohkawa (SatchanP) about VyOS at Kauli, Inc. – he’s clearly incredibly smart, and an enthusiastic presenter. I also enjoyed the presentation by Ryo Nakamura (upa) about VXLAN – especially his slide about RIP Vyatta.

Yuya Kusakabe (higebu), the organizer, gave us a good introduction to VyOS 1.1.0.  There were two more presentations which I had to miss – I had to leave the event early to catch my train out of Tokyo.

I gave a short presentation and demonstration of the build-ami scripts I’ve been working on, and a painfully long demonstration.  During my demonstration I mentioned how the Japanese Vyatta / VyOS community is the strongest in the world, to the point where when years ago I read about how to make Vyatta EC2 machines, I found myself referencing a developer named j3tm0t0 who I had never met.  He stood up – he was there in the room!

I showed everyone the Google Trends heat map which shows that Japan is the hot spot for Vyatta & VyOS users:

Special thanks to Yuya Kusakabe and Nifty Corporation for organizing this group.  The Nifty office is very nice.  Everyone, please buy Yuya a beer, and encourage him to host this user meet up regularly.

Update: due to requests, here’s an English list of the presentations given:

  • 15:00 VyOS 1.1.0 and NIFTY Cloud New Features given by @higebu.  No slides available :(
  • 15:30 VyOS VXLAN given by @upaa.  Slides all in English.
  • 16:00 About vyos/build-ami given by me (@trickv).  Slides (in English).
  • 16:30 Case studies of VyOS in Kauli SSP given by @SatchanP.  Slides all in English except for one.
  • 17:00 Debian Jessie build environment, vyos-cfg-zabbix-agent, bug #345 report given by @hiroysato.  Slides almost all in English.
  • 17:30 NAT performance testing given by @twovs.  Slides in Japanese + English.


Posted in Uncategorized | Tagged , , , , | 5 Comments