Making a LoRa Gateway

One of the advantages of the LoRa transceivers, when compared to the traditional RTTY modulation used by most High Altitude Balloons, is that it requires very little processing power at the receiver.  So instead of using a PC or a high end tablet or phone to decode the transmissions, all you need is a simple microprocessor with (assuming you want to upload data to the web for mapping) an internet connection.

The latter requirement makes devices such as the Raspberry Pi ideal for the task.  A Pi, plus wired or wireless connection, just needs a simple board added with a LoRa transceiver connected to the SPI pins.  And that’s exactly what HAB Supplies has made – and here’s a prototype board that they sent to me:

IMG_1214

Normally it comes with a single 434MHz LoRa device but here I’ve added a second (you could add a 434MHz or 868MHz model).  The remainder of this post will assume that the board is populated with just one device, in position 1.

Physically install is very simple – just push on to the Pi model A+ or B+, using a standard pin header extender (supplied).  Or an pin header with extended pins can be used if you want to stack another board on top.

Next, burn an operating system onto a suitable SD card.  For this purpose anything from 4GB should be fine.  The following instructions are for Raspbian, and no other operating systems have been tested.

First, run raspi-config:

sudo raspi-config

Then expand the filesystem, as you would normally do, then choose Advanced Options –> SPI and enable SPI.

rc

It’s also worthwhile to change the hostname (Advanced Options –> Hostname).  Finally, close the program and choose the reboot option.

Once rebooted, login again.  We now have some software to install.  First, install wiringPi, which is used for the SPI library and to read the status of the LoRa module via 2 of its INT pins:

cd ~
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

Next, install SSDV which is used to decode download images:

cd ~
git clone https://github.com/fsphil/ssdv.git
cd ssdv
sudo make install

The gateway software uses the curl library for internet access (uploading telemetry data and/or image data), so install that:

sudo apt-get install libcurl4-openssl-dev

and the ncurses library used for the screen display:

sudo apt-get install libncurses5-dev

Finally, install the gateway software itself:

cd ~
git clone https://github.com/PiInTheSky/lora-gateway.git
cd lora-gateway
make

That completes the installation, so now for the configuration.  The main settings are in a file gateway.txt in the above folder (/home/pi/lora-gateway).  Here’s a simple example:

tracker=MYCALLSIGN

frequency_0=434.451
mode_0=2

#frequency_1=434.450
#mode_1=0

This firstly sets your callsign, which if you are a radio amateur would normally be your radio callsign, but it can be something else.

The next part sets the frequency and mode for the first LoRa device (the one in position “1″).  Frequency is in MHz and should match the frequency of the tracker that you intend to receive.  “Mode” is described below, where the other (optional) settings are also described.  The final lines are commented out, to disable the second LoRa module.

tracker=<callsign>.  This is whatever callsign you want to appear as on the tracking map and/or SSDV page.

EnableHabitat=<Yes/No>.  Enables/disables telemetry upload to habitat.

EnableSSDV=<Yes/No>.  Enables/disables image upload to the SSDV server.

frequency_<n>=<freq in MHz>.  This sets the frequency for LoRa module <n> (0 for first, 1 for second).  e.g. frequency_0=434.450

mode_<n>=<mode>.  Sets the "mode" for the selected LoRa module.  This offers a simple way of setting the various
                LoRa parameters (SF etc.) in one go.  The modes are:

                0 = (normal for telemetry)  Explicit mode, Error coding 4:8, Bandwidth 20.8kHz, SF 11, Low data rate optimize on
                1 = (normal for SSDV)       Implicit mode, Error coding 4:5, Bandwidth 20.8kHz,  SF 6, Low data rate optimize off
                2 = (normal for repeater)   Explicit mode, Error coding 4:8, Bandwidth 62.5kHz,  SF 8, Low data rate optimize off
                3 = (normal for fast SSDV)  Explicit mode, Error coding 4:6, Bandwidth 250kHz,   SF 7, Low data rate optimize off

SF_<n>=<Spreading Factor>  e.g. SF_0=7

Bandwidth_<n>=<Bandwidth>.  e.g. Bandwidth_0=41K7.  Options are 7K8, 10K4, 15K6, 20K8, 31K25, 41K7, 62K5, 125K, 250K, 500K

Implicit_<n>=<Y/N>.  e.g. Implicit_0=Y

Coding_<n>=<error_coding>.  e.g. Coding_0=5 (4:5)

To run, just type

sudo ./gateway

and you will see a screen like this:

gw

In this example, channel 0 (the LoRa module in position 1 on the board) is enabled, at 434.451MHz, and mode 0 which is a shorthand for a mode suitable for continuous long-range telemetry transmission.

The status display updates as packets are received:

gw2

Finally, to exit the program, press CTRL+C.

Posted in Weather Balloon | 2 Comments

Pi In The Sky Board for Pi A+/B+

Here (at last – sorry for the delays) is our new version of our Pi In The Sky Board, designed for the Raspberry Pi models A+ and B+.

pits+-1000 These new Pi models required a few changes:

  • New smaller form-factor
  • Connector to fit the new, larger, GPIO pin header
  • Mounting points in all 4 corners
  • New higher capacity switch-mode PSU

We opted for a stackable GPIO connector, so that the board can be used in conjunction with some add-on boards that we are developing (see below for some details).  Unlike the model A and B, the “+” versions cannot be powered solely from 3.3V so we no longer use the trick of connecting 3.3V to the 5V rail, but instead simply supply 5V as normal.  The total run time is therefore slightly shorter than before, but not much as the Pi PSU is itself more efficient than on the previous boards.

pits+-1000-2 The board is on sale now at the HAB Supplies store.  Software is available on Github and is only slightly modified from that used by the previous board (and the same software works with either).  Support is available here. Now, those add-on boards.  These are not yet in production, as we need them to get a few flights under their belts so we know that they’re reliable.  First is the LoRa (Long Range Radio) board:

IMG_1214 I have flown LoRa trackers a few times now, with some very good results.  The above board has yet to fly but that will happen soon.  LoRa promises some advantages over the traditional RTTY system, with probably similar range at low speeds but with the option of higher download speeds and the possibility of an uplink (e.g. to request that the payload detaches from the balloon).  If you wish to experiment with LoRa I have uploaded both tracker and gateway software for the Pi to the above Github account, plus Arduino tracker software to my personal account. Here’s the prototype LoRa board attached to a model B+ with the PITS+ underneath.

IMG_1213

Our other prototype is an APRS add-on for PITS+.  APRS is useful in countries which (unlike the UK) allow the transmission of amateur radio signals from airborne transmitters.  APRS is particularly prevalent in the USA where it is used much more than the UKHAS RTTY standard used by the PITS+ board.  If you want to try APRS with a Pi, using your own hardware, you can download our code from github (not flight-tested).

IMG_1215 This particular board has a 144.8MHz transmitter (European standard) but we expect most customers to opt for the 144.39MHz (North America) version. Here’s a tracker-from-hell, with the PITS+, LoRa and APRS boards stacked (and yes, the PITS+ PSU has ample capacity for this configuration!)

IMG_1216 I’ll blog here about flights using these boards as they happen. Now, some general advice on High Altitude Ballooning.  Much of this is copied from a previous blog post, but I’m repeating it here (and emphasising a few points) because a lack of proper preparation will almost certainly result in the loss of your flight.  Do not, as one recent launcher did, rely on blind luck to get your payload back; test everything and especially test that you can track the flight yourself.  Do not try to rush things, and do not leave preparation until 2 days before your flight.  If you do, you will very likely lose your flight, and will deserve to do so. 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 boards.  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 (over 20 flights and no losses other than deliberate ones!).  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. There’s lots more to learn about too, for example:

  • How to track the flight – remember you MUST NOT rely on others to track it for you – you HAVE to be able to track the flight yourself both at launch (to confirm it’s all working) and after landing (so you can find it).
  • 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, as does practice in tracking.  If at all possible, practice your tracking skills by tracking someone else’s flight before your own.  At a minimum, send a friend off, with tracker in hand, to play “hide and seek” after which you then go and locate him using nothing your tracking setup.  He should be at least half a mile away perhaps further.  If you cannot find your friend then you’re not going to be able to find a balloon payload either! 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 Raspberry 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

 

Posted in Weather Balloon | Leave a comment

Commercial Launches

Videos from some of my commercial launches:

Superman (for RS and Mattel)

 

Space Potato (for Heston Blumenthal, Channel 4)

 

Dress Stratos (for Wreck My Dress)

 

BBC Cracking The Code

cracking

 

Posted in Weather Balloon | Leave a comment

LoRa Uplink with UHF Power Amplifier

It’s sometimes useful to be able to send a message up to a high altitude balloon – for example to command a cut-down if the flight path is not as planned and is likely to result in a lost payload.    This can be done using a radio uplink, either on a different frequency to the downlink or using a different slot in a TDMA system.

Uplinks can require a higher transmitted power, as the payload has a wide horizon and may “see” unwanted signals within the received bandwidth.

So for the above reasons I designed an uplink device using a LoRa radio transceiver (something I’ve been experimenting with on recent flights):

IMG_1180The output from the LoRa transceiver goes to a Minikits 7W UHF Power Amplifier:

minikits

 

 

which provides a very useful 7W into the transmitting antenna, which would normally be a Yagi pointed at the balloon.

The LoRa is controlled by an Arduino Mini Pro using software derived from my LoRa tracker code.  In TDMA mode this requires accurate timing which it gets from a UBlox GPS receiver.  Power is from a 1.2AH 12V Sealed Lead Acid battery, and the entire system is housed in a diecast aluminium enclosure.

The Arduino needs to know what to upload to the balloon, and also which balloon to send the message to.  In my TDMA system each device has an ID from 0 to 15, where the devices can be balloon trackers or uplink devices.  All this information is sent from a PC using a separate local radio link, via a pair of LPRS EasyRadio Transceivers.

At the PC end, the transceiver is powered by and receives data via an FTDI USB-TTL serial adapter.  A small program on the PC is used to select the serial port, after which it asks the uplink device for status (e.g. software version), and polls it for current status (e.g. battery voltage, GPS status).  It allows the balloon network parameters to be set (frequency, TDMA cycle time, TDMA slot number) and allows a command to be sent (target payload ID, message to send):

uplink

 

Posted in Weather Balloon | Leave a comment

HAB Shops

I’ve had a few emails lately asking where to buy parachutes etc.  I do have links on my links page, but here they are again:

HAB Electronics

For HAB-rated GPS receivers, radio transmitters, other components or complete trackers:

HAB Supplies – GPS and radio parts to make your own tracker

Balloons

Random Solutions – Balloons and Parachutes etc

Helium Gas

Balloon Helium

Polystyrene Boxes

Hobbycraft

Posted in Weather Balloon | Leave a comment

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 | 4 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