Thursday 1 January 2015

Ghetto (auto?) Retractable Landing Gear

Hello and happy New Year. Today I am going to show you how to make your own ghetto retractable landing gear for your quadcopter or multicopter.

I decided to make this article because I thought briefly about getting some retracts for my hexacopter, so I could work on coding the ardupilot to auto-retract at a set height. I am aware that the DJI S1000 does this, and that the DJI Inspire 1 has a cool retract system and well, I wanted to improve the open-source ardupilot to do the same. A stumbling block for me financially, was that a suitable retractable landing gear was going to cost me about £50/80usd. Other places are starting to release retracting landing gear such as this kickstarter project which again costs about £50/80usd if you're an early bird blah blah bah....

So how about we make our own?

We need:
2x servoless retracts bought from hobbyking for just £5 each
2x 5cm lengths of 3mm steel rod from ebay for £1
a set of m2.5 screws + bolts for mounting the servos to the copter

A couple of cm of guitar wire about 0.5mm in diameter (free thanks to the guitar shop and nail clippers hehehe)
some superglue
some hotglue from a hot glue gun
a small drill bit like this 0.6mm drill bit (£0.99 for 20 on ebay)
a drill obvs..

So, when we buy the servoless retracts from hobbyking, we see that when operated they go from zero -to- 90 degrees, in this ghetto tutorial we are going to adjust them so they are between 70-80 degrees so that they look like the expensive ones. If you are happy to have 90 degrees then you can skip this tutorial and go fly..

If you are still here, then you want to know how to adjust the angle on the retracts.

We do this by opening up the servo. We have to unscrew the top plate and unscrew the side screws, then gently as you like, open up the servo as in the bottom picture.
Inside is a long screw with a fitting in the middle and some gears on the end, we need to take that out and drill a hole in it.
This is how we drill the hole, just to show you it can be done easily. Holding the bit in some pliers will help you not make hole in your fingers.

Once we have the hole, we can take a 1cm piece of guitar wire and glue it into the hole. Leave it to set solid. like this:
This is where the magic happens. we can adjust the angle of the legs by trimming the wire to our desired needs. If you look at the servo inside, you will notice that there is a switch at either end, what the bit was doing was engaging these switches to stop the motor. By adding the pin, we can engage the switch to turn off the servo motor sooner thus reducing the angle from 90degrees, to a lesser degree. Cool huh?
Here's some filthy servo action:

So, how do we mount it to the copter? Well we bolt the servoless retract to either side of the leg mounts like this:
It's easy to connect one servo to a receiver channel right? But how do we connect two, and make them work together? You can try using a servo splitter cable if you like, but I decided to make a small PCB to link the two servos, to the receiver, and be powered by a 5v ubec. Here are some pictures:
I cut a small piece of PCB board, and used the acid etching technique to make it into a functional circuit. It's basically writing with a permanent acid resistant pen, and then dunking it into some warm etching fluid until the copper has been eaten away and leaving the penned copper lines. There's a simple tutorial here.

The legs of my copter were hot glued and the metal rod of the servos were pushed into the glue, and held until set solid. It is a good idea to rough-up the steel rod (the part that's going into the glue) so that it sticks better. You can do this by using a Dremmel tool, a saw, a bread knife, your teeth, etc etc.

And that's it really. Cost me about £12 in parts, and saved me about £38 being sent to China. I like making my own stuff, I've learned how much we just throw our money to China because we're often just too lazy to do it ourselves. Learn to make stuff and be creative, even if you mess up, or have to pay for tools, you'll learn a skill and have fun.

And here she is doing what she does best:

Update: 11/01/2015

I decided that I wanted to work on a simple auto retract system, and as I have a sonar sensor, an arduino, and a couple of servos, I put them all together and made the servo retract to 90 degrees when the sonar detects a user defined distance; in this case, under 30cm and the landing gear will lower. But you can change this value in the code.
Here's my first test:
as you can see the servo operates when the sonar detects  more/less than 30cm.

I decided to hook up two servos fixed with chopsticks as legs to show that it (kinda) works.

Here's the video:
If you want to try the code it is here.

Anyway for the life of me, I can't seem to get it to trigger the servoless retracts and i'm not sure why, or where I'm going wrong as the servoless retracts work with my 9x gear switch without a problem. Is it a pwm thing? Anyway, it works with normal servos at the moment.

added fancy blinking leds to the circuit


Mészáros János said...

Could you share photos or sources for parts how you attached legs to the arm of retractable system?

DalyBulge said...

3mm steel rod + Glue.

Mészáros János said...

Thanks. Your work is fascinating. I also try to be 'ghetto' with my H-quad seen your blog :)

DalyBulge said...

Ghetto DIY makes me happy.

CodyatTall said...

I just found your post, I have also been thinking of using this method because all of the channels are taken on my transmitter. I have been reading a little and found that for the sensor, the code should take in consideration a few readings an interpret them so not to make the landing gear retract on the ground. Have you resolved the issue with the retracts and the arduino code?. Please keep us posted Thanks.

DalyBulge said...

Hi, my code allows you to change the altitude that makes the retract trigger. I suppose that by using 'servoless retracts' (because they were cheap) it means there are limits to the trigger altitude & speed of descent, if you descended too quickly the legs might not lower fast enough.

The solution would be to fashion your own servo retract like the DJI Inspire 1, and change the code so that it is a 'fade' style trigger that will gradually lower/raise the landing gear depending on height readings. But again this would have servo speed limits, but would be better.

Thomas said...

i'm afraid, the link for the arduino code is no longer working, maybe you could send me on to