One of our biggest motivations in establishing the Casa de Balloon Club was to get our very own pictures from the edge of space! Most of our photography is done using either cell phone cameras or low-end mirrorless compact cameras.

First Launch

Our first launch outing just relied on the cameras built into cheap Android phones:

As we learned, the secret to balloon photography is the same as the secret to all photography — take a ton of pictures and only show the good ones!

The biggest challenge with shooting from balloons is that we really have no control over orientation, so most of our photos end up looking like this:

But sometimes the horizon lines up just right, and we get a beauty:

Second Launch

Armed with the confidence that we knew how to both launch and recover balloon payloads, we decided our second launch outing would feature bigger, heavier, better cameras.

On one of our payloads, we used a GoPro Hero 3+ Black pointing out the side and set to 4K 15fps. In order to make it work, we had to mod the GoPro to run off Energizer Ultimate Lithium AA batteries.

This was done by splicing a 3xAA battery holder into into a GoPro AC coupler:

We also used high-quality Sandisk Ultra 64GB microSDXC cards because we'd hate for a faulty memory card to ruin our day.

The resulting video looked awesome, especially with the wide-angle lens of the GoPro!

We also got a pretty good sense of just how much motion one of our payloads undergoes during launch, ascent, and descent.

Our other payload contained a Sony NEX-3N mirrorless camera with a Sony 16mm f/2.8 pancake prime lens. We chose this particular camera because it was one of the cheapest and lightest mirrorless cameras that supported an external intervalometer. For lenses, we wanted the widest lens we could get that was still reasonably cheap and light, thus the Sony 16mm f/2.8.

 Sony NEX-3N camera with Sony 16mm f/2.8 pancake prime lens

One of the biggest challenges for us was not really having any idea what the appropriate exposure settings were for high in the atmosphere. Given that it was bright daylight, we decided to shoot in shutter-priority with 1/2000 second shutter speed and ISO-200, and let aperture vary to set exposure.

This worked out pretty well:

Most of our pics ended up with aperture settings of f/5.6 to f/8. We shot in RAW+JPEG format and had plenty of space on our 64GB Sandisk Ultra SDXC card.

The other big challenge we had is actually triggering the photos. Frankly, it's inexcusable for any camera these days to not have an intervalometer built in, but with the Sony, we had the next best thing — a terminal to hook up an external intervalometer.

That particular intervalometer was designed for terrestrial use, and is rather big and clunky for what it actually does. The way most SLR/mirrorless intervalometers work — including this one — is that they have 3 wires: focus, shutter, and GND. Normally, focus and shutter wires are held floating/high (5V). To take a picture, the intervalometer first brings the focus wire low/GND, then pulses the shutter wire low/GND, and then brings the focus wire back to floating/high (5V).

We decided to cut the end off the intervalometer and wire it up to an arduino with a simple sketch.

We did not place any filters on the camera. Though we would be risking damage to the front element of the lens in a crash, we also avoided potential issues with condensation. Since the lens was cheap, this was an acceptable trade-off.

Third Launch

Feeling good about our newly acquired near-space photography skills, we decided our third launch outing would tackle an unreasonably complex photography goal: capturing a sunrise from the edge of space!

We set a target launch time of one hour before sunrise so that our balloons would be way up high before the sun made its appearance.

Photography is all about trade-offs — balloon photography even more so. We wanted to get decent photos of the ground during both twilight and sunrise, which is a very wide range of exposure conditions. We wanted the biggest sensor and fastest wide-angle lens we could find, but had to remember that there was a good chance we would never see the equipment again. Also, heavier cameras and lenses meant more helium and bigger balloons, driving up total launch cost.

After much online research and reading many reviews, we decided to try two different payloads. The first was our trusty NEX-3N + 16mm f/2.8 lens, but with the addition of a 0.75x wide-angle converter. We kept the camera in shutter-priority, but changed the shutter speed to 1/500s and auto-ISO (capped at 3200). We also decided to switch to continuous-shutter mode and enabled auto-exposure bracketing (+- 0.3 EV) with a center at -0.3 EV.

We modified the arduino intervalometer sketch to hold the shutter line low for two seconds. This triggered a burst of three shots — one at -0.3 EV and two bracket shots at -0.7EV and 0EV. We found the best shots were either at -0.3EV or -0.7EV.

Center Exposure (-0.3 EV)

Low Bracket Exposure (-0.7 EV)

High Bracket Exposure (0.0 EV)

Of course, with these settings, we captured nothing but darkness for the first half hour of flight:

For our second sunrise camera, we decided to try the Canon EOS-M paired with a manual-focus manual-aperture Rokinon 12mm f/2.0 lens. It's neither the lightest nor the best mirrorless camera available, but it has one very unique quality: thanks to the efforts of the team at Magic Lantern, it's fully programmable. This meant we would be able to experiment with many more combinations of ISO and shutter speeds to see what worked best for low-light ballooning.

Unfortunately, the EOS-M port of Magic Lantern is still a bit rough around the edges, and one of the main things it lacks is support for a simple script interpreter. Which meant if we wanted to program it, we'd have to be compiling and loading our own binary module — wooooo!

This sounded like an intimidating task, but the Magic Lantern community forums were super helpful and had a great guide to get new developers started.

With a weekend of hacking, we had our very own custom intervalometer module which seemed to work great, cycling through five different shutter speeds (1/4000, 1/2000, 1/500, 1/250) with auto ISO (capped to 3200) to cover our full range of shooting situations.

This module worked great when bench-testing sunrises and sunsets on the ground. But unfortunately something changed between our ground tests and launch day, and though the intervalometer script ran perfectly, the camera simply ignored the shutter settings and chose to set them automatically. As a result, most of our photos were exceptionally blurry:

Sometimes we got lucky, though — this shot wasn't too bad given a 1/20s shutter:

We also learned that sunrises themselves are exceptionally hard to capture because of the ridiculous dynamic range necessary to capture a dark ground and a sun peeking over the horizon. In most cases we just saw pretty abstract color patterns rather than anything resembling landscape.

We also had to deal with a ton of lens flare on both cameras — shooting into the sun is not easy!

But despite all these challenges, we learned that the absolute best view of the California landscape comes during twilight hours. Look at the way the light highlights the texture and colors of the ground:

Fourth Launch

Our fourth launch focused less on photography and more on improving our tracking software and system. But we still got some great photos from all of our phones as well as our one Android-equipped camera.

We were hoping to get some awesome video from this launch by putting a GoPro Hero 4 Black in each payload, all running at 4K 30fps. We equipped them with 3x sets of battery packs and 128GB SDXC cards, which provided up to 6 hours of continuous recording in our ground tests.

Unfortunately, one thing our ground tests didn't take into account is that the GoPro Hero 4 Black has a terrible overheating problem, which makes the 4K 30fps mode unusable for anything other than short bursts. After running into this problem the hard way with three payloads' worth of missing footage, we learned that this is a known issue. The fix according to GoPro is simple — "only use the camera for short clips", thus leading to the nickname "NoGo Hero 4 Black".

Future Launches

We have many more photography-related experiments for upcoming launches, including:
  • Fix the Magic Lantern module and get some quality sunrise or sunset shots
  • Add an IMU (gyro/accelerometer) to the intervalometer Arduino and program it to trigger photos only when level or relatively motionless
  • Try to stitch together 360-degree panoramas
  • Experiment with live-streaming FPV
  • Try out a lightweight gimbal


  1. I love this stuff guys. Please keep doing more flights. It's so cool to see how hyped you all get when it takes off and you retrieve it. Great stuff, and awsum photos to

  2. This comment has been removed by a blog administrator.

  3. This comment has been removed by a blog administrator.

  4. This comment has been removed by a blog administrator.

  5. This comment has been removed by a blog administrator.