The technology inside the balloon
The test of our system is part of a high altitude balloon launch conducted by the Satgruppe Langenzenn. Inside of the probe there is a RFM95W LoRa radio module connected to a Raspberry Pi Zero, which sends data from an Adafruit Ultimate GPS Breakout v3 as well as pictures taken by a built-in camera back to the ground station in fixed intervals. The ground station consists of an Arduino Mega and an identical radio module, that transfer the received signals to a notebook where they are interpreted by a program and displayed on a map (cf. First test of our radio communication system).
We will try to follow the balloon’s flight path fairly closely in the early stages of the mission, and slowly diverge from it while the flight progresses in order to test our system over an increasing distance – in altitude as well as in distance on the map. After the first test of our radio communication system we were able to create a radio signal coverage map by using the tools on the website ve2dbe.com, which promises us a radio range of up to 150 km. We will see whether these predictions are correct – hopefully by receiving live pictures from the stratosphere.
The journey
The flight path of our probe will lead us into the German Harz area. We separated our potential landing areas into landing zone A (L.z. A, red) and landing zone B (L.z.B, orange). Depending on our maximum altitude and the climb rate of the balloon, we will land within one of those zones. As we can easily calculate and influence the climb rate, we came to the conclusion that the balloon is most likely going to land inside of landing zone B. After touching down, we will locate the balloon by using two GPS trackers, which we can contact via the mobile network. They will then tell us their location via a text message. Our radio system can only send with a maximum power output of 200 mW. This means that in areas with lots of obstacles (e.g. trees, houses, hills etc.) our range will be limited to a few hundred meters at best, which is why we can't rely on our own GPS data for the recovery of the probe.
The software
Because copying the recieved coordinates into some kind of navigation system by hand can get tedious very fast, we decided to create an application that automatically prepares all of the incoming data for us. It consists of a big digital map of Europe, as well as two indicators showing the image that is currently being transmitted and the recieved signal strength. In order to allow us to orientate even better, the map also offers the ability to create markers at specific coordinates or simply via clicking on it.
We will not have an internet connection for most of our journey, so we are using map data made by the OpenStreetMap project in combination with a local tile server. This server makes the raw data available to us in the form of images, which we can than use for rendering a complete map. The application itself is a website running on a local webserver that is therefore also available offline. In order to get regular updates on the current state of the balloon, the website is connected to a NodeJS backend via a WebSocket connection, which immediately passes on the data after it is recieved by the Arduino Mega mentioned above, and processed and saved by a Python script.