LoRa Handheld Receiver

One of the nice things about the LoRa devices is that they do all the modulation and demodulation internally.  So whereas a traditional RTTY balloon tracker needs a PC at the receiving end (or a high end mobile phone or tablet), a LoRa receiver can be made with a simple microcontroller.  Anything that can talk SPI (a simple serial protocol) will do.

So I decided to do just that, using:

  • Arduino Mini Pro 3.3V / 8MHz
  • Epson-compatible 16×2 LCD
  • RFM98W module
  • Boost converter
  • 3.7V LiPo
  • USB LiPo charger

The Epson LCDs need 5V otherwise the display is blank.  In theory (i.e. according to specification) they need to be driven from 5V logic but in practice 3.3V logic works.  This is good because the RFM98W needs 3.3V logic and is not compatible with 5V logic.  So although it should be necessary to use a 5V Arduino (to keep the LCD happy) and use level shifters between Arduino and RFM98W, I found that it all works happily with 3.3V logic.

Basic wiring information is in the source code which you can grab here.

I put the lot in a case designed for Arduino and LCD, placing an SMA socket at the top (to connect an aerial) and a USB charging socket at the bottom.  I need to add a power switch (I didn’t have a suitable one to hand) then it’s finished.

These are all the parts connected and fixed to the case:

P1090772(the 2 red wires at the bottom will go to a power switch when I have one).  Bottom-right is a USB charger for the LiPo, and to the left is a step-up to convert the LiPo voltage (3-4V roughly) to 5V.  That then drives the LCD and the LDO on the Arduino, which then steps down to 3.3V for the processor and the RFM98W.  That connects to an SMA socket at the top of the case:

P1090770The software waits for a telemetry packet from the LoRa receiver.  It then decodes the packet and displays the latitude, longitide, altitude and RSSI (signal strength).  After a few seconds the altitude and RSSI are replaced by a “time since last packet” display, and a live signal strength bargraph:

P1090766The software is incomplete (e.g. no facility to change frequency) but that will come soon.

 

 

 

Posted in Weather Balloon | 2 Comments

Superman Test Flight

This Saturday (13th September) I’ll be helping RS Components and Reading Hackspace to launch Superman into near space where he will jump down in the footsteps of Felix Baumgartner and (more famously) Babbage Bear, parachuting safely down to Earth.  Full details on how to watch or track will be here on Friday.

“Superman” will be plastic model of course – the real one just uses his personal mono-directional gravity field, as any fool knows!  He’ll carry a radio tracker so we’ll be able to plot his course on a live map during the flight.  His capsule will carry several cameras – 3 4K models for what we hope will be some stunning video, plus 2 Raspberry Pi cameras which will send images down to the ground throughout the flight.

The project started a few months ago with a meeting at Reading Hackspace, where we discussed the aims and challenges of the project, and how exactly we were going to achieve those aims.

We soon decided to do 2 flights – one to test the new 4K camera and to get some extra footage, and then the main flight.  The test flight was about a month ago, for which I mounted a Superman model to a balsa wood frame carrying the new camera, a Raspberry Pi camera, and 2 radio trackers:

IMG_0574

 

The camera and the Pi tracker went inside the central payload area:

P1090560

I spent some time thinking about how best to mount Superman.  I wanted it to look like he was hanging on to a parachute, but without the possibility of him flying out of shot and possibly getting tied up with the support lines after the balloon burst (potentially a very violent part of the flight).  The solution came with some hollow braided nylon cord, into which I carefully pushed some short lengths of carbon fibre rod.  So, a rigid support that looks like rope:

P1090562

 

The rods were pushed into holes in the balsa wood frame above, and Superman’s hands (ouch!) below, then glued firmly with a special 2-part adhesive designed to adhere to any plastic:

P1090565

Both ends were tied also to remove any possibility of Superman escaping.

The fill was easy, with only light winds …

IMG_0587

as was the launch.  We then watched the images downloading over the radio link from the Raspberry Pi.

medium_175The flight got to about 35.5km (a bit higher than expected) before bursting, after which Superman really did look like he was “Falling With Style”!

medium_265

 

Meanwhile the map was showing his path over the ground.  We set out to chase about this time, and you can see the long path that Superman took and the much shorter path of the chase car!

Full Path

 

We were close by when Superman landed, safely at the edge of a field a short way from where we were parked:

IMG_0694

 

Next job was to check the footage of the new camera we were testing.  We ran it in regular HD mode (the SD card wasn’t large enough for the full flight in 4K mode!) but the results did not disappoint:

superman2

 

 

Posted in Weather Balloon | 7 Comments

Fore! Payloads!

Yesterday I put up a fairly involved flight with 3 trackers using 2 new tracking systems, plus a reliable old tracker to make sure I got the payloads back!

One of the new trackers was a “UKHASNet” node, sent up as a last-minute thing following on from a successful flight by others at EMF last weekend.  Sadly this tracker wasn’t received at all during the flight.  I then discovered a short circuit in the aerial connection to my receiver, but even after that was fixed no data was received.  I’ll run some local tests before flying that again.

The main aim of the flight though was to test some new LoRa (Long Range radio) modules.  These have been available for about a year now, but due to bandwidth restrictions the earlier modules could not be used on the 434MHz band that ballonists already have aerials for.  The new modules however can be used at various bandwidths, with the most useful (for us) being 20.8kHz which fits neatly inside the 25kHz allowed.  I opted for the RFM98W device:

rfm96w-rfm98w

LoRa is a modulation scheme that promises much a greater link budget (and therefore range) than did previous single-chip transceivers.  This is important since neither the balloon payload aerial (which is swinging and rotating) nor the car aerial (which is bouncing around with trees and/or buildings in the way) is in perfect conditions.  Traditionally we have used RTTY and sensitive amateur radio receivers, or modes such as Contestia for greater range, but LoRa appears to offer a workable alternative that of course is much less expensive and does not require a PC to decode.

For the LoRa test flight, I built 2 trackers one with an RFM98W attached to an Arduino Mini Pro, and the other with one attached to a Raspberry Pi.  I also made 2 receiving stations with the same modules on Raspberry Pi boards:

P1090640

The AVR tracker was set to use very slow modulation scheme, theoretically offering the greatest range and the best chance of rivalling RTTY.  Meanwhile the Pi tracker was set to use the highest possible speed (within bandwidth limits) over which it sent images (SSDV) as well as telemetry.  I did not expect this to work well, as the equivalent RTTY baud rate is 1400 baud which is pushing the ability of receivers to decode.

For 2 LoRa trackers I needed 2 LoRa receivers / gateways, both of which upload received packets to the internet so that the balloons show on the live map, and images appear on the image web site.  Additionally I needed a gateway for the UKHASNet node.

Bwmug5WIgAAxROW

 

All 3 were put on a table outside, so I could attach aerials easily:

BwoeKG8IAAAs20T

Preparing 4 trackers and payloads, plus 4 different receiving/decoding stations, is a lot of work, and my stress levels weren’t helped by the ADSL line going down just as I was ready to fill the balloon!  Next job was to tie all 4 payloads together, and that plus the chute and balloon lines took 35 metres of line!  Just as well, as we’ll find out later …

The launch itself was easy, once all that line was fed out.  Back on the receiving stations, nothing came in from the UKHASNet node at all.  After a while I checked the connections, and fixed a short where the aerial wire connects to the radio module, but still got nothing.  I’ll investigate further and fly another test soon.

LoRa1 and 2 however were doing very well.  Initially LoRa1 was a fair bit stronger than 2, but the aerials were different.  When LoRa2 started to drop out, I replaced both with Yagi aerials and the signal strength went up by several dB of course.  Now LoRa2 was stronger, and remained so throughout the flight.  The Yagi on LoRa2 was higher gain than on LoRa1, but not high enough to explain the difference, so that’s another thing to look at.

With the Yagi aerials in place, both trackers were received with near 100% success, with LoRa2 outperforming LoRa1 despite the higher data rate.  More testing needed, but it seems that the slower data rate isn’t as much of an advantage as it should have been.  Nevertheless, packets were decoded by Philip Heron in Northern Ireland so it was working pretty well!  He reported results not quite as good as RTTY over that distance, and perhaps with some tweaks this can be improved.  Looking at the data after the flight, my stations received down to 1800m altitude (LoRa1) and 1400m (LoRa2), so  comparable with what we managed in the car from the RTTY payload.  Overall then, a very good result.  I don’t know how well LoRa will work to a mobile tracker in a chase car, or how well it will work after landing, but the suggestion is that both will be good enough for HAB.

I watched the incoming data and images till the flight burst.  The only real issue was that LoRa2 stopped sending position data above 12km, which means that the “flight mode” code failed, probably due to errors in the serial port settings (usually my Pi payloads use I2C not serial for the GPS, and I probably got something wrong in the conversion).  After burst, we waited for the landing prediction to settle, then set off in the chase car.  This time we didn’t take any kit to receive the LoRa trackers (that’s a job for next time) but did of course take the usual kit for receiving the RTTY tracker.

IMG_0654

After losing the signal at about 1800m altitude, we proceeded to the expected landing area, found some high ground then parked up to tune in to the signal which was quite strong.  We decoded a few sentences and as we did I noticed that the payload position appeared to be changing!  Normally the GPS position bounces around by a few metres, but this one was consistently moving north!  Checking on the OS map on my tablet, we could see the position was on the golf course which we’d passed a few minutes before, so we headed back there, got an update on the position, then went inside to find someone in charge.  That didn’t take long, and we were allowed on the course with instructions to keep out of the way of the competition that was still ongoing at the end of the course!

I had an app running on my phone showing the distance and direction to the last known position of the payload.  What I couldn’t tell (but suspected) was that it had moved!  Indeed, as we got closer, some golfers called us over as they’d retrieved the payloads and had them strung up around a trolley!

IMG_0658He explained that they’d spotted the payloads next to the green at the 15′th.  Looking at the images afterwards I could tell that some of the payloads were in a tree, so they’d dragged those down.  This screenshot shows where the lower payload was when we first received it after landing, and its path.

15So, a very successful flight, with payloads recovered and LoRa performing rather better than I expected (for a first flight).  Some issues to look at and some more testing to be done, but it all looks promising.

 

 

Posted in Weather Balloon | Leave a comment

Pi In The Sky Telemetry Board Released

High Altitude Ballooning is an increasingly popular hobby (I nearly said that interest has been “ballooning”, but fortunately I stopped myself just in time …), bringing what is termed “near space” within the reach of pretty much anyone who is willing to put in the effort and spend a moderate amount of money.

cropped-moon-and-sky-web

Although it’s possible to successfully fly and retrieve a balloon with a simple GSM/GPS tracker, the chances are that this will end in failure and tears.  GSM coverage in the UK is nowhere near 100% especially in rural areas which is where we want (and aim) the flights to land.  The next step up, in reliability and price, is a “Spot” tracker which works solely via satellites, but those don’t work if they land upside down.  Also, neither of these solutions will tell you how high the flight got, or record any science data (e.g. temperature, pressure), or indeed tell you anything about the flight until they land.  If you’re lucky.  A lost flight is a sad thing indeed.

Still-1

For some countries (e.g. USA, but not the UK), if you are a licensed amateur radio operator you can fly an APRS tracker, in which case the flight will be tracked for you via the ground-based APRS network run by other radio hams.  Sadly UK laws prohibit radio hams transmitting from an airborne vehicle, so APRS is out for us.

For these reasons, pretty much everyone involved in the hobby in the UK, and many other countries, uses radio trackers operating in an ISM (Industrial. Scientific and Medical) band where airborne usage is allowed.  These work throughout the flight, transmitting GPS co-ordinates plus temperature and anything else that you can add a sensor for.  Many radio trackers can also send down live images, meaning that you can see what your flight is seeing without having to wait for it to land.  Here’s a diagram showing how telemetry from the flight ends up as a balloon icon on a Google map:

system

What’s not shown here is that, provided you tell them, the other balloonists will help track for you.  So not only will you be receiving telemetry and images directly via your own radio receiver, but others will do to.  All received data is collated on a server so if you do lose contact with the flight briefly then it doesn’t matter.  However, this does not mean you can leave the tracking up to others!  You’ll need to receive at the launch site (you have to make sure it’s working!) and also in the chase car once it lands.  The expense of doing this is small – a TV dongle for £12 or so will do it, with a £15 aerial and a laptop, ideally with a 3G dongle or tethered to a phone.

Traditionally, balloonists build their own radio trackers, and for anyone with the skills or the time and ability to learn programming and some digital electronics, this is definitely the most rewarding route to take.  Imagine receiving pictures of the Earth from 30km up, using a piece of kit that you designed and built and programmed!  So if you are up to this challenge (and I suspect that most people reading are) then I recommend that you do just that.  It takes a while, but during the development you’ll have plenty of time to research other aspects of the hobby (how to predict the flight path, and obtain permission, and fill the balloon, etc.).  And when you’re done, you can hold in your hand something that is all your own work and has, to all intents and purposes, been to space.

Burst-1-1024x571

For some though, it’s just not practical to develop a new tracker.  Or you might be a programming whizz, but not know which end of a soldering iron to pick up.  It was with these people in mind that we (myself and Anthony Stirk – another high altitude balloonist) developed our “Pi In The Sky” telemetry board.  Our principle aim is to enable schools to launch balloon flights with radio trackers, without having to develop the hardware and software first.  It is also our hope that older children and students will write their own software or at least modify the provided (open source) software, perhaps connecting and writing code for extra sensors (the board has an i2c connection for add-ons).

The board and software are based on what I’ve been flying since my first “Pi In The Sky “flight over 2 years ago, so the technology has been very well proven (approximately 18 flights and no losses other than deliberate ones!).  So far the board itself has clocked up 5 successful flights, with the released open-source software on 3 of those.  Here’s the board mounted to a model B (though we very strongly recommend use of a model A):

pits (1)It comes in a kit complete with a GPS antenna, SMA pigtail (from which you can easily make your own radio aerial), stand-offs for a rigid mounting to the Pi board, and battery connectors.  Software is on https://github.com/piinthesky, with installation instructions at http://www.pi-in-the-sky.com/index.php?id=support, or there is a pre-built SD card image for the tragically lazy.  We do recommend manual installation as you’ll learn a lot.

By now you’re probably itching to buy a board and go fly it next weekend.  Please don’t.  Well, buy the board by all means, but from the moment you decide that this is the project for you, you should task yourself with finding out all you can about how to make your flight a safe success.  For a start, this means learning about applying for flight permission (which, if you want to launch from your garden at the end of an airport runway, isn’t going to be given).  Permission is provided together with a NOTAM (NOtice To AirMen) which tells said pilots what/where/when your launch will be, so they can take a different path.  You also need to learn about predicting the flight path so that it lands well away from towns or cities or motorways or airports.  I hope I don’t need to explain how important all of this is.

IMG_0690

There’s lots more to learn about too, for example:

  • How to track the flight
  • How to fill a balloon
  • Where to buy the balloon
  • What size balloon?  What size parachute?  How to tie it all together?

None of this is complicated (it’s not, ahem “rocket science”), but there is a lot to know.  Don’t be surprised if the time between “I’ll do it!” and “Wow, I did it!” is measured in months.  Several of them.  In fact, worry if it’s less than that – this research takes time.  We will be producing some teaching materials, but meantime please see the following links:

As for the board, it provides a number of features borne out of a large number of successful flights:

  • Efficient built-in power regulator providing run time of over 20 hours from 4 AA cells (using a model A Pi)
  • Highly sensitive UBlox GPS receiver approved for altitudes up to 50km
  • Temperature compensated, license-free (Europe) frequency agile, 434MHz radio transmitter
  • Temperature sensor
  • Battery voltage monitoring
  • Sockets for external i2c devices, analog input, external temperature sensor
  • Allows use of Raspbery Pi camera
  • Mounting holes and spacers for a solid connection to the Pi

The open-source software provides these features:

  • Radio telemetry with GPS and sensor data using UKHAS standard
  • Radio image download using SSDV standard
  • Multi-threaded to maximize use of the radio bandwidth
  • Variable image size according to altitude
  • Stores full-definition images as well as smaller transmitted images
  • Automatically chooses better images for download
  • Configurable via text file in the Windows-visible partition of the SD card
  • Supplied as github repository with instructions, or SD card image

Finally, anyone interested in high altitude ballooning, using our board or not, should come to the UKHAS Conference on 16th August 2014 at the University of Greenwich.  Anthony and I will be presenting our board during the morning sessions, and will run a workshop on the board in the afternoon.  For tickets click here.

Posted in Weather Balloon | Leave a comment

Pi In The Sky Project – Successful Test Flight

This was the third flight of the “Pi In The Sky” board, but the first flight of the new open-source software written specifically for it (previous flights used a modified version of my usual Pi tracker software). The new software is a single multi-threaded program (instead of a collection of separate programs) and is configured via a text file so that for most users no recompilation is needed.

For this flight I used a foam polystyrene egg bought from HobbyCraft. The Pi and tracker board fit neatly inside one half:

IMG_0690

whilst the camera, GPS antenna and battery pack fit inside the other. No other packing was needed and the 2 halves were glued together with UHU Por polystyrene adhesive. Here’s the result:

IMG_0689

 

The glue is strong, but just to make sure I put some tape around the egg to keep the halves together.  Here’s the resulting payload, as I start to inflate the balloon:

IMG_0554

 

The launch was easy, and we watched for a while as the flight broke through the clouds and started to download some nice images, after which we set out to chase.  We were expecting the flight to land east of Ludlow, and we initially stopped near Leominster till the balloon turned west, then nearer Tenbury Wells as we waited for the burst.  That happened at 31644 metres, nearly 2km above the calculated figure, and pretty good for a 500g balloon.  Here’s the full flight path:

1

We were about 3 miles away when it landed, which isn’t bad considering the narrow winding roads in the area.  Landing spot was 4.5 miles from the prediction which is also pretty good.  Once it landed we headed for the last position, and when about half a mile away we received a signal strong enough to decode.  We then had the final position which was near a farmhouse:

2

We parked up and spoke to a farm worker and then the farmer who was very helpful, allowing us to wander round trying to find the payload.  Initially we went to the wrong place, having transcribed the co-ordinates wrongly!  So we went back to the car, got the correct position, and checked the view from the payload’s camera which the farmer recognized:

small_445

Once we had that information it only took a couple of minutes to locate the flight, which was on the ground with the line going over a bush.

So, a successful first flight for the new software and third flight for the new board.  There’ll be another test flight soon, hopefully next weekend.  Meanwhile, some photos from the flight:

medium_245

medium_238

Posted in Weather Balloon | 7 Comments

Pi In The Sky Board Pre-Sale

PRE-SALE NOW OPEN

The first batch of boards are in production. We’ve had a lot of interest and have decided to open up the shop for orders. The board is supplied as a kit including:

  • Pi Tracker Board
  • Spacers and mounting screws
  • GPS Antenna
  • Radio Antenna
  • Battery cable

Order Now!

Posted in Weather Balloon | 2 Comments

Pi In The Sky Add-On Board

What you see below is a simple and reliable GPS radio tracker board for the Pi. Together with the supplied, open-source software it embodies the experience of about 40 successful flights, nearly half of which have used the Raspberry Pi.

pits

It features:

  • Efficient built-in power regulator providing run time of over 20 hours from 4 AA cells
  • Highly sensitive UBlox GPS receiver approved for altitudes up to 50km
  • Temperature compensated, frequency agile, 434MHz radio transmitter
  • Temperature sensor
  • Battery voltage monitoring
  • Sockets for external i2c devices, analog input, external temperature sensor
  • Allows use of Raspbery Pi camera
  • Mounting holes and spacers for a solid connection to the Pi

The open-source software provides these features:

  • Radio telemetry with GPS and sensor data using UKHAS standard
  • Radio image download using SSDV standard
  • Multi-threaded to maximize use of the radio bandwidth
  • Variable image size according to altitude
  • Stores full-definition images as well as smaller transmitted images
  • Automatically chooses better images for download
  • Configurable via text file in the Windows-visible partition of the SD card
  • Supplied as github repository with instructions, or SD card image

Documentation:

Some prototype boards are in the hands of testers and have flown successfully twice now.  The first batch of production boards have been sent off for production now will be on sale mid-late July.  Meanwhile, follow @pitsproject for the latest information.

 

Posted in Weather Balloon | 10 Comments

St Alban’s School – Successful Flights

To much relief, Alban the school mascot was recovered from a tree in a field in Cheshire. See this write-up in the local Cambridge newspaper.

alban

The “floater” flight initially did very well, ascending at the target rate (which is a challenge in itself with these flights), and turning west at the predicted latitude. It then achieved a float but only for a couple of hours, when the balloon burst resulting in a wet landing off the coast of Blackpool. During the flight many images were sent down over the radio link, so it was a good flight though the aim wasn’t achieved.

Posted in Weather Balloon | 1 Comment

St Alban’s Catholic School Launch

Weather permitting I’lll be doing 2 flights for St Alban’s Catholic School. Members of their Code Club will help with the launch and recovery, whilst others will man Mission Control at the school.

The first flight is a “floater”, expected launch time 11am, which is intended to fly west over Ireland. This will carry 2 trackers ALBANFLOAT and ATLANTIC, the former with live image downloads.

The second flight is a normal up-burst-down flight, expected launch timemidday, with 2 trackers ALBANVOYAGER and ALBANDATA, the first with live images and the second with a number of environmental sensors.

Go to the live map to watch the flights, and see the links for the images from the flights and video stream from the launch site and chase car.

Posted in Weather Balloon | 2 Comments

Camera Test Flight

This was a flight to test some cameras under the demanding conditions of near space.

First, I was sent a prototype of a 360-degree camera which is the subject of a KickStarter campaign.

I installed this plus a large external battery (to extend the run time) in a foam polystyrene ball:

IMG_0531

I was also sent a pair of 1080 XD Mini cameras by ReplayXD. These are small and very neat action cameras that can record 1080 line HD video at 25fps, or 720 line at 50fps. We chose the former, and I fitted one camera looking outwards and one upwards to capture the balloon burst. I used my new modular payload system which makes it easy to mix and match different cameras and trackers without having to build a new payload box each time:

IMG_0526

We used one large backup battery and one small one. Even the small battery was enough for the flight so the larger battery would not normally be needed for a balloon flight. Here’s everything including one of Anthony Stirk’s early radio tracker boards:

IMG_0529

A third payload was added, with a second radio tracker, and we also added a small GSM tracker. It took several people to hold all the payloads when we launched:

IMG_0419

and it made an impressive sight as it rose in the sky:

chain

The flight landed in a field about 2 miles from the launch site, though it travelled a long way horizontally as well as vertically to get there! We arrived just in time to rescue it before the cameras were gobbled up by some farm machinery …

IMG_0576

We were eager to get the cameras back home to have a look at the images, some of which are truly stunning. First, from the Centr camera:

Still 1

Still 2

Of course, those are just single camera still views from the 360-degree video; I’ll post links to the stitched footage when available.

Meanwhile both ReplayXD cameras were working well, with the outward-facing camera capturing this shot of the Centr camera shortly after burst!

Centr

Just before burst, the upward-facing camera got this great shot showing how translucent the balloon is when it’s about to burst:

Translucent
and here’s the burst, all over in about 1/10th of a second:

Burst 1

Burst 2

Burst 3

Posted in Weather Balloon | 4 Comments