High Altitude Balloon - Pigeon Alpha 2

2018-07-28 — Viraj Shah

Table of Contents

Introduction and Purpose

Pigeon Alpha 2 was a high-altitude balloon project in which the primary goal was to get video footage of Earth at a high altitude. Additional goals were to use this as a learning experience to design and layout a custom printed circuit board (PCB) and to gather temperature and pressure data in the upper atmosphere. I did not optimize for other variables like altitude, camera stability, or mass.

All files and resources are linked throughout and at the end of this article.

I welcome any feedback, suggestions, ideas or questions. You can contact me via the comment section below or at my email. [this website’s name (no spaces)] at [google’s mail service] .com

Flight Data and Results

The flight was a success. I obtained footage, temperature, pressure, and altitude (via the pressure) data. Here is a video of different parts of the launch:

Click here to see a short time-lapse video of the setup.

Here are some stills:

The following is the data gathered by the flight computer:

The temperature got all the way down to -40degC and when sitting in the sun got to north of +40degC. The two thermistors on the inside are always lagging the external one. It is interesting to note that the thermistor on the battery pack reads warmer than the board temperature on the pressure and altitude board.

The external thermistor is much noisier because it is in contact with turbulent air, even though I did tape it down to the enclosure. The lowest temperature doesn’t correspond to the peak altitude. It looks like the second local minimum is a result of the descent back down to the altitude where it is the coldest (~14 km). You can see evidence of the increasing noisiness with increasing altitude (and turbulence) and the coldest temperature occurring around ~14km in the graph below.

The pressure data is pretty clean but it is surprising to see the calculated altitude barely passes 17km when the predicted peak was ~24km. All flight data would suggest that the predicted values were correct (i.e. time of flight, location of landing, etc. were all pretty spot on). I’d like to dig deeper into how the calculation is done to map pressure to altitude on the MPL3115A2 chip. It seems like there is a piecewise function of some sort as indicated by the four jagged steps (each pair occurring at a specific altitude).

This is the loaded battery voltage as read from a 1:1 voltage divider. I did not charge the battery to full capacity (~2*4.2V= 8.4V). The massive dip down to ~7.7V was when I plugged in the serial connection from my laptop to monitor the data logging. The voltage steps roughly correspond to 10mV which is the resolution (10 bit ADC means 5V/1024 = ~5mV resolution, but with a 1:1 voltage divider, it is 2x this value). The oscillations between each step are due to the least significant bit flipping before settling to the lower value. Finally, the loaded voltage drops between 80 and 100 minutes likely due to decreasing cell temperature and increasing internal resistance.

This link contains the predicted flight path with estimated inputs on ascent rate (~4.28 m/s), descent rate (~5.45 m/s), and maximum altitude (~24 km). These are based on the balloon (350g), payload + parachute mass (855g), and positive lift of 500g using this calculator.

Pigeon Alpha 1 — Lessons

The 2 in the name suggests that it was preceded by 1. Pigeon Alpha 1 was the first attempt. While the launch and recovery of this payload was successful, I did not obtain footage or flight data.

Issue #1 – The button on the top of the camera was inadvertently pressed when I was loading the insulation and closing up the payload. The camera got about 8 seconds of footage and stopped recording before it even got off the ground. I didn’t encounter this issue during my freezer tests at home because I didn’t place insulation into the enclosure in those tests.

Issue #2 – The flight computer was hacked together on a perf board using breakout boards from various suppliers. The microSD card was not properly seated into the socket.

The following lessons learned and improvements were incorporated into Alpha 2.

From Issue #1 – Protect the top button on the camera so that it can’t be inadvertently pressed to stop the recording.

From Issue #1 – When conducting tests at home, it is best to conduct them as close to the final representation as possible to discover all possible failure modes.

From Issue #2 – Create a board where I can ensure the microSD card is seated into the socket.

From Issue #2 – Ensure that the initialization routine has completed successfully and that the data is logging. One way to achieve this is to have the board powered and then monitor via serial communications.

From Issue #2 – Have a pre-flight checklist to ensure a procedure is followed and errors are not ignored.

Ensure that switches, connectors, etc. are easily accessible before being placed into the enclosure. I need to ensure that I can connect and power up devices without worrying that I’m going to accidently knock something into the wrong position as it enters the enclosure. While this didn’t turn out to be a fatal error, it was noticeable hassle to deal with during the launch setup.

Create an overall design for the flight computer and enclosure that minimizes manual, one off procedures. There was a lot of tedious finessing that went into Alpha 1 that I wanted to avoid.

These are the after pictures of Alpha 1 during the debugging process but they still exemplify the chaos in that design.

Payload — Enclosure and Inner Chassis

I wanted the design to be manufacturable, reproducible, and cheap in the event that I had to do this again. I used Autodesk Fusion 360 to create the design and my Lulzbot Mini 3D printer to print the design.

To create the lightest payload possible, I picked the thinnest wall thickness I thought possible that wouldn’t be too flimsy or hard to print. This ended up being 2.75mm at 20% infill.

The main design is an external enclosure with an internal “chassis” that slides in and out via keyed features like a hot swappable server rack. I wanted to be able to power on, attend to and set all the devices during pre-flight checks while outside the enclosure for ease of access. Then without having to touch anything else, except for the camera, I could be sure that all devices were as I had set them (e.g. no accidently knocking the SD card out of the socket or ripping out a connector as I placed it into the enclosure).

The battery + flight computer unit was bolted onto the bottom level. The camera, LiPo and Yepzon GPS were on the top, held together via spots of hot glue and Velcro tape. The only difficulty was that I did not account for harness routing (for the thermistors and altitude/pressure breakout board) or strain relief. That proved to be a pain but easily solvable with a little heat shrink and hot glue.

(Left) In Alpha 1, I shoved in bubble wrap insulation wherever it would fit. For Alpha 2, I had precut insulation above and below the internal chassis. (Right) The SPOT GPS was bolted on the outside of the lid for maximum reception. The key rings are there for rigging lines to the parachute. I used plastic #4-40 bolts to bolt down the lid. I manually tapped the holes.

Payload — Camera, GPS, and Battery

Camera — I used a sport camera, the EKEN H9 camera, that I found online. I connected the camera to a cheap 5V USB Buck converter for charging via an off-the-shelf 2S LiPo battery. This ensured that the camera would stay powered during the entire flight.

Second image from top left to top right: Camera, 5V USB Buck converter, 2S LiPo battery (below), Yepzon GPS (Above)

GPS — SPOT and Yepzon (as a backup). Both ended up working.

Battery — I created a custom 18650 lithium ion battery pack with 2 cells in series. They were connected via tabs that I soldered onto the cell. I don’t recommend this method at all if you can avoid it. Spot or laser welding is the way to go if you have access to such equipment. The top of battery pack had standoffs that aligned with the flight computer holes so that these could be assembled and tested as one unit. I had to manually tap the standoffs. In Alpha 1, most of the wire to wire connections were soldered and heat shrunk. In Alpha 2 I used connectors for everything and it made a huge difference in the ease and flexibility of connecting different components. Charging the pack while it was bolted onto the inner chassis became much easier.

I used what I thought was a little bit of Gorilla Glue to assembly everything together. The glue expanded quite a bit. For safety, I recommend leaving room above the 18650 top cap for venting.

Payload — Flight Computer

The flight computer’s main goal was to serve as a data logger for temperature, pressure/altitude, and battery voltage data. I wanted to keep the board simple so that I could complete the design and testing as fast as possible. The board was designed using Autodesk Eagle PCB and manufactured using PCBWay. I was able to reflow components onto the board by using a converted toaster oven. The remaining components (e.g. header pins) were manually soldered.

The following itemizes some design decisions that went into making the board.

Use as many surface mount components as possible so that populating the board can be done in as few steps as possible.

The microSD card when seated should not extend beyond the board edge. In fact, have the card seated well within the board edges so there is minimal chance that it can become unseated.

Have an LED to signal proper initialization of the flight program.

Leave room for mounting holes so that I can fix the board in place inside the enclosure.

Make it as compact as possible. I didn’t know where I might need additional space for other payload items. It also seemed like a fun challenge.

(Left) If you look closely, you’ll notice some areas of poor reflow and skewed components but these were eventually fixed not just for aesthetics but for reliability. See the schematic and board layout, linked below, for more detailed information. (Right) The board with thermistors and the altitude/pressure breakout board connected. The board is being powered by the serial connection in this case and not a battery as it would be in flight.

Microcontroller — Atmega328P. The standard microcontroller used on almost every Arduino board.

ICSP — In Circuit Serial Programmer for flashing a bootloader onto the Atmega328P using a Pocket AVR Programmer.

FTDI — a USB to serial IC converter to flash the flight program onto the Atmega328P. The “AUTO-RST” jumper, when shorted, allowed nominal operation of the flashing process. When the connection was open, the FTDI allowed me to monitor the data logging once the board was powered up without the microcontroller resetting. This was useful for pre-flight checks.

Power — a simple 5V linear regulator. A switching regulator would have been better for efficiency but this was a simpler (and thus faster) design. Based on the low power usage of the board and the size of my battery, I did not mind a slightly inefficient power conversion. That additional waste heat could prove useful in the cold upper atmosphere. The unregulated battery power came in via a connector.

Fuse — I added a replaceable 1.5A fuse to protect the battery and board from short circuits on the PCB.

Thermistors — There were two thermistors. One to measure the internal cabin temperature and the other to measure the external temperature.

Pressure (and Altitude) — I used a breakout board from Adafruit that communicates via I2C. I connected it to the flight computer via a 4-pin connector (PWR, GND, SDA, SCL).

MicroSD Card — This part of the circuit was mostly copied from Sparkfun’s breakout board. This circuit contains a 3.3V regulator (to step down from 5V), a level shifter, and a microSD card socket. The card communicates via SPI.

Battery Voltage Sense — There are better ways to do this via dedicated ICs but I used a simple 1:1 voltage divider consisting of two precise 100kOhm resistors to monitor the loaded battery voltage. The battery had a maximum voltage of 8.4V. The voltage divider helped ensure the maximum voltage present at the microcontroller was below 5V.

Heater — The original intent was to have a power resistor controlled by a MOSFET (controlled via a 5V digital output) on board to generate waste heat to keep the cabin temperature up. I left this out as the freezer tests, although not as cold, showed nominal operation. The safe operation in a low convection environment would have taken awhile to validate.

Overall there were minimal issues. The two major issues I encountered were, 1) accidently de-soldering plated through holes, and 2) identifying poor solder connections on the microSD card socket due to bent pins. These were easily solvable but a pain to identify.

Balloon, Parachute, and Flight Rigging

I got my balloon, parachute and flight line from High Altitude Science. I used a 350g latex balloon which seemed like the most manageable size (with 2-3 people on launch day) and a 1m parachute. The flight line was connected to the four corners of the enclosure via key rings. The other four ends were connected to a ball bearing swivel via another key ring. The other end of the swivel connected to the parachute risers. The loop on top of the parachute was connected to the balloon. The length of the flight line in each segment was about one arm’s length to be handleable but also long enough to hopefully decrease the frequency of any induced oscillations. I followed High Altitude Science’s tutorials on filling and tying the balloon.

Payload > Flight Line > Ball Bearing Swivel > Parachute > Flight Line > Balloon

Pre-Launch Freezer Tests

Learning from Alpha 1, I intended to conduct the freezer test as close to flight representative as possible. The only missing piece was the flight line and parachute. I included insulation, bolted everything down, threw in the GPS units, etc. I also had a pre-flight checklist that I followed to the T as I would and did during launch day. I had to conduct two tests since the first one had one major error.

The camera has two buttons. In Alpha 1, the top button was inadvertently pressed which stopped the recording. In the first freezer test, the power button on the front face of the camera was actually pressed as I butted it up against the enclosure and turned the camera off. I 3D printed a guard for that button.

Improvements

Flight Computer — Future designs might include better voltage isolation for the many different voltages present (battery voltage, 5V logic, and 3.3V logic), a switching regulator, and conformal coating (for condensation protection). The flight computer should also perform many of the self-checks that I manually did, like ensuring that the battery voltage and temperature readings are within the predefined, acceptable ranges for flight.

Enclosure — I definitely need to consider integrations for harness routing and strain relief. I’d also like to reconsider joining mechanisms for faster attachment and removal (e.g. using snap tabs instead of nuts and bolts).

Battery — The battery should be more of an independent unit with its own battery management system (BMS), fusing at the battery, and heater for maintaining an operational battery cell temperature.

Potential Future Ideas

Steadier footage – add a beam with weights on the ends to increase the moment of inertia.

Super light – build the main payload enclosure out of a carbon fiber and epoxy layup for ultimate mass reduction.

Higher – go for an altitude record by using a larger balloon.

Free fall descent – reduce the ground distance traveled by the balloon by having an aerodynamically stable payload free fall from the apex and then deploy a spring-loaded parachute below a given altitude.

Guided descent – use a parachute (or not) for descent but include large wings for guided control.

Space – Open source CubeSat similar to KickSat, ArduSat, or UPSat.

Final Thoughts

This isn’t new, groundbreaking, or even technically challenging but it was great fun and a great learning experience. I highly recommend trying it out for yourself.

Acknowledgements

FAA for providing approval to launch.

My two housemates for showing me how to design a custom board, helping set up for the launch and coming along for the ride.

Autodesk for providing Eagle PCB and Fusion 360 for free.

The open source community for opening up their designs and knowledge to the public.

Project Files

Please enable JavaScript to view the comments powered by Disqus.