{"id":1927,"date":"2016-03-29T09:13:11","date_gmt":"2016-03-29T09:13:11","guid":{"rendered":"http:\/\/www.daveakerman.com\/?p=1927"},"modified":"2016-03-29T11:19:17","modified_gmt":"2016-03-29T11:19:17","slug":"birthday-balloon","status":"publish","type":"post","link":"http:\/\/www.daveakerman.com\/?p=1927","title":{"rendered":"Birthday Balloon"},"content":{"rendered":"<p>This was my second test flight of my 868MHz LoRa fast SSDV (Slow Scan Digital Video) software, to celebrate my 58th flight and 56th birthday.<\/p>\n<h2>Fixes<\/h2>\n<p>I made some changes to fix some issues with the previous test flight:<\/p>\n<ul>\n<li>Set RTTY baud rate to 300 to prevent RTTY Tx during LoRa Rx period<\/li>\n<li>New MTX2 programming code<\/li>\n<li>Replace the UBX GPS code with NMEA code<\/li>\n<\/ul>\n<p>The RTTY overrun was due to accidentally leaving the tracker at to 50 baud after a brief test. \u00a0The timing had been set using 300 baud RTTY (ensuring that the RTTY sentence had finished before the LoRa uplink slot), so when set to 50 baud the RTTY was still sending when the tracker was trying to listen on the LoRa frequency. \u00a0Although the frequencies are very different, this still slightly deafened the LoRa receiver and meant that only 12 messages were uploaded during that flight.<\/p>\n<p>When the Pi starts\u00a0up, the MTX2 radio transmitter is programmed to the configured frequency, and this process failed under some circumstances (depending on Pi operating system version and PITS version). \u00a0This was resolved and extensively tested.<\/p>\n<p>During the previous flight, the payload went silent for long periods (1 minute or more) a few times, as the new GPS UBX code failed to get an updated time and position. \u00a0I traced this to some very slow responses to UBX requests via I2C, but didn&#8217;t have time to resolve the issue so I reverted to tried and tested NMEA code instead.<\/p>\n<h2>Additions<\/h2>\n<p>I also made some changes to the SSDV code, storing telemetry in the JPEG file comment field, by using the EXIV2 program. \u00a0This information is then available (via EXIV2) to the image processing script which can then overlay the downloaded image with on-screen text and\/or graphics. \u00a0I added such a script using ImageMagick for the rendering.<\/p>\n<h2>Payload<\/h2>\n<p>I re-used the same payload as my previous test flight &#8211; a Pi A+, PITS+, LoRa board with single 868MHz module, Pi camera and 4 (fresh!) AA batteries.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/pbs.twimg.com\/media\/CcELuKXW8AE5llr.jpg\" alt=\"\" width=\"1200\" height=\"900\" \/><\/p>\n<p>The 868MHz antenna was below the payload with a 434MHz stubby antenna above (not an ideal position, but usable, and avoids compromising the 868MHz\u00a0antenna).<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/pbs.twimg.com\/media\/CcELdfJW8AAAMM8.jpg\" alt=\"\" width=\"900\" height=\"1200\" \/><\/p>\n<p>Total weight including 18&#8243; Spherachute and cord is less than 250g. \u00a0Ascent rate was targetted at 4.5m\/s with an expected burst altitude of 31-32km using a 350g Hwoyee balloon filled with hydrogen.<\/p>\n<h2>Flight<\/h2>\n<p>The launch was easy enough, with very little wind (good, as I was alone). \u00a0There was some thick and fairly low cloud cover, and once through that the payload mostly sent some fairly boring images of nothing but blue sky and white cloud. \u00a0After a while though it was high enough to see some better weather and so we started to see some better images:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/pbs.twimg.com\/media\/CeOxL8hW8AA8hiQ.jpg:large\" alt=\"\" width=\"878\" height=\"693\" \/><\/p>\n<p>Note the overlay with telemetry along the bottom (altitude, latitude, longitude and UTC time), plus an altitude graphic with the balloon on a translucent background.<\/p>\n<p>As the flight approached peak altitude, the pictures improved markedly, with this probably being the best one. \u00a0For comparison, I&#8217;ve inserted a live image from my very first Pi flight, at the\u00a0same scale in pixels. \u00a0Roughly, the new image has 10 times the number of pixels, and took about 1\/10th of the time to transmit.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/pbs.twimg.com\/media\/CeT0zyhXEAAjEOo.jpg:large\" alt=\"\" width=\"1024\" height=\"768\" \/><\/p>\n<p>For this flight there were 2 other gateways set up by other HAB enthusiasts, as well as my too. \u00a0Even with this limited coverage we still lost very, very few packets. \u00a0I had my Python script running to check for missing packets, and creating uplink messages to request repeats of those packets. \u00a0Throughout the flight 35 such messages were uplinked to the flight, which is 3 times more than last time, but still I noticed that the uplink stopped working before the downlink stopped, so this is something to try and improve for next time.<\/p>\n<p>With 3-4 gateways running we again saw an issue with SSDV uploads timing out. \u00a0I&#8217;d seen this before when running 3 gateways at my location, and assumed my internet connection was the cause, but now we were seeing the same thing with 3 gateways at 3 different locations. \u00a0Phil Heron checked the server and saw that it was, at times, struggling to keep up, so that&#8217;s something to look at for next time.<\/p>\n<p>The balloon burst at an altitude of over 32km, and produced this image during descent (note, no missing packets which is impressive for the first image during descent):<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/pbs.twimg.com\/media\/CePF3cyWwAA2DxC.jpg:large\" alt=\"\" width=\"1024\" height=\"768\" \/><\/p>\n<h2>Recovery<\/h2>\n<p>Since the flight was mainly about testing the radio side, I\u00a0stayed at home checking the radio communications, aiming and swapping aerials, until the flight had descended\u00a0beyond my range. \u00a0I then prepared the chase car and checked the final descent positions and landing predictions. \u00a0The landing area was just south of Avebury, near Cherhill White Horse, and about 1 mile from the nearest road. \u00a0From the Ordnance Survey mapping I could see that the area was hilly and that unless the payload happened to land on top of a hill then I was unlikely to receive a signal from the road. \u00a0I made sure to pack walking boots, backpack and mobile tracking gear as this wasn&#8217;t going to be a quick and easy recovery!<\/p>\n<p>The landing area was about 90 minutes drive from home, and when I got there I set up a rooftop aerial and drove along the nearest road hoping to hear a signal from the payload. \u00a0Nothing. \u00a0As expected the area was hilly and I could see a bridleway up to a monument at the top of a hill, so I parked up, packed my backpack, and walked up the hill with the radio on, listening for the payload.<\/p>\n<p>As I got near the top, I had a choice of taking the path up to the monument, or a short walk across a field to a ridge overlooking the valley the other side of the hill. \u00a0That sounded like a better (easier!) bet, especially as I thought the payload would be in that valley. \u00a0Sure enough, as I got closer, the radio burst into life with that familiar RTTY sound. \u00a0I sat down to get the laptop set up, and the signal almost disappeared\u00a0&#8211; it really made a huge difference how high the aerial was. \u00a0So, with laptop and radio on the ground, I held the aerial up to get a decoded position.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/pbs.twimg.com\/media\/CeP0d3tWQAAb8H9.jpg\" alt=\"\" width=\"600\" height=\"1067\" \/><\/p>\n<p>Unsurprisingly then, the payload position turned out to be in the valley below:<\/p>\n<p><a href=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/listening.jpg\" rel=\"attachment wp-att-1932\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1932\" src=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/listening.jpg\" alt=\"listening\" width=\"873\" height=\"701\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/listening.jpg 873w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/listening-300x241.jpg 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/listening-768x617.jpg 768w\" sizes=\"(max-width: 873px) 100vw, 873px\" \/><\/a><\/p>\n<p>I then had a choice of a direct route down a very steep hill (see those contour lines!) or a more leisurely, slightly longer and rather safer walk across the ridge and down a more gentle slope:<\/p>\n<p><a href=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/choice.jpg\" rel=\"attachment wp-att-1933\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1933\" src=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/choice.jpg\" alt=\"choice\" width=\"593\" height=\"498\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/choice.jpg 593w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/choice-300x252.jpg 300w\" sizes=\"(max-width: 593px) 100vw, 593px\" \/><\/a><\/p>\n<p>On the way I caught my first glimpse of the payload below (parachute on left; payload on right):<\/p>\n<p><a href=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/25380800024_a640c33646_k.jpg\" rel=\"attachment wp-att-1934\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-1934\" src=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/25380800024_a640c33646_k-1024x768.jpg\" alt=\"25380800024_a640c33646_k\" width=\"640\" height=\"480\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/25380800024_a640c33646_k-1024x768.jpg 1024w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/25380800024_a640c33646_k-300x225.jpg 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/25380800024_a640c33646_k-768x576.jpg 768w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/25380800024_a640c33646_k.jpg 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>So in the end, not a difficult recovery if we ignore the steep climbs!<\/p>\n<p>For more photos, click this image:<\/p>\n<p><a href=\"https:\/\/www.flickr.com\/photos\/daveake\/sets\/72157663975482464\/\" rel=\"attachment wp-att-1935\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-1935\" src=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/26013649245_87bafab256_h-576x1024.jpg\" alt=\"26013649245_87bafab256_h\" width=\"576\" height=\"1024\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/26013649245_87bafab256_h-576x1024.jpg 576w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/26013649245_87bafab256_h-169x300.jpg 169w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/26013649245_87bafab256_h-768x1365.jpg 768w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2016\/03\/26013649245_87bafab256_h.jpg 900w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This was my second test flight of my 868MHz LoRa fast SSDV (Slow Scan Digital Video) software, to celebrate my 58th flight and 56th birthday. Fixes I made some changes to fix some issues with the previous test flight: Set RTTY baud rate to 300 to prevent RTTY Tx during [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/posts\/1927"}],"collection":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1927"}],"version-history":[{"count":10,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/posts\/1927\/revisions"}],"predecessor-version":[{"id":1941,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/posts\/1927\/revisions\/1941"}],"wp:attachment":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1927"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}