The drone team is back for some more flying! After our minimal amount of time flying the drone earlier, we got back together for a few days to spend more time getting comfortable with flying the drone and taking video. This time we decided to fly at a park near Robert’s house, which gave us more space to fly.
Before we flew, we decided to lay down some safety rules when it comes to flying. Our first, and most important rule, was that nobody be within 10 feet of the drone when the propellers are spinning. This is critical to safety, to make sure that the drone never hits anybody. Our second rule was that we would keep the drone at least 40 feet (preferably more) from strangers. We also registered our drone with the FAA and obtained a fancy certificate stating that flying it was legal.
After our first flight, one issue became very apparent. When the drone doesn’t land on its landing gear, the screws on the drone arm can come loose, allowing the drone arm to wobble. Every time this happens, we have have to stop and replace the screws. We bought some Loctite Threadlocker (a super-glue designed to keep screws tight) to resolve this issue, but we have yet to apply it. I (Kalyan) also had my first try at flying the drone (under the watchful eye of Robert), which definitely resulted in some spectacular “accelerated landings” (also known as crashes), as well as the first broken propeller. We had expected many propellers to break over the use of drone, so we had plenty of spares to replace the propeller. We estimate that a new pilot will probably break 4 propellers before they are somewhat proficient in flying.
We also realized in this first flight a very important lesson about drone flight in general. Because these were our first flights with the drone, we were very conservative about the height at which we flew the drone, and we spent a lot of time flying less than a foot above the ground. It turns out that this isn’t a good idea. First of all, flying at low altitude on a grass field means that the drone propellers can catch on the grass, causing them to slow down and make the flying unpredictable. Secondly, it is extremely difficult to tilt the drone without hitting the ground, making it almost impossible to move the drone laterally. In fact, tilting the drone when it is at low altitude can cause it to flip over when landing, which is far more likely to break something than simply dropping the drone from 5 feet in the air. We found that the best strategy to achieve controlled flight was to open the throttle aggressively at the beginning of the flight, immediately getting the drone 5-10 feet in the air.
In the middle of our day, after a relatively hard “accelerated landing,” we powered on the drone only to have one of our motors pop off the drone. Interestingly, the motor didn’t come off at the spot at which we mounted it. Rather, the motor itself had popped off its own base that had come pre-installed. After some research online about how to fix the motor, we decided to superglue the motor back together. Still, we were quite perplexed as to why the motor popped off in the first place, because it had survived plenty of landings that were much rougher than the one preceding it’s accident. Things became a bit clearer a few hours later when yet another motor popped off. We realized that this was not an issue of that specific motor but rather of the type of motor we had bought. Remembering that these motors are intended for use in RC airplanes, our current theory is that they are not designed to endure the rapid acceleration and deceleration involved with drone crashes. However, we found that the motors held together quite well after the super glue cured, giving us hope that this won’t be an issue in the future as long as we inspect our motors before each takeoff to see if they were affected in the previous landing.
Our second day of flying, we decided, would be dedicated primarily to capturing aerial video. We decided that we wanted to fly in a larger field to give ourselves more room and to avoid hitting anything, so we went to a conservation park near Robert’s house. The first thing we did was doing some test flying with the drone to make sure that nothing had gone wrong with it since our last flight. We were shocked to find that the drone was not even following the “arming” command, which is used to power on the motors. In other words, we couldn’t get the drone to do anything. We soon realized that some switches on the bottom of our controller had been flipped in transit, and as a result, some of the controls were inverted. This resulted in an interesting experience when we initially realized this mistake. While sending an “arm” command (basically “start”) normally involved pulling the throttle down as low as it would go, the new arm command involved pushing it all the way up. After doing this, the motors started spinning, and I (Robert), afraid that the drone would shoot into the sky at an uncontrollable rate with 100% throttle, pulled the stick all the way down. However, not only was the arming command inverted, but so was the throttle itself. Because of this, as I pulled the throttle back, trying to stop the propellers which were already spinning idly, the drone leapt into the air to my immense surprise. We were able to figure this out fast enough to bring the drone down safely again, but if the controls had been changed more subtly, we might have been able to take off, but it would have almost certainly crashed shortly after takeoff.
Our next order of business was to mount the GoPro camera to the drone, using an adhesive GoPro mount that allows the camera to be removed from the drone. However, once we began flying, we realized that the GoPro actually adds far more weight to the front of the drone than the battery does to the back. As a result, under default controls, the drone tips forward, and moves uncontrollably forward. We addressed this issue by trimming the drone controls so that it tilts forwards by default to compensate for the extra weight.
Once we were able to fly with the GoPro, we were amazed by the footage we were able to get. An interesting artifact of flying with the GoPro is that the drone weighs significantly more than usual, and thus has much more momentum. In addition to this, the propellers must spin at higher RPMs to allow the drone to hover. This seems inconsequential, but it effectively reduces the maximum upward acceleration of the drone, since the percentage of thrust which is allocated into “move upward” instead of “hold the drone where it is” is less. Although this is a bit tough to grasp without flying the drone yourself, the net effect is that when the drone is moving toward the ground, its additional momentum and lesser upward force combine to create much longer period of time in which the drone is accelerating upwards while moving downward. Basically, there’s a longer time in between when you push the throttle up and when the drone moves up, which is sometimes difficult to deal with when you’re flying close to the ground and inches matter (This caused me (Robert) to almost crash the drone more times than I’d like to admit…) Bringing the GoPro home and offloading the footage onto a computer was a lot of fun, since we were able to see a first person perspective of the drone from 30 feet up in the air. We flew around the meadow capturing footage until the drone ran out of battery about 30 minutes later, and then brought it home to charge for whenever we fly the drone next.
After a brief hiatus, the drone team has finally reconvened to complete the assembly of the basic drone, and is proud to announce that the drone has left surface of the earth! This post will be a brief recap of the final assembly, tuning, and initial flight of the drone. We will save other details of the build process for a second post.
We began the day with four motors spinning clockwise. Although this would initially seem to be harmless, it is of critical importance that adjacent motors spin in opposite directions, in order to counteract the equal and opposite reaction from the angular acceleration of the motors. Without this balance of rotational directions, the entire drone would spin out of control. You can see the equivalent effect in a conventional helicopter in the following video:
Suffice to say that this is of critical importance. We had initially expected to be able to solve this problem in the software of the flight controller chip, but after a significant amount of digging, the only solution online had the following disclaimer attached to it:With a limited amount of time, we decided that the most efficient way to proceed would be the old fashioned way: reversing the current going through the motors by resoldering the connection between the motors and speed controllers. This solved half of our problem with motor directions. The other half of our problems stemmed from the odd orientation of our flight controller, which is mounted upside down on the inside of a piece of carbon fibre on top of the drone. Initially this seems like an easy fix: tell the flight controller that its axis is inverted. The harder part is determining which axis is inverted. After all, turning the drone 180 degrees on both the X (flipped up and down) and Z (flipped left and right) axes flips the drone upside down, but choosing the incorrect one could cause the flight stabilization algorithm to crash the drone. Admittedly, we solved this problem by testing configurations of X and Y orientations until each motors spun correctly in testing.
After confirming the direction of the motors, we began to mount our propellers, which is a bit harder than it seems due to the varying directions of the motors described earlier. After all, even though the motors spin in different directions, the propellers must all push in the same direction in order for the drone to fly. To solve this problem, there are two types of propellers: one which generates downward thrust when spun clockwise, and the other which generates downward thrust when spun counter clockwise.
After mounting our propellers, we headed outside to test with very low expectations. I (Robert) have played with flight simulators and more standard helicopters a fair amount, and thus wasn’t too worried about controlling the flight. We chose to test in small increments (not flooring the throttle and hoping for the best), which, although anticlimactic, proved quite useful. Our first spin up of the motors, which involved little more than dragging the back two feet across the pavement at Kalyan’s house, was crucial in testing the control channels. This carries very little risk, since even catastrophic failure would involve a fall of a centimeter or less. We quickly realized that our yaw (Y axis rotational control, also known as spin) was inverted. After a quick fix with the controller, we proceeded to a grassier area to make a real flight.
Our first flight was only marginally more interesting, with the drone flying upward about a foot, hovering for a few seconds, and then coming back down. After some obligatory celebration, we extracted a number of critical realizations from this exercise. The first was that we were dealing with a seriously powerful drone. At half battery, I had to move the throttle stick to about 45% power to allow it to lift off. At 47-48%, the drone would hover, and at 55% power, the drone was climbing into the sky uncomfortably fast. This was somewhat expected, since without the GoPro and FPV camera (both coming soon!), the drone is about 15% lighter than planned. With this setup, our drone weighs about 1.0kg. Our motors push about 0.64kg of thrust each, for a total of about 2.6kg of thrust. With a 2.6:1 thrust ratio, the raw power from the rotors is very apparent.
In the next flight, we tested lateral movement. Here, the raw power from the motors is almost uncontrollable. An almost imperceptible movement of the right stick produces a healthy lateral speed. If the stick is moved just a few millimeters, the drone easily moves a meter per second! My assumption is that, were we to push the drone to its limit, north of 10 meters per second laterally would not be unreasonable. (Before our next flight, we will almost certainly adjust the controller to slow down the movement of the drone by about 70%. This should help us control the drone more finely without the dampening effect of the weight of our various camera equipment.
Given this result, I’m almost certain that when we’re more skilled pilots, the drone will easily accommodate all manner of aerial acrobatics. For now, we’re waiting for a sunny day when Kalyan and I are free to go to a nice, open, deserted field and fly the drone to our heart’s content. After we’re reasonably skilled, we’ll likely mount the various camera equipment, and proceed to take some aerial video.
The first step we began once the parts arrived was assembling the frame, because it was the first part to arrive. The assembly wasn’t too difficult, but was a bit time consuming.
Once we had finished the frame, it was time to begin on the electronics. The first step with the electronics is to wire the motors. The motors need to be connected to the ESCs (Electronic Speed Controllers), which in turn need to be connected to the PDB (Power Distribution Board), which in turn needs to be connected to the battery. All four of these components need to be mounted to the frame as well. There are two common methods for connecting all of the components. The first method is to directly solder. Many people prefer this method because it is reliable, and will work with almost any component. However, it is also time consuming. The other method is to use standard connectors which snap together, such as XT60 and bullet connectors. This method is easier because no soldering is required, and it gives you the capability to remove and unplug components from the drone as needed. We originally planned to almost entirely use standard connectors almost exclusively. All of our components except for the motors had standard connectors, so we thought that it would be easy to plug the other components into each other. However, an issue arose with that plan when we received the ESCs. While 3mm bullet connectors are usually the standard size for bullet connectors, our ESCs actually had 2mm bullet connectors! We ordered extra 3mm bullet connectors, thinking that we could simply cut off the 2mm connectors on the ESCs, and solder on the extra 3mm connectors. However, when we actually tried to do this, it proved to be quite difficult. We weren’t sure if soldering the connectors to the ESC wires would actually be consistent and secure without some form of crimping. Consistent and secure connections are critical for the safety and stability of the drone, because sloppy wiring could cause a motor to lose power mid-flight, causing a crash.
We instead decided to bite the bullet (no pun intended) and directly solder the motors to the ESCs and the ESCs to the PDB. We couldn’t solder the battery directly to the PDB, because it needed to be removable for charging. We had ordered 2 PDBs prior to beginning construction of the drone. The first PDB used standard connectors fo
r all of the connections, while the second was designed to have the battery soldered to the board. The first PDB, with all the standard connectors, proved to be very difficult to solder to (the solder wouldn’t bond well with the standard connectors). However, the second PDB didn’t have a standard connector for the battery (an XT60 connector in this case). We ended up having to remove the XT60 battery connector from the first PDB and solder it on to the second PDB. After a few days, we finished soldering and connecting everything. When we plugged the battery into the PDB for the first time, we were shocked (don’t worry, not literally) to see that all 4 of the ESCs powered on! We didn’t expect all of our connections to work on the first try. At this point, we hadn’t tested the motor connections, but this gave us some confidence in the soldered connections.
Soldering is really a single-person job. For this reason, while I (Kalyan) worked on soldering the motor connections, Robert began work on setting up the Naze32 flight controller. The first step was to connect everything to the flight controller. I first soldered the connector pins used for connection to the Naze32, and then Robert figured out which components went on those pins. This was incredibly important, because the Naze32 has no reverse polarity protection, meaning that one incorrect connection could fry the whole board. Next, Robert connected the Naze32 to the computer and began setting it up. We used a program called Baseflight to control the firmware of the Naze32.
In the setup process, I (Robert) connected and bound the remote control to the receiver, which will be onboard. The outputs of the receiver are pins which correspond to the control surfaces of an airplane (ailerons, elevators, etc). However, instead of control surfaces, we have 4 motors. This proved slightly difficult to set up and required a significant amount of research, since the Naze (our flight controller) was poorly labeled. Also, the fact that a single incorrect connection could fry our $50 flight controller, which hung over my head the whole time, did not expedite the process at all. I also
connected and calibrated the ESCs, which was a remarkably simple (but important and not entirely obvious) process. Additionally, I mapped the correct controller channels (sticks). After that, we calibrated the various rotational sensory equipment (gyroscopes, magnetometers, and accelerometers) by moving or not moving the drone on all axes. At this point, we finally checked the safety box and sent a long-awaited “go” command to each motor, which, to our surprise and delight, caused each to spin up. This proved a whole string of solder joints to be functional. I’m not going to say that I didn’t trust Kalyan’s soldering up until that point… but I didn’t. Once that we knew that the motors were functioning, we mounted them using some screws. While mounting, we realized that these motors are actually designed for model airplane flight, and therefore have some quirks when it comes to mounting. However, after some research online, we saw people who said that these motors are fit for flying on a drone as well.
In early March, we (Robert Cunningham III and Kalyan Palepu IV) decided to build a drone funded by the IDEA Lab Open Shop Program. We didn’t know much about drones, but we were both interested and willing to learn. We spent a month and a half resarching drones and selecting parts for the drone, and ordered the parts for the drone. This blog will detail our endeavor in building this drone.
Selecting the parts for a drone has brought us through an amazing journey, largely in the form of the puzzle of (often circular) codependency that makes up any engineering project. Very quickly we realized that the frame depends on the size of the propellers which depend on the power of the motors which depends on the throughput of the batteries and speed controllers, which depend on the weight of the frame and payload. These relationships make adjustments an act of acrobatics, and we often found ourselves redoing thrust calculations several times each day to assess a possible component change. In this process, one tool, our spreadsheet, stands out as particularly valuable. Through it we were able to keep track of all the moving parts in a relatively organized manner, along with their corresponding weights and costs.
The Spreadsheet that we used:
The Final Parts List
Propellers APC 9×3.8
Two important considerations when choosing propellers are the width and the pitch. The width is the measurement from tip to tip, while pitch is the measurement of how far the propeller moves through space in a single revolution, largely dictated by the angle of the blades. We chose the propellers recommended on our motor spec page for maximum thrust, which is generally the recommended course of action. We bought a number of spare propellers with the expectation that we’d break some while learning to fly.
Speed Controllers Afro ESC 12Amp BEC UltraLite Multirotor ESC V3
Speed controllers are responsible for controlling the amount of power that is let through from the battery to the motors, based on an input from the RC receiver. The primary consideration is the maximum throughput per ESC, measured in Amps. It is important to leave a bit of leeway between maximum motor draw (8.1A in our case) and the maximum ESC amperage (12A in our case) to account for anomalies. We chose to use ESCs with integrated battery eliminator circuits, called BECs, which bring the voltage from the battery to an acceptable level for the various onboard flight controllers, in order to avoid buying BECs separately.
R/C controller + receiver Turnigy 5X 5Ch
The controller and receiver are responsible for translating a finger movement on the ground into instructions for the drone in the sky. The primary consideration when selecting a controller is the number of channels it supports. This corresponds with the number of controls available to the drone. We chose a five channel controller, which will control two lateral axes of movement, the lateral rotation, and the thrust of the drone with one spare channel for an additional control.
Flight Controller Naze32 rev6
The flight controller is responsible for the onboard control of the drone, handling things such as stabilization, navigation, and control. It is also one of many potential vectors through which the drone can be controlled programmatically. For our controller we chose the Naze32 rev6, a 32 bit flight controller with an accelerometer, compass, and barometer built in. Although we considered Ardupilot, a flight controller based on Arduino, which has more on-board programming capability, we ultimately decided against it largely due to its significantly higher price point and the fact that it is significantly less powerful than the Naze32.
Frame Flip FPV
The frame of the drone dictates the size and look of the drone. Drone frames are relatively expensive, and also account for a large amount of the drone’s weight. Because of this, it is important to choose a good frame. Drone frames vary in material, strength, size, weight, and space for extra components. We chose the Flip FPV because it is strong, light, and has plenty of space for the rest of our components. The Flip FPV is a quadrotor frame, meaning that it has 4 arms with propellers
Video Camera GoPro Hero 4
The video camera on a drone is used specifically for recording videos which are saved, and then exported to a computer to view. We picked the GoPro Hero 4 for this task, because it is small, light, ultra-durable, and Kalyan already owns one. We will be taking this camera off the drone when we aren’t recording with it to make the drone more agile and increase flight time.
Battery Multistar LiHV High Capacity 5200Mah 3S
The battery is one of the most important choices in a drone, because it tends to decide much of the rest of the components. There are two main factors to consider when picking a battery- weight, and capacity. Battery capacity directly affects the flight time of your drone, so it is important to get as high of a capacity as possible. However, as batteries get higher capacities, they also get heavier. Our battery accounts for 28% of the total weight of the drone! The heavier a drone, the more power it needs to stay in the air, and the less time is has to fly. As a result, picking a battery is quite tricky, because it is necessary to strike a good balance between capacity and weight to maximize flight time. This battery we ended up picking gives us a respectable capacity at a low weight. We expect to get at least between 15 and 30 minutes of flight time with our current battery setup.
FPV Camera Eachine FPV200
The FPV camera on a drone is used for taking live video feed which is streamed back to the person controlling the drone in real time. A FPV camera, first and foremost, needs to have low latency (meaning that the time between sending and receiving the video is very small). We chose the Eachine FPV200, because, while it doesn’t have the same video quality as a GoPro, it is cheap, light, and has low latency.
Motors 2213N 800Kv Brushless Motor
The motors are one of the most important decisions when deciding the parts for a drone. The motors decide the maximum weight of your drone. Motors, when used with recommended propellers, generate a certain amount of thrust, which is listed by the manufacturer. Thrust is simply the amount of weight that the motor can lift at maximum power. Of course, higher thrust motors take more power. Our drone uses 4 motors (hence the name quadrotor). Therefore, our drone’s total thrust is equal to 4 times the thrust of each individual motor. At first, one would think that the drone’s thrust should be equal to the drone’s weight. However, this would only barely allow the drone to hover, because the motors would be generating enough thrust to keep the drone in the air, but no more. To be able to fly upward, the drone’s thrust needs to be higher than its weight. The drone’s thrust needs to be at least twice its weight to be able to fly vertically easily (We want the drone to be hovering when the motors are running at half-speed). Our drone weight is 1244g (1109g without the GoPro), and its thrust is 2540g, a little over twice its weight.