CHEAPO5 + MONTY1 Charity Flight


This was a charity flight by Matt Downs to raise money for the Cats Protection League and Essex Air Ambulance. I offered to help out with launching and chasing with Matt and flew a cheapo R3 board as backup. Matt’s tracker worked perfectly and got some great stills from the gopro camera. However cheapo hit a bug at about 12km altitude and started giving incorrect GPS coordinates. The current theory is that the 808 camera I (stupidly) attached to the tracker in an effort to catch the burst, caused interference with the GPS. This caused the GPS to reset, taking it out of flight mode and defaulting back into pedestrian mode. 9430521810_2611f6c2b7_o

We were in the paper!


Filling the 1600g balloon.


Letting it up.


Running with the payload to launch.



Easy recovery! Trailed out along the pavement.


CHEAPO4 foil pico flight – 07/07/2013

After the disappointing signal reports from cheapo3 I decided to investigate the cause of this. The most efficient, fast and cost effective way of doing this was obviously to just build up a new board and launch it. This also gave me a chance to play around with foil balloons which seem far more suited than small latex for this sort of payload.

I made the 1/4 wave antenna using cat5 cable instead of telephone cable this time around and it seemed to make all the difference! Had lots of great signal reports and a fair few trackers. The software had also been updated with some power saving code dropping the current down to 50mA, and a distance from launch site calculation added. The tracker complete with batteries and foam box weighed in at about 40g.


I aimed for a fairly low ascent, but by just measuring this by eye in quite a confined space (my garage) it was probably a little on the overfilled side. I cannot imagine having to fill one of these outdoors!

Instead of using a plastic tube for filling I simply opened the valve using a drinking straw then filled the 36″ qualatex balloon using the filler nozzle on a disposable 50 helium canister.

I filled 2 small latex balloons to use as wind indicators and to test for tree clearance. Just as well as the first one got stuck!


Launch video:

Unfortunately the balloon did not enter a float despite its fairly slow ascent rate. At about 5400m the balloon started to leak gas. This looked like it was leveling off for a float. But then started to descend at about 1.1m/s.

cheapo4 path

As the balloon descended I tried to decide if I should go to recover. My inverter went missing and I doubt my old laptop would have lasted long enough to be worthwhile. I sat there and watched as the balloon crossed the River Thames and bounced along between 100-200m altitude as it rode thermals over the town.

cheapo4 land path

CHEAPO4 bobs

We lost contact with the payload at about 60m altitude over Bexleyheath golf club. Just then Steve (G0TDJ) stepped in to save the day! With his mate Ken at the wheel, they drove down to the golf club to take a look around. After a few minutes with nothing seen, one of the golfers pointed them in the direction of the A2 (eek!). Luckily it seems that the balloon was blown to the side of the road by the traffic and up onto the fence.

Steve caught a passer by just in the nick of time to pass the balloon over the fence to him after convincing him that the payload was NOT in fact a bomb and he did NOT need to call the police! A close shave!

As you can see below the payload had landed directly below the tracked position. I can only presume the balloon floated further on and was blown back down the road, or the wind was directed downwards due to the shape of the trees.


So all in all a successful flight. The new antenna is tried and tested. I have some experience with launching foils. The HC49 RFM22B showed slightly less drift than usual, I will be interested to investigate that one further.

Comparison of RFM22B’s (Standard HABsupplies on top, alibaba board on the bottom)


Thanks again to all those who helped track, and an even bigger thanks to Steve and Ken for going out to recover! CHEAPO5 to follow sooner than you may think 🙂


Cheapo3 flight – 14/06/2013

Last week I launched a test flight of the new cheapo boards to test how they performed against the old ones. Sadly the results were disappointing with a very weak RF output.

We aimed for a low ascent rate (1.2m/s, which we came very close to!) and released it out to sea.
After the balloon had traveled a couple of miles I noticed the signal was much weaker than anticipated, after eventually losing the signal altogether after about 25 miles.
Luckilly G8KNN (Cambridge), jijdaar(NL) and a few others jumped in to save the day, and managed to track the thing all the way up, and most of the way down (to about 5km).

Sadly the payload did not make it into Europe, however I am glad to have had the chance to test the new boards before relying on them for a much more expensive flight.

UPDATE: On the 30th June 2013 I had a phone call from a woman on the island of Borkum (Germany) who said she had found the (badly damaged) payload in the sea!

I would have loved to have seen some photos of the payload, but unfortunately she did no have access to the internet. After spending about 15 days in the north sea I expect the tracker would have been damaged beyond repair, so I said not to worry about sending it back.

You can see in the (badly edited) image below quite how far the payload drifted from its tracked landing location.


I believe the problem was down to the antenna being made from cheap single core telephone cable (which I thought would be extremely similar to cat5, which works well). I will launch another board in the next few weeks with either a cat5 or a coax antenna and see if there is an improvement. In hope to be able to source a small step up regulator board to allow future flights to run from just one lithium AA cell


RFM22B temperature cycling tests

I recently ran a test to investigate why the rfm22b often fails at low temperatures, with some interesting results.

8982032990_0c6a7376f1_c 8980841043_2cab9994ae_h

The radio module was set up in a test chamber and cycled from +20 to -50 degrees Celsius and repeated 5 times. The board was powered and the output frequency monitored and logged using an SDR.


The above results were surprising, as I was expecting the rfm22b to drop out around -40, however it carried on transmitting just fine all the way to -50. However as the temperature rose back out to ambient the module stopped transmitting as the temperature passed about -10. This happened consistently 4 out of the 5 times tested. I believe this is caused by dew forming on the crystal and pulling the frequency way out. You can see the frequency clearly shoot off to the side in this screen capture:



You can see in the graph below how the temperature affected the frequency, and where the module dropped out. I have also put together a time lapse of the SDR output to illustrate the drifting.


Test data spreadsheet: rfm22b_test_data.xlsm



CHEAPO R3 boards

The new CHEAPO boards are here! I have soldered one up and all seems to be working perfectly! Here is a quick write up on the results.


New board compared to old, looks much neater!


Main components of CHEAPO3

IMAG1195 IMAG1197

Weight of CHEAPO3 with and without batteries


Micro SD card installed (2GB seems like overkill for text logging!)


Current consumption of board whilst acquiring GPS fix, writing to SD card and transmitting = 110.9mA. This will drop when the tracker gets a GPS fix and if the SD card is removed for long duration flights. I think I will have a go at optimizing the code and look into the power saving modes of the uBlox NEO-6

I am very happy with these boards and look forward to testing one in the air. Currently planning a possible pico launch on the 14/06/2013 (PM)

uBlox UBX ACK code in Python

In order to use the uBlox chip in a high altitude balloon, it must be set to flight mode to enable its use up to 50,000m altitude.

This mode is set by issuing a UBX command over the serial port, then checking its acknowledgement (ACK) packet response. There are great examples on UKHAS of how to do this on an Arduino, However my Pi payload code is all in Python, a language I am still getting to grips with.

It turns out it was relatively straightforward to translate line by line, also improving my understanding of how the code actually worked instead of just blindly copying/pasting blocks of example code. I encountered a slight problem when checking the ACK response packet from the GPS against a expected response as the expected response was stored as an integer value, and the actual reply was stored as a character!

My code can be found on GitHub


uBlox NEO 6 GPS module USB connection

The NEO-6 is a neat and affordable little GPS positioning chip with a few features which go unused in my other GPS tracker boards. One of these features includes a direct USB connection to the chip, allowing it to be used with a computer.

The circuit is quite simple, consisting of only the ublox chip, a few resistors, and a voltage regulator in order to power the 3.3v chip from the 5v USB line.

My circuit is based around the diagram in the uBlox hardware integration manual (page 12)

ubx usb sch

The PCB design is less than optimal, but this was really just an experiment into the use of USB.

ubx usb brdubx usb brd rendering board done

Result! It works perfectly!

I was not sure at first if it would show up as a USB serial port, or some other kind of input device. However it appears in device manager as a “uBlox 6 GPS Receiver (COM11)” making it nice and easy to program with.

I can also confirm it works out of the box with the Raspberry Pi, accessible via PySerial, making it perfect for the SSDV Pi payload I am also working on (more to follow shortly).




CHEAPO 2 HAB flight

CHEAPO2 – My second balloon launch – Sunday 5th May 2013

After my first launch of NSE we still had another balloon and some helium left over, so we planned for another launch using only one tracker, but a proper canon camera this time.


We went up to Cambridge to meet Steve Randall at the EARS rocket launch site. It was nice to see some of their big rockets going up (despite one landing worryingly close to our balloon whilst filling it).

The wind picked up a little so we decided to reel the balloon back in and try Steve’s “Hail Mary” launch technique. This pretty much consisted of releasing the balloon upwind of the payload, letting it take up the slack, then throwing the payload into the air! As scary as it was to watch it worked very well.


You can just see one of the rockets being collected that landed very close to us in the photo below:



The flight covered about 20 miles as the crow flies and reached and altitude of 24.5km

cheapo2 flight path

Flight path of CHEAPO

The Canon A530 camera worked a treat, although my DIY 4x AA battery holder failed just before launch. I popped just 2 lithium’s in the camera but they still lasted the entire flight!

Here are a few photos:

IMG_1391 IMG_1444 IMG_1477 IMG_1516 IMG_1613 IMG_1732 IMG_1783 IMG_1810 - Copy IMG_1810 IMG_2173 IMG_2176 IMG_2185 IMG_2188 IMG_2220 IMG_2533

The recovery was nice and easy. We sat around near the predicted landing site with a great signal on the 5/8 magmount, switching to the 3 element yagi when it hit the ground.

The signal was extremely faint on the ground as the antenna got squashed flat on impact! After hunting around with the yagi we got one decode and set off on foot after it.



CHEAPO in flight 808 cam video:


Post flight write up:

The 300g mil surplus balloon expired in 2010 so I am happy we got a decent altitude out of it! However the transmission power was once again very poor. It has been suggested this could be down to a problem with the PCB track on the board, or a faulty RFM22B transmitter module. I will turn the output power right up to hopefully achieve 10mw ERP and do a flight soon to send the CHEAPO prototype to its grave in the skies! Proper boards will be ordered from the board house very soon 🙂

cheapo 2 grpah

CHEAPO2 altitude/time graph.

NSE1 High Altitude Balloon Launch

The Launch

The morning started off a little frosty as we packed kit into the car and ran final tests on the payloads. NSE was performing normally but CHEAPO would not parse on Habitat. This was down to incorrect padding of the time (it was being sent at “64500” instead of “064500”). After a hotfix being applied to Habitat (Thanks DanielRichman) we were set up and ready for business.


The payloads were tied together and the balloon filled, before being released.


The balloon then climbed at an average of 4.3m/s to 27500m, before bursting and falling back to earth at an astonishing rate.

NSE alt-time graph

The Recovery

We drove to the landing site near Burwash and looked around as the balloon flew right above our heads on the tracker. I saw the faint shadow of the parachute on the horizon and headed across the town to the opposite side of the Forrest it was expected to land next to. After a few minutes of walking around with the radio we knew we were close. After speaking to one of the locals they let us climb over their fence to retrieve the payload from their field.



Post flight analysis

The balloon burst was predicted to be around 21000m so we were surprised and slightly worried as it carried on climbing all the way to 27000m. This was probably due to the balloon being slightly under filled as our average ascent rate was below target.

Cheapo’s GPS code worked fine. Maintaining a fix of 9 satellites throughout the flight. The only software bug being the padding on the time field, which has now been resolved so should not pose a problem on future flights. Cheapo only had a couple of receivers over its flight, who reported a very poor signal from it. I believe this was due to the radials of the 1/4 wave antenna being bent over the driven element. The next flight will use straws to prevent the radials from sagging or bending out of shape.

NSE’s signal was perfect, with about 20 simultaneous receivers at one point. The antenna reinforcing (straws) paid off and the payload could be heard from a fair distance away on landing. The path on the tracker appeared to jump to 0,0 at one point. Upon analyzing a data export from habitat that evening I found that the payload was having difficulty getting strings from the GPS module on several occasions, reporting back 0 connected satellites and falling back to the last know coordinates. This was most likely down to using Software Serial.

Temperature data was collected using the AtMega168’s internal sensor. The payload got down to -20C on its descent with no problems

tempgraph - Copy

The TK102 tracker we flew as backup did work in the end, however was probably not worth its weight as the firmware on it is horrible and proves very unreliable.

Overall the flight was a success, and I am very happy we managed to recover it okay. We are hoping to fly again with a better camera soon, and also try and fly CHEAPO on its own, either as a floater or with a pico balloon.