The Sky is not the Limit
Prelude - To Launch, or not to Launch?
The launch on August 18th 2011 was actually the third attempt to launch that month. During the first attempt, I kept having issues with the flight computer not saving data to the SD card properly. Eventually, in trying to find a solution, I damaged the SD card shield beyond repair. Having decided that I didn't want to fly without saving data onboard, we cancelled. It's worth noting I had other issues with the flight software, namely that I couldn't get the following functionality out of it:
a) If GPS doesn't have a lock, transmit that it doesn't have a lock
b) When the GPS does have a lock, transmit GPS data
Seems simple right? Turns out not so much, at least not the way I was doing it. Either the GPS would transmit that it didn't have a signal, even if it did in fact have a signal, or it would only transmit GPS data when it got a lock, and transmit nothing otherwise. This can lead to confusion, if we lose communication, as to whether the GPS somehow lost a lock, or if we're having a radio problem. This was another reason not to launch that day.
So we rescheduled for about 10 days later, on Tuesday August 16. I worked on the software for a while and it looked like I had a solution. I didn't have much time to work on it over the weekend while I was working with my dad at the East Coast Rock and Gem show in Springfield, MA. But as soon as I got back on Monday I got to FUBARlabs (where I'd been doing most of the work on this project since about June/July) and started working feverishly towards launching. After many, many hours, it turned out that the new files I'd gotten for writing to an SD card still didn't work on the Uno32, so we switched back to a standard Arduino Uno, and now the radio transmissions weren't working. Without successful transmission, we figured there was no point in launching. And if I recall correctly, I still hadn't quite managed to fix those issues with the GPS software that had plagued me earlier.
At this point I was getting ready to head back to Indiana for classes at Purdue, and it looked like another launch attempt was out. It was upsetting but I didn't see any other way. I had a chat that night with several persons on the #highaltitude channel of IRC freenode. I was mentioning my failed attempts at launch and started talking to Dan-K2VOL. I had read his story of his first launch, where they had programmed the GPS to stop transmitting after two hours and miraculously experienced a computer crash that gave them two more hours of GPS data which led to them finding the payload. Below is a transcript of the conversation (my emphasis in red)
a) If GPS doesn't have a lock, transmit that it doesn't have a lock
b) When the GPS does have a lock, transmit GPS data
Seems simple right? Turns out not so much, at least not the way I was doing it. Either the GPS would transmit that it didn't have a signal, even if it did in fact have a signal, or it would only transmit GPS data when it got a lock, and transmit nothing otherwise. This can lead to confusion, if we lose communication, as to whether the GPS somehow lost a lock, or if we're having a radio problem. This was another reason not to launch that day.
So we rescheduled for about 10 days later, on Tuesday August 16. I worked on the software for a while and it looked like I had a solution. I didn't have much time to work on it over the weekend while I was working with my dad at the East Coast Rock and Gem show in Springfield, MA. But as soon as I got back on Monday I got to FUBARlabs (where I'd been doing most of the work on this project since about June/July) and started working feverishly towards launching. After many, many hours, it turned out that the new files I'd gotten for writing to an SD card still didn't work on the Uno32, so we switched back to a standard Arduino Uno, and now the radio transmissions weren't working. Without successful transmission, we figured there was no point in launching. And if I recall correctly, I still hadn't quite managed to fix those issues with the GPS software that had plagued me earlier.
At this point I was getting ready to head back to Indiana for classes at Purdue, and it looked like another launch attempt was out. It was upsetting but I didn't see any other way. I had a chat that night with several persons on the #highaltitude channel of IRC freenode. I was mentioning my failed attempts at launch and started talking to Dan-K2VOL. I had read his story of his first launch, where they had programmed the GPS to stop transmitting after two hours and miraculously experienced a computer crash that gave them two more hours of GPS data which led to them finding the payload. Below is a transcript of the conversation (my emphasis in red)
Aug 16 13:56:29 i was reading through that story earlier, and i was wondering, as i was scrubbing my launch attempt for today, why did you guys decide to launch with so much testing undone?
Aug 16 13:57:33 Because that's the way UTARC roll{ed,s} :-p
Aug 16 13:57:36 testing schesting :P
Aug 16 13:58:33 it was our first one, and had scheduled a lot of help to be there, had helium delivered to launch site (we didn't have a truck) and we were not yet good amateur baloon engineers.
Aug 16 13:58:58 so going back, would you still make the call to launch that day?
Aug 16 13:59:21 the early flights taught us the lesson to do so though, and though we decided to do trans-atlantic after that first flight, we didn't attempt to do so for another 19 flights
Aug 16 13:59:57 hmm I have to re-read the story, I've done over 30 flights
Aug 16 14:01:33 i was just thinking last night, about the stories i read where things didn't go quite according to plan, but they still recovered the payload, and was somewhat encouraged. but it's been a largely individual project for me and it seemed the only was to launch was to risk everything and i simply didn't want to do that
Aug 16 14:02:22 and i surmised that the reason i haven't seen stories where things havent gone according to plan and they didn't recover the balloon is because people are probably too demoralized to post them....
Aug 16 14:04:11 I would say yes, if dropped into the situation at 5:30AM, I would say yes, we should launch. The value of experience of a real launch and chase was worth more for future flights than the value of the electronics which could have been lost
This is what really inspired me to try again on Thursday. I didn't really commit to it, however, until I had rewritten all my code from scratch, and without using that TinyGPS library, and got it working exactly as necessary. This was inspired by Upu, another frequenter of #highaltitude, who was generous enough to share his code with me. I saw that he hadn't used TinyGPS and wrote everything from scratch - and he had it working.
Around mid-afternoon on Wednesday, it looked like my code was working. It was successfully verifying the checksum on the GPS sentences, parsing them as necessary, and reporting signal quality and location as expected. I was ready to go!
I called Eric from FUBARlabs and we got down to the labs around 6:30pm and started making final preparations for launch. Mostly this involved actual construction of the payload box and running some final tests on the flight computer and radios. At 10:30pm, we disbanded, leaving the electronics to charge. The only thing we hadn't figured out was how to attach the balloon to the parachute...
This nearly stopped the show at the last minute. I wasn't sure how to do it, but I had an idea. I asked on #highaltitude:
Aug 17 21:14:53 what's a solid way to attach the balloon to the parachute? just glue the line onto the chute, or pass it through and make a stopper on the other side?
Aug 17 21:15:45 nickolai89 has quit (Client Quit) [My other computer signs off as it shuts down...]
Aug 17 21:52:28 juxta has quit (Quit: Leaving)
Aug 17 22:00:37 wolfspraul ([email protected]) has joined #highaltitude
Aug 17 22:14:06 nickolai: no glue!
Aug 17 22:14:22 zdorovo aleksei
Aug 17 22:14:22 sew a loop to the top
Aug 17 22:14:28 sew?!
Aug 17 22:14:47 you know, with a sewing machine
Aug 17 22:14:52 or thread and needle
Aug 17 22:14:55 :P
Aug 17 22:15:07 lol, I don't know how to sew!
Aug 17 21:15:45 nickolai89 has quit (Client Quit) [My other computer signs off as it shuts down...]
Aug 17 21:52:28 juxta has quit (Quit: Leaving)
Aug 17 22:00:37 wolfspraul ([email protected]) has joined #highaltitude
Aug 17 22:14:06
Aug 17 22:14:22
Aug 17 22:14:22
Aug 17 22:14:28
Aug 17 22:14:47
Aug 17 22:14:52
Aug 17 22:14:55
Aug 17 22:15:07
Thankfully, Jackie, another FUBAR member, was quite adept at sewing, and we had just the right material to sew a loop to the top of the parachute to attach the cord from the chute to the balloon.
We wrapped up last minute operations at FUBARlabs and left for a launch site in northwestern NJ around 10:30am. Doppler radar showed this was the area with the least clouds, which is why we picked it. Unfortunately, we had to make a detour to my house to pick up the balloon, which had somehow slipped my mind as I was packing the many "just in case" things into my car.
The Hardware
Planned
- Motorola i296 phone with Boost Mobile service
- Canon PowerShot SD400
- Kodak Zi8 flipcam
- Flight Computer, consisting of:
- Arduino Uno Microcontroller
- Inventek ISM300F2 GPS chip
- Radiometrix NTX2 434.65MHz radio transmitter
- Micro SD card shield for Arduino
Actual
- Motorola i296 phone with Boost Mobile service
- Cannon PowerShot SD400
Not quite that many.... Some GPS issues at the launch site forced me to ditch the flight computer. Without the flight computer, tracking would be based solely on the cell phone, and given that condition I didn't want to risk my nice flipcam. A used camera I bought on Amazon for $50 (the PowerShot), that I was OK with risking.
Other than the payload box, the following hardware was involved:
Other
The Launch
Just shy of 1pm we arrived in Hope, NJ, where I had decided to launch from, already on the later end of when I wanted to launch. We drove around Hope for a bit, and decided on a school soccer field as our launch site. We parked and started unloading the car and getting to relevant items. I asked Jackie and Eric to start filling the balloon with helium while I set up the payload (i.e. get GPS online, turn on all electronics, etc.) The GPS was taking it's sweet time to get a lock as usual, so I set about reviewing the helium calculations to determine exactly how much we would need. I already knew we would need nearly the entire bottle, it was just a question of figuring out the final tank pressure.
As I mentioned, I was also trying to get the GPS to work. I uploaded a simple reader program I used to just read raw GPS output (no transmission, no parsing, just looking at raw data). At this point, I've gotten quite adept at reading NMEA sentences, and saw that not only was it not getting a lock, the GPS unit WASN'T SEEING A SINGLE SATELLITE! Not one! Utterly perplexed, I moved the unit away from the car and set it in the middle of the field, away from any possible interference, and left it there as I went to finish the helium calculations. When I went back to check on the GPS after 5 minutes, it still wasn't seeing any satellites. Given this information, I made the call to ditch the flight computer and launch the payload with the cell phone as a GPS transmitter. The now much simplified payload looked like this:
As I mentioned, I was also trying to get the GPS to work. I uploaded a simple reader program I used to just read raw GPS output (no transmission, no parsing, just looking at raw data). At this point, I've gotten quite adept at reading NMEA sentences, and saw that not only was it not getting a lock, the GPS unit WASN'T SEEING A SINGLE SATELLITE! Not one! Utterly perplexed, I moved the unit away from the car and set it in the middle of the field, away from any possible interference, and left it there as I went to finish the helium calculations. When I went back to check on the GPS after 5 minutes, it still wasn't seeing any satellites. Given this information, I made the call to ditch the flight computer and launch the payload with the cell phone as a GPS transmitter. The now much simplified payload looked like this:
A cell phone and a camera. A far cry from my initial goal of launching a rocket from the balloon and tracking it live.
I should also mention a fairly critical piece of information here. I had done battery tests on the cell phone twice. In one test, it was set to transmit its location every 5 seconds (the default), and it lasted just shy of 5 hours. In the second test, conducted shortly after the first one, I set it to transmit every 90 seconds, thinking it might increase battery life. This second test lasted for 2.5 hours. Increasing the time between transmissions decreased battery life. I was surprised, but assumed that perhaps this had to do with the quick turnaround time between tests. Perhaps the phone had not gotten a full charge, despite reporting so? Now we were at the launch site and this seemingly trivial piece of information about a backup system was now crucial to the success of the flight. I had charged the phone all night, so I hoped it would work. Sadly, only after I had taped up the package did I realize that I had forgotten to change the transmission settings back to 5 seconds. Just in case it was a real anomaly and not battery related, it made sense to change it back. At this point though we were ready to launch. I satisfied myself with two thoughts:longer transmission times should in theory increase battery life, and that I must not have charged it fully before the second test.
Now that the GPS transmitter would not be part of the payload, I looked at my helium calculations and said "Empty the bottle." The more helium we put in, the lower the burst height would be, and the faster we would get there. The tank capacity should have gotten us somewhere around 28-30km within about 90 minutes. With no GPS, and therefore no way to record how high we got, what was the point of trying to fill it with a specific amount to reach a target altitude? And with the uncertainty regarding the cell phone battery, it was best to do everything possible to shorten the flight.
Having ditched the GPS, I secured the camera and the cell phone turned them both on, and closed up the box. When I turned the camera on, I saw the battery read 51%. Again, I was perplexed, as I had left it to charge all night. But, there was nothing I could do about it at that point.
I didn't even check to see if the tracking service was actually receiving the phone's location: I just wanted to launch. In retrospect, of course, this seems like poor judgement, but we had already gotten so far, and I didn't know when I would get another chance to launch. Not for several months at least, so I kept in mind Dan's words about the value of the launch and the value of the electronics. At this point the balloon was fully inflated as well, which meant that to cancel would be a waste of helium in addition to time and money. I taped the box together, attached the parachute, and at 2:40pm on August 18th 2011 we were off.
I should also mention a fairly critical piece of information here. I had done battery tests on the cell phone twice. In one test, it was set to transmit its location every 5 seconds (the default), and it lasted just shy of 5 hours. In the second test, conducted shortly after the first one, I set it to transmit every 90 seconds, thinking it might increase battery life. This second test lasted for 2.5 hours. Increasing the time between transmissions decreased battery life. I was surprised, but assumed that perhaps this had to do with the quick turnaround time between tests. Perhaps the phone had not gotten a full charge, despite reporting so? Now we were at the launch site and this seemingly trivial piece of information about a backup system was now crucial to the success of the flight. I had charged the phone all night, so I hoped it would work. Sadly, only after I had taped up the package did I realize that I had forgotten to change the transmission settings back to 5 seconds. Just in case it was a real anomaly and not battery related, it made sense to change it back. At this point though we were ready to launch. I satisfied myself with two thoughts:longer transmission times should in theory increase battery life, and that I must not have charged it fully before the second test.
Now that the GPS transmitter would not be part of the payload, I looked at my helium calculations and said "Empty the bottle." The more helium we put in, the lower the burst height would be, and the faster we would get there. The tank capacity should have gotten us somewhere around 28-30km within about 90 minutes. With no GPS, and therefore no way to record how high we got, what was the point of trying to fill it with a specific amount to reach a target altitude? And with the uncertainty regarding the cell phone battery, it was best to do everything possible to shorten the flight.
Having ditched the GPS, I secured the camera and the cell phone turned them both on, and closed up the box. When I turned the camera on, I saw the battery read 51%. Again, I was perplexed, as I had left it to charge all night. But, there was nothing I could do about it at that point.
I didn't even check to see if the tracking service was actually receiving the phone's location: I just wanted to launch. In retrospect, of course, this seems like poor judgement, but we had already gotten so far, and I didn't know when I would get another chance to launch. Not for several months at least, so I kept in mind Dan's words about the value of the launch and the value of the electronics. At this point the balloon was fully inflated as well, which meant that to cancel would be a waste of helium in addition to time and money. I taped the box together, attached the parachute, and at 2:40pm on August 18th 2011 we were off.
FYI that's Eric from FUBARlabs in the video, not me (I'm the voice behind the camera). We watched the balloon go up for a few minutes, and started cleaning up the launch site. With the car now packed and running, and no radio transmissions to track, we headed home. Shortly, as we stopped for hydration on the way back, I tried bringing up the tracking service on my iPhone, and was pleased to see it was working.
The Recovery
The tracking service was working, and later I would see there was enough data within these points to get an ascent rate for the balloon. We headed home now pleased with the fact that we had gone though with everything and successfully launched. I drove Eric and Jackie back to FUBARlabs, and then headed to return the helium cylinder only to find the place closed at 4:30, not 5, as I had foolishly assumed without checking. No matter though, the tank rental was for a month (most tank rentals are like this) so there was plenty of time to return it. I headed home and started slowly packing for my trip back to Indiana where I would finish a math degree at Purdue, while keeping one eye on the tracking screen. Using habhub's predictor beforehand showed the flight should last about 3.5 hours, so I carefully watched the screen and expected tracking sometime between 6 and 7.
I was on the phone with a friend, telling the story of the launch and how I was still expecting tracking, but not very optimistic. All sorts of things could happen - the cell phone's battery could die early, it could land in a zone without coverage... even if we did recover it, the camera, which had been secured simply with masking tape, might have become unsecured and would only have photos of the inside of the Styrofoam box. The call disconnected, and figuring she would call me back in a minute I refreshed the tracking page on my phone out of curiosity, wondering if maybe I would see something. And sure enough, there was a new dot! I quickly ran to the computer and saw that there were actually several dots located in an area near Hamburg, NJ. I noted the latitude and longitude on my phone and bolted out the door before I barely had time to figure out how to get to wherever it was I was going. I drove for about an hour, anxious and eager to find my payload. I nervously drove closer and closer, hoping it hadn't landed in one of the many trees around me. I got to the location the phone was transmitting, and started searching through dense foliage.
Desperately searching for around half an hour, I finally spotted the payload, and wondered how I had missed it before:
I was on the phone with a friend, telling the story of the launch and how I was still expecting tracking, but not very optimistic. All sorts of things could happen - the cell phone's battery could die early, it could land in a zone without coverage... even if we did recover it, the camera, which had been secured simply with masking tape, might have become unsecured and would only have photos of the inside of the Styrofoam box. The call disconnected, and figuring she would call me back in a minute I refreshed the tracking page on my phone out of curiosity, wondering if maybe I would see something. And sure enough, there was a new dot! I quickly ran to the computer and saw that there were actually several dots located in an area near Hamburg, NJ. I noted the latitude and longitude on my phone and bolted out the door before I barely had time to figure out how to get to wherever it was I was going. I drove for about an hour, anxious and eager to find my payload. I nervously drove closer and closer, hoping it hadn't landed in one of the many trees around me. I got to the location the phone was transmitting, and started searching through dense foliage.
Desperately searching for around half an hour, I finally spotted the payload, and wondered how I had missed it before:
It was about 25 feet up in the tree. I carefully started climbing the tree, thinking back to all the practice I had gotten in that endeavour as a kid, but couldn't quite get high enough. I tried shaking the tree to no avail. Disappointed that I couldn't get it down, but happy that I had successfully found my payload, I headed back home. I came back the next day with a friend of mine who ran a home improvement business and we were armed to the teeth. We had a rope with hooks on the end of it, several size ladders up to 40ft, and a couple chainsaws. One way or another, we would get that payload down! We ended up using the ladder and a large stick to get just high enough to pick it up. My friend on the ladder dropped it down, and I happily caught it. We then went back to the van and hooked up the camera to my computer:
Pictures!
Denouement
As it turns out, the camera battery died about an hour into the ascent. Predictions from habhub and data from the cell phone and drop tests indicate the ascent was about 90 minutes, so the highest photo is only from around 18km. It was a bit disappointing at first, but the more I look at the photos, the more I enjoy them. And I'm really happy about replacing the generic clouds banner at the top of this site with a picture of my own.
Even with 90 seconds between transmissions, the cell phone managed to send just enough data points during the flight to be able to get an ascent rate, very useful data for calculating altitudes. On the way back, the transmissions started too close to landing to be able to get a descent rate, but this is something we can figure out from drop tests now that we have the payload back. However, using estimates for descent rate from the drops performed earlier, and the time of flight, I've come up with the following graph:
Even with 90 seconds between transmissions, the cell phone managed to send just enough data points during the flight to be able to get an ascent rate, very useful data for calculating altitudes. On the way back, the transmissions started too close to landing to be able to get a descent rate, but this is something we can figure out from drop tests now that we have the payload back. However, using estimates for descent rate from the drops performed earlier, and the time of flight, I've come up with the following graph:
Where the two lines meet is the maximum altitude of 29633 meters.
Cheers to a successful skill-building flight in the pursuit of higher and higher altitudes! Dan-K2VOL was right, this experience was far more valuable than the value of the things we could have lost. You can always build a new payload, but you can't learn how to properly launch a balloon without launching a balloon. With this experience under my belt, I plan for the next flight to include the flight computer so we can get live GPS data and chase the payload as it flies. Eventually, I intend to realize my ultimate goal of launching an amateur rocket from a high altitude balloon.
Cheers to a successful skill-building flight in the pursuit of higher and higher altitudes! Dan-K2VOL was right, this experience was far more valuable than the value of the things we could have lost. You can always build a new payload, but you can't learn how to properly launch a balloon without launching a balloon. With this experience under my belt, I plan for the next flight to include the flight computer so we can get live GPS data and chase the payload as it flies. Eventually, I intend to realize my ultimate goal of launching an amateur rocket from a high altitude balloon.