This is part 2 of a series of articles documenting my search for an effective way to add automatic FPV camera tilt to my quadcopters. In part 1, I explored the idea of using a small linear servo like the ones used for indoor airplanes to move my servo.
After a week of testing out this system, I knew it was not the solution I was looking for. The tiny servo I was using had many problems:
- It did not have enough force to overcome the resistance of the screw mounts of the FPV camera. It worked on the ground pretty well but in flight it would often get “stuck” at various tilt angles.
- Centering performance was awful. The servo was constantly buzzing and trying to center itself, even when helped out. The central shaft of the servo had a lot of play which is what I attribute this to.
- The lower range of the servo basically did not work since it had half the applied force as the upper range.
- The total movement range was minimal. In the configuration pictured, I was only getting about 20 degrees of tilt range with the servo. While this is still very helpful for landing, I wanted a set-up that could get me a full 90 degrees of tilt range.
Attempt 2: Enter the standard servo
For attempt #2 of my automatic tilting system, I decided to try to create my own automatic tilting camera like the one I “sketched up” in the last article (pictured to the right). While I don’t have the facilities to make as compact a system as is pictured, what I could do is simply mount a very tiny standard servo onto the back of my FPV camera and use its output spline to rotate the camera.
I first needed to figure out what kind of servo to use. Luckily our age of miniaturization has borne some truly tiny standard servos. For my first attempt, I settled on the E-flite DS35 servos used as tail servos for the tiny Blade 130X helicopter:
This servo is incredibly small, measuring in with the dimensions 22mm H, 17mm L, 6mm W. At these dimensions, it measures slightly smaller than the back of a standard sized 22x22mm FPV camera on it’s largest dimension.
The immediate downside of this servo is its ludicrous price of $16. It’s a true Horizon Hobby product: take something manufactured in China and offer it at 800% markup with good advertising and customer support. For those of us who care more about price than service, Banggood sells similarly sized servos which I intend to try out in the future. I wanted to get started on this ASAP though so I plopped down the cash for the Eflite servo from Amazon with 2 day shipping.
The Servo Mount
With the servo locked in, I had to decide on a way to mount it to the FPV camera. I figured the best way to do it would be to do what the guys over at ImpulseRC did with their Alien: 3D print an entirely new camera backplate that include some tabs to secure the servo in place. I pulled up Solidworks and got to work:
The mount itself is fairly basic. It is primarily a clone of the existing backplate that the FPV cameras use. I then modified it to build in some raised tabs which will align the servo so that the spline is exactly centered with the camera screw holes. The servo will be simply hot glued onto the mount for now – easy to apply and easy to remove. On the end opposite the spline, a hole is left for a bearing to be inserted. The idea is that the servo spline will hold the camera in place on one side while the other side of the camera will be held in place with a simple pin that floats rotationally on a bearing.
I’ve uploaded the STL file for this mount to Thingiverse under the GPL license. It can be downloaded and printed here.
With the mount built, let’s install it.
The first assembly step is to install the servo into the mount. This is pretty simple – I just hot glued the servo directly into the mount. It should seat against the two “walls” of the mount such that the servo spline is centered with the camera and is in the same axis of rotation as the bearing.
With the servo installed, we next seat the bearing that your camera will swivel on into the mount. I purposefully designed the bearing insert holes on the 3d print undersize so you can drill or melt it out to exactly the right size for the bearing you choose to use. I used a spare miniature ball bearing I had on hand from my RC helicopter days with a 5mm OD, 2mm ID, and 2.5mm height. I believe a bushing would work equally as well. To install it I drilled the hole to a pretty close size, then heated it up with a heat gun and press fit it into the mount. This did a really job of securing it. I probably didn’t need any extra glue but I added some anyway just to be sure.
Next up, screw the mount into the back of your FPV camera. This mount was specifically designed for the Foxeer HS1177 camera with the top connector, but will probably work with other cameras with some simple modifications.
Remove the screws from the back of your FPV camera to free up the plastic backing. Be careful because with these screws removed, the camera electronics are free to “fall out”. You now want to screw the printed servo mount onto the camera in place of the plastic backing, which will no longer be used. Once again, I designed this screw holes on the print to be slightly smaller than required – you will probably need to drill them out.
That’s it for assembling the mount – next up, it goes into the quadcopter.
The new FPV camera plus servo will attach to the quadcopter at two points. The first point will be on the servo spline. The second will be a pin which is fixed to the quadcopter’s camera box which is inserted into the bearing I pressed into the FPV camera.
Attaching the servo spline to the quadcopter was easy: I took one of the small servo horns that came with the servo and pressed it into a slightly-enlargened hole in one side of the quadcopter’s carbon fiber camera box. I then glued it into place. In this configuration, the servo simply seats into a servo horn like it was always meant to do. Instead of moving the horn, though, it moves itself (and the camera).
The pin was a bit more difficult. To make the pin itself, I found a long screw with a diameter equal to the ID of the bearing. I also found some washers that would let the screw seat into the hole in other side of the quadcopter’s camera box. This’d be the hole adjacent to where the servo horn is poking through. I inserted the screw with the washers and cut the screw so that it was only poking out of the carbon fiber about the height of the bearing. I then used superglue to fix the screw and washers to the frame. I’m not very satisfied with this as the glue came apart once on me. I think a better solution might be to figure out another press-fit but I don’t currently have the parts.
With the camera box mounting figured out, the assembled box is installed back into the frame. The big caveat of this mount is that it extends the length of the FPV camera by a couple of millimeters. Since the camera is now attached to the frame via the servo, you’ll need to make sure your frame can accommodate the extra room your FPV camera takes up when tilting up and down. I also really wanted to get a full 90 degree tilt angle for the kicks of it. For my Bolt 210, this meant a significant amount of frame grinding:
I removed enough of the carbon fiber from the frame. so that the servo could freely swing up and down from level to straight up. These servos have very little torque so you want to make sure nothing is resisting their movement.
I was pretty pleased with what I was left with, especially coming from the crummy performance of the linear servo:
How does it fly?
I posted the last article shortly after I finished assembling the auto-tilt servo on the bench, and thus did not have a lot of time to actually go out and fly it. Coupled with the fact that the linear servo continuously bound up at various angles, I was pretty disappointed by the results.
This time around, I have nearly 2 weeks of flying experience under my belt with version 2 of my automatic tilt set-up.
I can tell you straight up that having the automatic tilt function bound to your quadcopters tilt angle is a no-go for racing quadcopters. The first time I took off with this feature enabled, I crashed almost instantly. The problem is that the perspective changes you get from the angle of the camera changing relative to the environment are key to knowing your quadcopters orientation when in Acro mode. Auto tilt works pretty well in angle mode – but who wants to fly like that?
Disappointed, I went back into Betaflight configurator and reconfigured the quadcopter so that the tilt servo was commanded by a slider on my RC transmitter instead of by the orientation of the aircraft. This was so much better for flying! Starting out, I just used the tilt feature to set the FPV camera level with the ground for takeoffs and landings and ~30 degrees for acro flying. This is probably worth the price of admission in itself. I can land just fine at high tilt angles – but it is so much better to be able to come in and very clearly see exactly where you are landing.
As I continued practicing, though, I got pretty good at moving the camera angle depending on what I was doing. When I approached long stretches of open field, I would tilt the camera up for more speed. In tighter sections I did the reverse. When exploring under trees or through buildings, I leveled the camera out for extremely slow, precise flight.
It definitely takes some practice to get it right. The tilt instantaneously changes your perception of how the quadcopter is flying, and you have to be quick with the throttle stick to maintain your altitude properly. I think the best description for this feature is like adding a transmission onto your quadcopter. Even though the camera has no effect on the power your quadcopter puts out, tilting your camera up and down spontaneously changes the speed that you are flying at – the reason being that your brain tries to keep the orientation the same so the quadcopter tilts to adjust.
After my first few flights, I turned on the DVR on my Fat Sharks to capture what the auto-tilt looks like. To get some perspective on what the tilt is doing, watch the prop blades. On the Bolt 210 they are very visible at tilt angles < 30 degrees. Here’s the video:
One thing’s for sure, I still need a lot of practice to become proficient with this feature. Stay tuned for future articles on improvements and flight reports..