3D Robotics

Via Hackster.io. From the YouTube description:

The goal of this project was to drop a glider from the edge of space using a high altitude weather balloon. The glider is entirely homemade and uses the opensource Pixhawk flight controller + a Raspberry Pi Zero to disconnect at the desired altitude and fly to a predetermined landing location. There is no direct radio contact with the aircraft, but we included a GPS tracker made for cars in case the glider didn’t make it to the landing site. We tested the glider by first dropping it from a homemade quadcopter. This took 6 test-flights.

Satisfied that everything was working properly, we prepared to launch the glider from the balloon. Although our target was 30km, we only had a few free days to launch, and on every day predictions showed that strong stratospheric winds would blow the glider hundreds of miles into the ocean if we launched from that height. We settled for a 10km launch altitude, and set the Pixhawk to land at a location within 20km of where the predictions estimated it would end up if it simply free-fell from the balloon.

We inflated the balloon, tied the glider to a long string to minimize swinging, and let it go. It was a two hour drive from the launch site to the landing location, and when we got there the glider was sitting on the ground roughly 10m from the target! Max Altitude: 10.048km, 6.243mi Max Speed: 95.5m/s, 212.5mph Time Aloft: 2hrs 8min 18s Dist Traveled: 195.95km, 121.76mi

THE GLIDER: The glider is built from foamcore with coroplast for winglets and control surfaces, and laminated with colored tape for water-proofing. It carries two mobius cameras, two servos, a pixhawk flight controller with GPS, and a separate GPS/GSM tracker. Critically, all the electronics are inside the fuselage, which we packed with handwarmers and sealed shut before the flight to keep anything from freezing. Two 5200mAh 3s batteries provided more than enough power for a two hour flight (we were hoping to fly longer and higher). The takeoff weight was ~1300g.

THE FLIGHT CONTROL: We used a Pixhawk for flight control. A Raspberry pi zero is connected to the pixhawk via USB and communicates with the Pixhawk using the Mavlink protocol. A simple python script on the Pi sets the flight mode on the Pixhawk to MANUAL on startup to prevent the servos from moving and wasting the battery during ascent. The script continuously checks the altitude, and when it reaches the target, triggers a solid state relay to burn a short piece of nickel-chromium wire, disconnecting the glider from the balloon. The script then sets the flight mode to AUTO, so the Pixhawk will direct the glider to a single target waypoint. Source code: https://github.com/IzzyBrand/spaceplane

THE BALLOON: The ballon is an old military surplus balloon I bought off ebay for $60. Not sure what the actual size was, there was little documentation. It came with a skirt which we cut off to save weight. We inflated it with half a K-tank of helium, though we probably could have gotten by with an S-tank. At launch, the balloon was generating a lift force of ~3000g. We used the http://habhub.org/ predictor to estimate the flight path and select a disconnect altitude of 10000m.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Awesome job, thanks for sharing.
  • For high altitude winds I used the excellent habhub predictor. They have a bunch of other useful tools for high altitude weather balloon launches.

    Now that this is getting some views, please help me figure out why the glider oscillated in roll for like 20 minutes on the way down! Here's the discussion post.

    CUSF Landing Predictor 2.5
  • Where do you get data on stratospheric winds?
    I like this one.. nice graphic :-)


    earth :: a global map of wind, weather, and ocean conditions
    See current wind, weather, ocean, and pollution conditions, as forecast by supercomputers, on an interactive animated map. Updated every three hours.
  • ...meant to say, "Thank you" and "Awesome project!!!" :)
  • Hello,
    You write that "every day predictions showed that strong stratospheric winds would blow the glider hundreds of miles into the ocean if we launched from that height".
    Where do you get data on stratospheric winds?
  • This is amazing. DIY SPACE Planes :D

  • Wow.. Congrats.

    We actually did almost the same exact thing a few years back. But we didn't use RasPi for release mechanism. Our engineer was actually add a few lines of code to the ardupilot code to have several release condition. I believe it should be on the github repository although may never made it into the release.

    The additional code check for altitude and trigger a servo if any of the following condition met:
    - Altitude reached the target (e.g. 10km)
    - Constant descend for 3 seconds (incase the balloon prematurely burst)
    - Time since launch is 120min (incase the balloon didn't burst and dangerously float at high altitude)
    - Manually triggered from Mission Planner

    Let me know if you need information from our flight.
    It was an open project so we will happily share.

This reply was deleted.