High Altitude Balloon
Source code, board designs, and flight telemetry is available on Github
Payload
The payload's mechanical design was conducted by the other members of the team. The avionics were contained within a large 1.5 foot styrofoam box. This box is oversized to eventually accomodate the biological experiment. A Hwoyee 1600g balloon was used.
Avionics
The primary microcontroller used is a Teensy 3.5. The Teensy is a Arduino-compatible ARM based development board. Software was be based on the Trackuino project with modifications for Teensy DAC support from this project.
The Teensy communicated with a BMP180 Temperature/Pressure sensor via I2C and a Ublox MAX-M8 GPS module over UART serial. In addition, a 10KΩ thermistor provided temperature measurements from outside the enclosure. All sensors were polled every two seconds and readings recorded on a microSD card in CSV format.
Power was provided by a 4400mAh LiPo battery through a 5V boost converter. The battery was oversized to provide extra power in case the biology experiement ended up requiring it. Our calculations indicated that this would give a maximum flight time of over nine hours with our minimal payload, well in excess of what is required.
Telemetry
The Teensy was intended to trigger a transmission every minute below 100 meters of altitude with path of WIDE1-1,WIDE2-2 and switch to transmitting every two minutes above 100 meters of altitude with path of WIDE1-1. However, it appears the firmware revision that launched did not have this switchover enabled, so the balloon stuck to the low-altitude transmission settings.
APRS Message Format
The message format was based on the "Lat/Long Position Report Format — with Data Extension and Timestamp" format in the APRS spec. The symbol used was /O
(Primary symbol table, symbol ID 'O' corresponding to balloon).
The raw message string:
[Data Type ID flag:/]HHMMSSh[Latitude ddmm.hh[N/S](8b)][SymtableID (1b)][Longitude dddmm.hh[W/E](9b)][Symbol Code (1b)][Course/Speed (7b)][Arb. data (36b)]
Comment format
The comment or arbitrary data section at the end of the message was used to record sensor readings.
Chars | Description | Example |
---|---|---|
5 | Timestamp (sec) | 12000 |
1 | Separator | , |
5 | BMP180 Temperature (C) | -60.0 |
1 | Separator | , |
6 | BMP180 Pressure (Pa) | 101580 |
1 | Separator | , |
4 | Thermistor ADC Value, max 1023 | 1017 |
23 | Total |
Launch
We performed pre-launch track predictions using the HabHub online prediction tool. The payload weight including a weight to simulate the biology experiment was 2.02kg.
A few issues were encountered at launch, which were root caused to the microSD card not being fully inserted.
Once the balloon cleared the treetops, its APRS packets were quickly picked up by the APRS network. Overall tracking was suprisingly good throughout the entire flight.
The ascent rate and initial path followed predictions nicely. Unfortunately, it appears our balloon was much tougher than anticipated and drifted quite a bit higher than the predicted burst height. After burst, it appears the balloon free-fell for a while, causing a Teensy reboot for some reason. The last few packets record the balloon descending at a steady 7 m/s under the parachute into the waters just off Long Island. Overall, this was a fun project and great learning experience. The APRS tracking and avionics performed well throughout the flight. We now have a much better idea of the balloon launch process and some of the quirks involved. Hopefully next launch will conclude with a more successful recovery.