GPS Guided Parachute Recovery System

Public Chat
Similar projects worth following
How can we simplify the recovery of scientific experiments we send everyday in the atmosphere? How can we explore further the earth and other planets using flying robots?

R2Home is a part of the answer, a simple system that you can drop from anywhere, to get it to fly autonomously anywhere.

The last prototype could be seen in action on this video:

This video is a compilation of multiples flight tests to see the system from different angles:

On this video I'm talking in details about how I went from the idea to the system:

And this is a raw assembly video:

See "project logs" for the project history!

So this is R2Home:  a fully autonomous, and flight proven GPS guided recovery system. But how do we get there, and what is important to get a working R2Home?

The general idea we want to reach. 

Main details : 

R2Home is composed of few main elements : The tube containing the system (A), the wing in its deployment bag (B), the extraction parachute or "drogchute" (C)

R2Home has two main objectives, the first one is to automatically deploy at the right altitude a parachute or a paraglider canopy. The second is to automatically pilot this canopy to the desired GPS landing point. 

A - The deployment of the wing 

The canopy is folded in the Dbag following a precise folding pattern to avoid tangles during deployment. Then we need a way to get the canopy out of the Dbag at the right time. The drogchute is used as an extraction force. The deployment mechanism allows to use this force at the right time. 

Thus, once the system + drogchute has reached its terminal velocity, i.e. about 7 m/s, the force exerted by the drogchute on the DBag is almost directly the weight of the system. It is interesting that this drogchute is also as big as possible, since it allows in case of non-triggering of the canopy opening, to have a system which is not too dangerous. 

However, after the deployment of the canopy, the drogchute remains attached to the canopy, and therefore if it is too big, it will completely prevent the canopy from flying properly. The solution to this problem is to use a "magic" drogchute, which can be both large before deployment, and small afterwards. 

The automatic deployment of the canopy is realized with a condition of vertical speed deduced from the barometer and altitude merged between the GPS and the barometer. For example if we want to deploy the canopy at 100m. We look if the vertical speed is lower than -3m/s and the altitude lower than 100m, and in this case the deployment is triggered 

B - The autonomous flight 

Once the canopy is open, it must now be flown to the desired landing point. The first question is how to steer the canopy?

At the beginning of the project, a "square" ram-air parachute canopy (easier to deploy) was used. Now the wing used is a single skin RC paraglider. This second wing type has better flight performances.  

Both types of wings are steered the same way, using two control lines, each connected to either the right or left trailing edge of the wing. 

When the right control line is pulled, the right side of the canopy is braked, and the canopy turns right. And vice versa for the left line. To turn, you have to pull one line, and release another. In a very precise way, over a distance of about 8cm.  

                                A special, modified servo is used for this purpose 

A normal servomotor often has a stroke of between 90° and 180° (110° on average), as they are designed to be used for linear motion, so there is no need to turn more than 180°. However, a movement of ~110° on a spool small enough to fit in the tube volume would only lead to a movement of about 2.5cm. 

The solution is to use a continuously rotating servo motor with a feedback sensor, which gives us the 360° position. A micro controller has then been integrated inside the servo housing (we see its USB-C plug) to control the rotation speed of the servo to reach the desired position with a PID controller. Thus it is possible to control this servo motor like a normal servo motor, but on 360° instead of lest than 120°. It is therefore possible to pull a line over 8cm. 

A 3D printed part is then used as a drum for the spool, to prevent the thread from getting out of the spool. 


Read more »


PCB Schematics

Adobe Portable Document Format - 97.94 kB - 09/27/2021 at 11:53


PCB Fabrication file

Zip Archive - 86.12 kB - 09/27/2021 at 11:18



Special Barometer Library to use I2C 2 port

h - 7.66 kB - 07/20/2021 at 08:17



Special Compass Library to use I2C 2 port

h - 1.31 kB - 07/20/2021 at 08:17



Special Compass Library to use I2C 2 port

cpp - 8.52 kB - 07/20/2021 at 08:17


View all 10 files

View all 19 components

  • this.. is R2Home!

    Yohan Hadji09/06/2021 at 11:20 0 comments

    Hi there! 

    In the last project LOG, it told you we were close from reaching our objective: dropping the system high and far in the sky from the drone, open the wing autonomously at the right altitude, and flying autonomously back to home. 

    Today, I am incredibly happy to be able to tell you that this goal has been reached!

    Here is the video: 

    On that flight if you look at the GPS trace, you can see that the wind was coming from the bottom left of the square. You can also see that the wing was able to fly upwind. 

    The trace isn't a straight line, because the controller isn't optimal, but I will now be able to optimize it. If the controller is perfect, and the wind speed >! wing forward speed, to trajectory should theoretically be a straight line. 

    However I think I can safely say the landing precision is already great enough: 

    That day, I also did a second test that isn't on the video above, the test was also successful, and just for you, here is the video: 

    The name of this video is "fly me to the ground" in reference to the song "fly my to the moon" by Frank Sinatra. Now that the system is working great on a short flight, we can dream bigger: "Fly me to the ground" will be the official name of R2Home's first high altitude mission. 

    You will find on github the latest kad and kod for this operational version. I'm still working on more documentation. 

    And finally here is a composite picture of R2Home: 

    R2Home will fly higher, on a model rocket or on a stratospheric balloon I don't know yet, but that's also what's cool! 

    Everything is possible!  

    Thanks for everything, for your support and your interest! 

    - Yohan 

  • Let's.. Assemble!

    Yohan Hadji08/26/2021 at 14:14 0 comments

    Hi there! 

    Last time I wrote a project LOG, I told you that R2Home was now technically capable of reaching the final objective. The only missing part was really the software and the autopilot. 

    The first good news is that there has been a lot of progress on these two things! 

    But what’s the objective already? The objective is to drop the system at ~100m of altitude and ~100m of distance, to get it to autonomously deploy its wing at a given altitude, and then fly autonomously to to the home location. 

    The first part - the autonomous deployment of the wing at the right altitude, is now really proven to work on many flights.

    The autopilot thought, wasn’t really working until yesterday. As you might have seen on one of the latest videos : 

    On this flight, we had multiple problems with the autopilot. What we can see is that the wing is flying a bit in the right direction, but then it quickly overshoots and enters a dead spiral. The only way to get out of the dead spiral was to bring back control to neutral, and let the wing fly again. 

    The first reason for this problem was the reliability of the data used by the autopilot. At the moment, the only data - less is more - used is the course over ground given by the GNSS receiver (fancy name for GPS) . 

    This first part of this first problem was in the way the GPS is communicating with the onboard controller. The GPS is sending a position estimation message every 200ms, this message is put in a buffer by the onboard controller before, or while parsing it to update the controller. But the buffer was too small to fit one full message, which meant that if the computer was not exactly emptying it as soon as the message was entering the buffer, then information was lost. 

    The result was that every ~5s, the GPS position wasn't updated for  ~1 or ~2s. 

    The second problem is that the GPS course over ground is only calculated and updated by the GPS if the speed > ~1m/s. And if the speed is lower than ~1m/s, then the data output is frozen. 

    So what I needed, in addition to a bigger buffer size, was a function, to detect, using speed and course over ground variation, whether the course over ground is valid or not. 

    If valid, then command is calculated and applied to the servos, otherwise, the command is brought back to neutral. So we are sure that, if the data is wrong, then we are just flying in a straight line. 

    I also had to set the gain a bit lower than on this first test, to make sure, there isn’t enough command applied to enter the dead spiral, but in any case, there is also another function that monitors the vertical speed, and if it’s way too low (<-5m/s) then the command is brought back to neutral to get out of the spiral. 

    See the spiral on this graph? 

    And so here is the result : 

    What you are looking at is the GPS trace of R2Home’s motorized version, it’s using the same servos, the same onboard controller, there is just a thruster, to be able to lift off from the ground, instead of using a drone drop to conduct a flight test. 

    Here is also the direction sepoint and the measured direction (GPS course over ground), the big deviation that you can see at the end is when the wing is flying just above the home location and so it has to turn 180° really fast. 

    The controller is actually a PD controller with very little D, and a bit too much P at the moment, I still have to set it a bit better, and see how wing loading is interacting with it. 

    The dashed blue line on that graph is the beginning of the autopilot mode. The very big deviation you can see at then end is when the wing is flying just above the home location and it has to turn 180° really fast. 

    And.. I guess you’re now all waiting for! Here is the video: 

    So as you can see it’s working quite well in multiple different flights / wind conditions. I would be working better if the wing loading...

    Read more »

  • R2Home - From the idea to the system

    Yohan Hadji07/19/2021 at 19:12 0 comments

    Hi there! 

    You may have already seen the last video, but last week I had the opportunity to conduct two new test flights with R2home 

    The idea was to test the latest version of the system with an improved way to deploy the wing, as well as the automatic deployment of the wing at the desired altitude. 

    Here is the modification about the new improved way to attach the drogchute and dbag. 

                                                                  Before : 

                                                                  After : 

    And here is the video :

    I also just published another longer video talking (in english!) in details about the project and the system : 

    I spent a fair amount of time on it so I hope you like it :) 

    See you soon (after few weeks of holidays for me!) for the next part of the adventure! 

    - Yohan

    (For more technical details you might want to go check to github :

  • What's coming soon ?

    Yohan Hadji06/22/2021 at 19:19 0 comments

    Hi there! 

    The purpose of this project LOG is to give you some news about the project, and explain what's next! 

    1. Technical development 

    As stated in the last project LOG, the system is now mechanically functional. It only remains to design, test and validate its automation. In other words, the system need to do the exact same things but alone. 

    A PCB for the on-board computer has been designed, produced, assembled and tested : 

    The brain of the computer is still a Teensy4.1, but the PCB enable the use of very convenient connectors to connect all external components as well as an integrated power supply circuit for the servo motors, and another one for the computer itself. 

    With it, a very new version of the system has also been designed and is now waiting to be built. 

    A prototype of the actual on-board computer has been successfully tested as a secondary payload on a weather balloon flight on May 26th. The objective was to validate the general operation of the computer in real flight conditions as well as the operation of the GPS device on high altitude ( > 30km). 

    More than 17000+ lines of data were recorded and all subsystems were successfully tested and validated. 

    Here is as an example of the data recorded, the 3D trajectory : 

    2. The project and it's supports

    At the beginning of May the project was selected as one of the 3 winners of the earth day challenge organized by hackaday among 70 projects. Thanks once again to hackaday! This helped the project to gain (again) a little more visibility.

    This also helped to trigger some serious discussions with several institutions to support the project. 

    In particular with the CNES (the "French NASA"). However, it is impossible for them to directly support an individual, and I'm also still a minor. So I decided to join an association known as the Open Space Maker Federation, to find a more official framework to the project.

    I am still the initiator of the project, but other people will also be able to work on the project within the federation. The federation also guarantees open source development. 

    3. What's next ? 

    I have about 3 and a half weeks ahead of me and few goals: 

    The first one is to document much more the system, with the complete publication of the current version (3D model, code, technical drawings, assembly instructions, explanatory videos) 

    The second one is to document much more the project. I'm a bit afraid to lose with the time all the reflexions that I had which pushed me to make some choices. I am thinking about a series of videos to explain everything, but I'm very bad at making videos of me talking in english.

    The third one is to proceed to the assembly of the next version of the system and to test it in flight. The next milestone is to be able to open the wing automatically at a given altitude, and then to flight in a straight line at a given heading automatically too. 

    The last objective is to start working on the flight strategy, that is to say, concretely which trajectory is the smartest to reach the landing point.

    • Are there some altitudes where the flight is more interesting than others?
    • Is it necessary to take into account the weather forecast of the day? 
    • Is it better to try to fight the wind or is it better to fly into the wind?

    These are all questions for which we will have to perform many tests before being able to find an answer. 

    Here are also the "bigger test" opportunities that will be available then : 

    • Test of the complete system dropped from a drone at 300-500m of altitude (with the competent authorities) 
    • Test of the flight computer only again on a weather balloon as secondary payload 
    • Test of the complete system as main payload on a weather balloon flight up to 30km of altitude,...
    Read more »

  • Milestone

    Yohan Hadji04/20/2021 at 17:29 0 comments

    Hi All! 

    In the last project log it was about failures and problems to solve, in this one I'm happy to tell you that it is about success and a big milestone reached! 

    R2Home is now perfectly functional on the mechanical part, that is to say that now all that remains to be done concerns only wiring, programming, things a little easier to test! And less risky!

    Here is a small picture of the latest version of the system, including a camera, data-logging, telemetry, manual RC control. 

    On the background the new "drop drone" (DJI S800 Evo). This drone is now only used to lift the system and not anymore as a static line deployer for the system. 

    Now the system is fully autonomous in terms of deployment forces. 

     - So you'r talking a lot about the deployment but can we see how is it working now ? 

    Sure sure! Here it is : 

    Step 1 : be in free-fall 

    Step 2 : release deployment bag 

    Step 3 : the wing is pulled out of the dbag, the drogchute is "disabled" (see last log for more informations about the magic drogchute) 

    Step 4 : the wing inflate, and fly ! 

    (for a slightly higher quality video of this same deployment, follow this link :

    Here is now the complete video of the latest test : 

    And here is a special video to celebrate this milestone : 

    Thank you to all those who have supported the project since the beginning, nothing would have been possible without them! 

    If you want to take part in the adventure too, follow this link :

    Can't wait to work on the next part of this project! 

    - Yohan 

  • Test, fail, learn, RETRY!

    Yohan Hadji02/19/2021 at 09:16 0 comments

    Hi there! 

    In France, every 2 months or so there are school holidays, 

    And for me holidays = parachute test. 

    But when you do a test, it's because you have something to test, so this time what did we test ? 

    The weather balloon that we want to recover usually explode at an altitude of 30km, at this altitude there is almost no air. And what we want is to open a parachute that is kind of hard to open, so we are not really in the best conditions to open a parachute at 30km of altitude directly when the balloon explode. 

    Also, to open the ram-air canopy parachute, we need what we will call an extractor parachute, which is a small round parachute already deployed in the air during the ascent, that will give us during descent, at the chosen moment, the force needed to extract the ram-air canopy from it's deployment bag in which it is folded during ascent. 

    The last point you need to get, is that it is dangerous and therefore illegal to drop an object in absolute free-fall from any altitude (at least where I am) this is why at any moment of the flight we don't want fall with a velocity >5 m/s 

    To sum up, we need to open the raim-air parachute canopy at a lower altitude than the ballon burst altitude (30km), we need a small round parachute to open the ram-air canopy, and we don't want at any moment of the flight to fall at a velocity > 5 m/s 

    And this, is the solution :  

    I call it the collapsable-dragchute  

    The idea is that, we need a big enough dragchute to fall with a velocity < 5 m/s before the opening of the ram-air canopy, but we also need it to be as small as possible once the ram-air canopy is opened, because otherwise it will make impossible the flight of the wing. 

    So to sum up : 

    After the burst of the balloon, everything come down under this drag-chute, at a velocity < 5 m/s, at the desired altitude (where there is enough air of canopy inflation) the dragchute is used to get the canopy out of it's deployment bag, at the same time, the "collapsing line" of the dragchute il released by a small mechanism, the wing is opened, and the dragchute is collapsed. And everything is perfect ! 

    Well at least in theory, because reality is really hard with concepts that seems so easy :) 

    So this objectif of this test was : 

    1. Like each time, get more data on the performance and the flight of the raim-air parachute canopy, see how it react to commands, how it fly with a bit of wind etc etc

    2. To test this new concept of collapsable-drogchute 

    (3. And also last point, get better at organisation of the test flight, with a more "streamlined process", for example with automatic flight mission for the drop drone etc etc..) 

    And if the first and the third mission have been perfectly accomplished

    An example of the data we got from one of the flights : 

    An example of automatic mission with INAV running on the drop drone  

    On the second mission, it is unfortunately not a total success, and at this point, the story continue with this video : 

    As explained in the video, what happened is that we got a tangled dragchute, but what is exactly a tangled dragchute ? 

    If you take a look closely at the "The solution" video, you will see that to get this collapsable dragchute we need to use two different line, so the dragchute before collapse is connected with two line to the system, and what happened there is that during preparation or during ascent, a part of the parachute got stuck between these 2 different lines, which once the system was released got even more stuck between the lines, because they were under tension due to the low but high enough drag of the tangled dragchute.  

    So I've tested, I've failed, but now I've learned, we need to find a way to have one and only one line on this collapsable parachute. But we need two of them to make it collapsable, so how is that possible ? 

    One idea is to get one line into another, like a wire in a tube, but this...

    Read more »

View all 6 project logs

  • 1
    Finding a wing

    One of the main components on R2Home is the steerable parachute wing. The good news is you can use a few different types of parachutes. The first solution if you have a lot of time, and you like spending it on a sewing machine, is to make your own ram air parachute canopy. Don't let it fool you! It's not that complicated! I did it so you can do it too!

    If you want to do your own wing, here is a drive folder with a lot of ressources I found on the internet :

    You have to know that a ram air parachute will be easier to deploy, because the aspect ratio of the wing is low. However, a single skin paraglider wing will have much greater flight performances.

    Depending on where you live, and your budget, you might be able to choose between few commercially available single skin RC paraglider wings. You want to find something with a wing area of about 0.8m^2. Here is for example the wing I'm using :

  • 2
    The Drogchute and Dbag

    All right, so now that you have your wing, you need two other things directly related to the wing. You need the "magic" drogchute, and the dbag. You can really easily make both of them. They are made using F-111 fabric, you will also need some mesh fabric, a tubular cord, a dyneema or kevlar thread.

    The drogchute is made out of two round identical pieces of fabric, one out of F-111 fabric, and another one out of mesh fabric. The diameter of the circle is determining the diameter of the drogchute (go for 50cm for a first one). The first step is to sew both pieces flat together. You want to have a seam on most of the circle, while keeping a small space without seam. Then you can turn the whole fabric through the hole you left in the outer seam and you should now have what looks like a flat soccer ball.

    The next step is to pass the kevlar thread through the mesh fabric, and sew it on the center of the round piece of fabric made out of F-111. Then you want to sew the tubular cord on the center of the round mesh fabric, you want to make sure you are still able to get the kevlar thread sliding in it after sewing it.

    Here is how it should be looking once finished : 

    For the Dbag you only need to sew a rectangular piece of F-111 in a cylinder of the same diameter of R2Home (3"). But before, you need to sew on it the orange cord you can spot on the picture above. On this cord, there is a loop at the top and at the bottom to connect on one side to R2Home, and on the other side to the drogchute.

    On each side of the Dbag, you also want to add a pocket for the wing suspensions lines (see last picture).

  • 3
    Folding the Wing

    Now that you have your wing, and the Dbag, it's about the right time to learn about how to fold the wing to get a nice deployment : 

    First step is to get it flat on the ground. Then pull the wing and tension all lines. Gather it into a cylinder while making sure the tip of the wing is always either on the top or the extreme side of the cylinder. You don’t want anything (fabric or line) to be after the tip. Then fold the cylinder in half and compress it into the dbag. Finally place all lines in the spot provided for in the Dbag.

View all 7 instructions

Enjoy this project?



johnkay01 wrote 11/18/2021 at 18:12 point

I am not having any luck opening the step files

  Are you sure? yes | no

johnkay01 wrote 11/18/2021 at 17:50 point

Are you going to sell completed PCB boards?

  Are you sure? yes | no

johnkay01 wrote 11/18/2021 at 17:48 point

Is this project far enough along to build it myself or are you still doing R&D?

  Are you sure? yes | no

Yohan Hadji wrote 11/18/2021 at 20:48 point

I'm continuing the R&D, but the project has come to a point where I think you can indeed make your own. Other people are also starting to building theirs. Maybe if you tell me a little more about your precise project I can guide you through the very first steps :)) 

  Are you sure? yes | no

jhdewitt wrote 04/29/2021 at 11:44 point

cool idea good luck

  Are you sure? yes | no

freeflightlab wrote 02/18/2021 at 23:48 point

Can't wait for your update!!! Really great work Yohan!!!!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates