Before we get started, I just want to take the first sentence of this Instructable to let you know that there are no dead cats involved in making the quadcopter described in the forthcoming steps. The reason the title of this Instructable contains the "SK450 Dead Cat" bit is because that is the name of the frame we will use to construct the quadcopter - more on that later. The frame design was inspired by a quadcopter built by Bart Jansen, a Dutch artist, that featured the taxidermied body of his pet cat, Orville, as a major structural component. We will not be using dead animals as part of our quadcopter in this Instructable though.
Ask just about any quadcopter pilot why they became interested in quadcopters and you will almost certainly hear how they were fascinated by the grace with which quadcopters fly, or the beauty in their mechanical simplicity, or their usefulness as a artistic platform. Well, I am not going to deviate from this cliche here; since the first time I saw a quadcopter in flight, I was hooked, and I knew I had to try building one for myself. There is something viscerally satisfying about seeing a craft you painstakingly researched, assembled, and programmed take to the air. Attach a camera to your quadcopter (as we will do in this tutorial) and you can see the world from a perspective normally reserved for birds. I am sorry if this is all getting a bit starry-eyed, but I truly think quadcopters are beautiful crafts, and I think you will agree after building your own. Let's get to it.
Let's begin by taking a moment to discuss the design of the quadcopter we will be building in this Instructable because it is a bit different than the design of traditional quadcopters. Normally, a quadcopter, which, by the way, is a multirotor aircraft with four rotors, has a central body with four equally-spaced arms extending outwards. Each arm is offset by 90o from its neighbors. In other words, the craft is shaped like a perfect square.
The difference between this traditional design and the one we will be building in this Instructable is that the front arms on our SK450 Dead Cat quadcopter are angled more towards the back of the craft. See the diagram on this step for clarification. By angling the front arms back a bit, we can make sure that, when a camera is mounted on the front of the craft, the rotors stay out of shot, producing better videos.
Instructable Table of Contents
After I built my quadcopter and waited months for this year's particularly long and severe winter to end, I took my SK450 Dead Cat out in the back yard for a test flight. My first day of flying was fairly successful; I did some maneuvering, some high-altitude flying, and captured some pretty cool footage (see below). Unfortunately, the day ended with a propeller embedded in the ground and one of the quadcopter's arms snapped in half. So I need to effect some repairs on the craft and do some more tuning, a topic which we will cover in the 27th step of this Instructable.
When you first start flying quadcopters, you will crash a lot so just be prepared for that - emotionally and with spare parts.
To make your very own SK450 Dead Cat quadcopter, you are going to need to order some parts, quite a few parts in fact. Before I list the parts used in this tutorial, I just wanted to make a note about the supplier I chose when purchasing components. I ordered all of the components used in this tutorial from HobbyKing. HobbyKing is an online retailer of a wide-range of hobby parts, including parts for building multirotor aircraft. The reason I chose to order components from HobbyKing is, quite simply, because their prices are very low. Now, I do not intend this page to be a review of HobbyKing, or of any of the products listed, but I just wanted to note that the trade-off for HobbyKing’s low prices is slow shipping speeds and non-existent customer service. This last point is probably the biggest drawback to using HobbyKing, their customer service is absolutely pathetic. If you don't want to use HobbyKing, you can usually find the parts you need from sellers on ebay.
You will need the materials in the table below to construct the SK450 Dead Cat quadcopter in this tutorial - by the way, that name will make more sense after you read the list. I included some notes about each component below the table. The notes are numbered and correspond to the numbers in the left column of the table. One last detail and then I promise we will get to the parts list. HobbyKing has warehouses located in many countries, with their main warehouse located in Hong Kong. I found that ordering all of my quadcopter parts from the Hong Kong (international) warehouse led to extremely high shipping costs (for me $114). So, after a lot of experimentation, I found that I could minimize shipping costs by ordering some components from the international warehouse, and some parts from the U.S.A. warehouse. I included a column in the table that tells from which warehouse I ordered each component.
SK450 Dead Cat Quadcopter Parts
|1||Hobbyking SK450 Glass Fiber Quadcopter Frame 450mm||1||U.S.A.||HobbyKing|
|2||Dead Cat Conversion Kit for SK450 Quadcopter Frame||1||U.S.A.||HobbyKing|
|3||Turnigy 2200mAh 3S 20C Lipo Pack||1||U.S.A.||HobbyKing|
|4||Turnigy Accucel-6 50W 6A||1||U.S.A.||HobbyKing|
|5||Q Brain 4 x 20A Brushless Quadcopter ESC||1||U.S.A.||HobbyKing|
|6||Turnigy Multistar 2213-980Kv 14Pole Multi-Rotor Outrunner||4||International||HobbyKing|
|7||10x4.5 SF Props 2pc Standard Rotation/2 pc RH Rotation||3||International||HobbyKing|
|8||Hobbyking KK2.1 Multi-rotor LCD Flight Control Board||1||International||HobbyKing|
|9||Turnigy 6X FHSS 2.4ghz Transmitter and Receiver*||1||International||HobbyKing|
|10||Turnigy BESC Programming Card||1||International||HobbyKing|
|11||10CM Male to Male Servo Lead||1||International||HobbyKing|
* The Turnigy 6X is a six-channel transmitter, which means it has plenty of channels for controlling a basic quadcopter, however, if, and this is a bit of a complex topic for this first step of the tutorial, you wish to put a camera gimbal on your quadcopter, you might want to upgrade to the Turnigy 9X, which has three additional channels which can be used to control the gimbal motors.
The total price for the parts themselves (not including shipping) is in the range of $250.
With the top body plate attached to the arms, now we can attach the bottom body plate. We will need:
On the front of the SK450 Dead Cat bottom plate, there is a kind of shelf that holds a camera for aerial photography, videography, or FPV (or it can hold a camera gimbal). This shelf is a bit of a cantilever though, so to make sure it does not flex too much under the weight of an attached camera, and also to prevent the shelf from bouncing and messing up your video. We will now add two struts to provide support for the shelf.
The struts themselves come in three parts: a metal rod threaded at both ends, and two universal joint pieces. To assemble the struts, screw a universal joint piece onto each end of each threaded rod. Adjust the universal joint pieces so that they are parallel.
The two struts mount onto the SK450 frame with two ball-joints each. We will attach the struts first to the SK450 top plate, and then to the camera shelf on the bottom plate. First, pick up one the struts you assembled and one of the ball-joints. Put the threaded end of the ball-joint through the universal joint on one end of the strut. Then, put the threaded end of the ball-joint up through one of the holes in the top body plate. Finally, place a dot of thread lock onto the ball-joint screw and screw a nut onto the ball-joint to hold it in place. If you are a bit confused at this point, take a look at the images on this step for clarification; this step is not as complex as it sounds. Repeat this process with the other strut.
At this point you should have the two struts attached to the SK450 top body plate. Now we will attach the other ends of the struts to the camera shelf. First though, you will need to adjust the length of the struts by screwing down or loosening the universal joints. You want the struts to be fairly tight so that the camera shelf can only bend a tiny bit before running out of slack and being held in place nicely by the struts.
Like before, insert the threaded end of the ball-joint through the universal joint on the strut, and down through the hole in the camera shelf. Then, deposit a bit of thread lock onto the ball-joint threads and screw on a nut. Repeat with the other strut and you are finally done with this step.
The last step in assembling the SK450 Dead Cat quadcopter frame is to add the landing feet. Gather together:
By this point, you should have your SK450 Dead Cat quadcopter frame mostly assembled. The only frame parts yet to be attached are the motor mounts; that’s because we need to attach the motors to the motor mounts before attaching the motor mounts to the SK450 frame. The entire process will involve three steps: attach the prop adapters to the motors, attach the motors to the motor mounts, and attach the motor mounts to the SK450 frame.
So first we will attach the prop adapters to the tops of the motors. The prop adapters are used to affix the props to the motors. Begin by removing the nuts and metal plates from each of the prop adapters. Then, use three of the smaller, hex-head screws to attach each prop adapter to the top of a motor. Then, finally, replace the metal plate and nut. Note that we will wait until later to attach the props.
If I may digress, this actually brings up the most important safety rule for working with quadcopters or any other multirotor aircraft. Never, ever, ever work on your quadcopter while the props are in place and the battery is attached. While the motors are at speed the props are just like blades and can cause horrific injuries when they hit flesh. I am not going to post any images here because they can be very graphic but if you have a strong stomach you can find plenty with a simple image search. Always remove your battery and/or props before doing any work on your quadcopter.
Back to the task at hand. Now that the prop adapters are in place on the tops of the motors, we will attach the motors to the SK450 frame’s motor mounting plates. If you look at the bottom of the motors, you will see four screw holes and a big hole in the middle through which the motor shaft is visible. Now, if you shift your gaze to the motor mounts, you will see the same arrangement of four screw holes surrounding a larger hole in the middle. The mounting holes on the bottom of the motors are not symmetrical, so you will need to rotate the motor mounting plates until the holes line up. Use the Philips screws included with the motors to affix the motor mounting plates to the bottom of the motors.
Now for the last step, attaching the motor mounts (now with the motors attached) to the SK450 Dead Cat frame. There are six holes around the edge of each motor mount, but we will only be using four because the other two are occupied by screws holding on the landing feet. You will probably want to orient each motor so that the wire leads point down the quadcopter arm. Down the road we will work on fastening all the loose wires to the frame. With the motor oriented properly and the screw holes lined up, apply a dab of thread lock to each screw and proceed to attach each motor mount to the SK450 frame.
In the next step, we will attach the Q Brain four-in-one ESC to the quadcopter frame. But, before we can do that, we will just need to solder a battery connector to the battery leads of the Q Brain.
So, while your soldering iron is heating up, you will need to determine the orientation of the plug. In other words, since the plug is polarized (it will only work in one direction) you need to know which wire attaches to which plug pole. The battery plugs - which, by the way, are called XT60 plugs - are shaped like arrows, with a flat end and a pointy end. The red wire from the Q Brain should be soldered to the flat end of the plug and the black wire should be soldered to the pointy side.
Now to the actual soldering process. First, slip a ½” piece of shrink tubing over each of the Q Brain’s battery leads. Then, using care because soldering irons are obviously very hot, solder the Q Brain battery leads to the XT60 plug in the order mentioned above. Then, after giving the solder a couple minutes to cool, slip the sections of shrink tubing over the solder connections. Finally, apply some heat, with a heat gun, or a lighter, or even a match, to the shrink tubing to finish the battery connection.
The Q Brain is now ready to be attached to the quadcopter. We will be mounting the Q Brain between the top and bottom Dead Cat body plates. This position will allow the motor leads to be easily routed down the underside of the quadcopter arms, the battery lead to be routed towards the back of the quadcopter, and the control leads to be routed up through the top body plate to the flight controller (which we will mount in the next step). It is a bit tricky to describe the mounting position of the Q Brain in words, so definitely check out the pictures below. The work of actually attaching the Q Brain is done with zip-ties as shown in the pictures since the Q Brain lacks any kind of mounting brackets or holes.
After you are done fastening down the Q Brain, we will do a tiny bit of wire routing. If you look at the SK450 arms at the point where the arms meet the bottom body plate, you will notice a small kind of archway opening. Each of the motors are powered by three leads from the Q Brain. So, simply stick each set of three wires from the Q Brain through the archway on the closest arm.
If you remember back when you unpacked your SK450 frame from the box, there were three small body plates that we have not made use of yet. Well one-third of that is about to change. The HobbyKing KK2.1 flight controller will be mounted onto the rectangular plate with radial spokes around a central hole. So grab that piece along with the KK2.1 flight control board, and the four white nylon spacers, screws, and nuts.
First, locate the four mounting holes on the four corners of the flight control board. Using the nylon screws, attach a nylon spacer to each corner. Then, stick the threaded parts of the nylon spacers through the slots in the mounting plate so that the buttons on the flight control board face one of the narrow ends of the plate. Finally, screw the nylon nuts onto the threaded parts of the nylon spacers on the bottom of the mounting plate.
Now that we have the KK2.1 flight controller attached to the mounting plate, we can attach the entire assembly to the SK450 body. We will attach the mounting plate to the four black nylon standoffs we installed on the top body plate a while back. The orientation of the KK2.1 flight control board with respect to the quadcopter is very important though. The buttons on the KK2.1 board must be mounted to the rear of the quadcopter frame in order for the KK2.1 to get accurate readings from its onboard sensors.
So, position the mounting plate so that the buttons on the KK2.1 are towards the back of the craft. Then, using the four black nylon screws, attach the mounting plate to the quadcopter. Get the screws snug, but don’t tighten them too hard, they are just plastic after all.
Next on our list of stuff to mount is the radio receiver module. Since the wires we will use to connect the radio receiver to the flight controller (in the next step) are fairly short, we will mount the radio receiver right next to the mounting plate on which we mounted the flight controller.
Specifically, we will mount the radio receiver onto the top body plate just in front of the flight controller assembly. If you look at this area, you will see two large holes in the top body plate. Position the radio receiver between these two holes and slide it partially underneath the flight controller mounting plate so that the radio receiver pins are accessible through the horizontal slot on the front of the flight controller mounting plate. Fasten the radio receiver down with a zip-tie.
The radio antenna will be dangling out the front of the quadcopter. This might be problematic though since it could theoretically find its way into one of the props. So, just stick the antenna down through one of the holes in the top body plate next to the flight controller mounting plate. Then, thread it the rest of the way through the quadcopter by simply sticking it down through one of the holes in the bottom body plate. The antenna should end up sticking out the bottom of the craft where we can be relatively certain it will not encounter any interference from any of the other electrical components.
With the flight controller and radio receiver both attached to the quadcopter, we can now connect them together electrically.
Now, I am going to take a moment to explain the connections on the radio receiver, then, in the next section, I will explain the connections on the KK2.1, and finally I will explain how to attach the two.
About the Radio Receiver Connections
So, if you take a look at the radio receiver, you will notice that the connections come in sets of three pins. The label on the top of the receiver shows which rows belong to which channel. Each channel corresponds to a different action on the radio transmitter. For example, channel one receives commands when you move the right stick left and right, channel two receives commands when you move the right stick up and down, et cetera
Each of the three pins for each channel carries a different electrical connection. There is a tiny little legend underneath the label for channel one that shows which pin carries which signal, but this legend is difficult to see, so let me put it in words: the outside row of pins is ground, the middle row of pins is power, and the inner row of pins is signal.
About the KK2.1 Connections
Now that you understand the connections on the radio receiver, direct your attention to the flight control board. Looking at the board from the bottom (button side) you will find the connections for the radio receiver to the left of the screen. There are five rows of three pins. Just like on the radio receiver, each row of three pins corresponds to a different radio transmitter channel.
The channels on the KK2.1 board are a bit more difficult to understand than the ones on the radio receiver though because, if you take a look at the bottom of the board (you might need to peek through a slot in the mounting plate), you will notice that the rows are labeled for airplanes, not for quadcopters. Starting with the top row of pins, the order goes aileron, elevator, throttle, rudder, auxiliary. These labels correspond to the various control surfaces (flaps) used to control airplanes in flight. So we will need to form a mental map of the way these airplane controls correspond to quadcopter controls.
Just like airplanes have four control channels, so too do quadcopters, but the terminology used for quadcopter control is a bit different. The four control channels are roll, pitch, yaw, and throttle. To translate the KK2.1 receiver connections from airplane terminology to quadcopter terminology, we just need to substitute the airplane-related words for quadcopter-related words:
aileron → roll
elevator → pitch
rudder → yaw
throttle → throttle (which means altitude for quadcopters)
This terminology is actually really important. You should make sure to memorize the relationship between airplane controls and quadcopter controls because throughout the rest of this tutorial I will often be using these terms interchangeably; and this is the same for many other sites. It will make your life much easier if you do not have to come back here to look at the above chart every time you encounter one of these words.
The auxiliary connection is the same for airplanes and quadcopters since it is just used to control other accessories like lights or the auto-leveling feature.
Connecting the Radio Receiver to the Flight Controller
Armed with your new knowledge of the radio receiver and flight controller pin layouts, we can now connect the two parts together. Before we begin, there is just one more piece of information to consider: on the radio receiver, all of the ground and power pins (the outside and middle pins) are connected together. Therefore, we only need to connect one ground pin and one power pin to the KK2.1 flight control board. The practical upshot of this is that we will only need three servo leads to complete all the electrical connections.
First, plug one of the servo leads across the three pins on the radio receiver that correspond to channel one. Orient the plug so that the brown wire is on the outside. Then, plug the other end of the servo lead into the aileron plug on the KK2.1 board, which is the top one. This plug should be oriented with the brown wire on the outside pin. On my quadcopter, I stuck the wire underneath the flight control board just to prevent the wire from hanging out in open air.
Now for the next wire. Since we’ve already connected a ground and power wire from the KK2.1 board to the radio receiver, we will only need a signal connection for the remaining three signals. Conveniently, the servo leads happen to have three wires. So, connect the second servo lead going down the row of inside pins (signal pins) with the yellow wire plugged into channel two, the red wire plugged into channel three, and the brown wire plugged into channel four. Then, plug the other end of the wire into the pins closest to the screen on the KK2.1. The yellow wire should be closest to the aileron plug.
There is one last connection to make, the connection for the auxiliary channel, which we will use to turn on and off the self-leveling feature of the KK2.1 via the left switch on the radio transmitter. More on that later, for now connect another servo wire, this time across the entire fifth row of columns on the radio receiver. Connect the other end across the fifth row of pins on the KK2.1.
The radio receiver is now electrically connected to the flight controller, however, in order for the radio receiver to process signals from the radio transmitter we must virtually connect the two in a process called binding. Binding pairs the radio receiver and radio transmitter so that the devices recognize each other and are able to communicate.
First, turn on your radio transmitter and connect your battery to the battery connector we soldered onto the Q Brain a while back. With both the radio receiver and radio transmitter turned on, locate the bind button on the radio receiver. The bind button is located in the corner of the radio receiver in the upper-left corner of the label.
Press the radio receiver bind button and keep an eye on the color of the light on the radio receiver. When the light turns green, release the bind button. The light should now stay green to indicate that the radio receiver and transmitter have been successfully paired. If the light on the radio receiver flashes alternately green and red, the binding process failed, so just try again and it should work fine.
Conveniently, binding the radio transmitter and radio receiver is a one-time process. From now on, unless you bind the receiver to a different transmitter, the two devices will be able to communicate.
Before we connect the Q Brain to the flight controller, we will need to program the Q Brain. Programming the Q Brain, or any ESC, involves adjusting a number of settings related to the electrical system and flight performance. To program the Q Brain, we will use the BESC Programming Card and the connection hub that came with the Q Brain.
First, if you take a look at the Q Brain connection hub, you will notice that there are four rows of three pins each. Now if you look at the Q Brain, you will notice four sets of colored wires terminated with three-pin headers. We will discuss exactly what each of these wires is for in the next step, but for now, just note that among these colored wire connectors, only one actually has three wires connected to it, a black one, a red one, and a white one. Plug this connector into the top row of the connection hub with the black wire to the left and white wire to the right. Now plug in all of the remaining colored wires with the wires themselves on the right side of the connection hub.
With all the Q Brain control leads connected to the hub, plug the connection hub wire into the top of the BESC Programming Card in the position marked BEC. Notice that there are three pins on this connector, labeled signal, +, and -. The white wire from the connection hub should be connected to the signal pin. Finally, plug the battery into the Q Brain battery connecter we soldered on earlier.
The BESC Programming Card should now light up with LEDs that indicate the current settings on the Q Brain. Each row of lights represents a setting on the Q Brain:
Now that we’ve finished programming the Q Brain, we can connect the motors to the Q Brain. Before starting this process though, disconnect the battery and the BESC Programming Card from the Q Brain.
Each of the four motors have three wire leads and the Q Brain has four sets of three wire leads. Now, the order in which you connect these three wires is important because it determines the rotation direction of the motor. However, there is no easy way to tell which order is correct. So we will just have to guess. For now, just connect the three motor leads from each motor to the three wires leads from each set from the Q Brain. In a couple of steps, we will test the rotational direction of the motors, and, if necessary, we will reverse the direction by switching any two of the motor’s leads. But we are not ready for that yet.
At this point, you may also want to do a little wire routing. Some people are more particular than others about exactly how much organization the quadcopter’s wiring really needs. I, for example, like all of my wires to be completely fastened down, which you will probably notice in the pictures. But doing extensive wire routing can be frustrating and time-consuming, so if you just want to get to flying, you can minimize the amount of routing you do.
Let’s now connect the Q Brain to the flight controller. There are four connections from the Q Brain to the flight controller that allow the KK2.1 to control the four motors. To start the process, disconnect Q Brain’s wires from the connection hub we were using earlier and set the connection hub aside.
Like the connections for the radio receiver, each connection on the KK2.1 for the Q Brain has three pins: a ground pin, a power pin, and a signal pin. Also like the connections for the radio receiver, only one power and one ground connection is needed. That is why, if you examine the colored wires from the Q Brain, you will notice that, even though each is connected to a three-pin female connector, only one actually has three wires connected to it, because only one ground and one power connection is needed.
There are two problems however. First, the order of the motors around the quadcopter does not match the order expected by the KK2.1 flight control board. Fortunately, this is an easy problem to fix; we will just modify the order in which we plug the Q Brain signal wires into the flight controller. We’ll do that a bit later. The second problem is a bit trickier to solve. Although the fact that only one of the four plugs incorporates power and ground connections saves wire, the power and ground connections are attached to the wrong plug. The KK2.1 flight controller only takes power through the Output 1 connection, so we will need to make sure that the power and ground wires plug into the appropriate spots.
Let’s fix this second problem now. What we are going to do is detach the power and ground wires from the Motor 3 plug, and re-attach them to the Motor 4 plug because the Motor 4 plug will actually go into the Output 1 spot. More on that later, for now, just follow these instructions:
We have just one more task to take care of before we are done setting up the Q Brain, and that is to calibrate the throttle limits.
Let me take a moment to explain what that means with a bit of an experiment. Let’s see what happens if we pretend that we are about to fly our quadcopter and we are lifting off the ground. First of all, connect the battery to the quadcopter and turn on your transmitter. Before we can turn on the motors, we will need to arm the KK2.1. To do this, move the left stick fully down and to the right. Now, with the KK2.1 armed, slowly increase the throttle.
You will probably notice that the four motors do not start moving in unison and they may not start until you move the throttle stick up quite a bit. This is the problem we are trying to solve in this step. The Q Brain does not know the maximum and minimum throttle signals output by our transmitter.
So to remedy this problem, we need to tell the Q Brain the maximum and minimum throttle values output by the radio transmitter. After we finish this process, all the motors should start turning at exactly the same time, and they will also all respond the same way to changes in roll, pitch, and yaw.
Let’s get started by unplugging the top Q Brain connector from the KK2.1; this is the one with three wires. Next, turn on the radio transmitter and set the throttle to maximum, in other words, move the left stick to the top. Then plug the battery into the quadcopter. Here is where things get a tiny bit complex. Hold down the two outside buttons on the KK2.1. While you are holding down the buttons, plug back in the Q Brain connector, which will power up the KK2.1. Listen for two short beeps, and then, while continuing to hold down the two outside buttons on the KK2.1, move the throttle stick to the bottom. Now you should hear a long beep, which means that the throttle calibration is complete.
When you release the KK2.1 buttons, the flight controller will start up in normal mode. You can verify that the throttle limit calibration was indeed a success by repeating the experiment we did earlier. Arm the KK2.1 and try slowly increasing the throttle control again. This time, all four motors should start up at the same time. Remember to disarm the quadcopter by moving the left stick to the bottom-left position.
With the KK2.1 flight controller hooked up to the Q Brain and the radio receiver we can now start the process of programming the KK2.1 so that our quadcopter flies correctly.
In this and the next four steps, we are going to be inputting a whole bunch of numbers into the KK2.1 for various flight parameters. Before we start doing that though, I wanted to take a quick 288 characters to explain a bit about where these numbers come from and what the settings mean. In this step I just want to include some basic background information so that you have a rough understanding of what we’ll be doing, instead of just blindly pressing buttons. For more information you should definitely do some Google research.
So, let’s start by talking about how the KK2.1 controls your quadcopter. In order to control the movement of the quadcopter, the KK2.1 adjusts the lift produced by each of the four rotors. By adjusting the amount of lift produced in just the right way, the KK2.1 can make the craft ascend, descend, or tilt to move in any direction.
In order to determine exactly how to control each motor, the KK2.1 uses, as you might expect, quite a lot of math. I am not going to explain how all this math works - frankly I don’t understand it all myself - but I will explain the mathematical foundation upon which all of the flight calculations rely. In order to calculate the lift required by each motor correctly, the KK2.1 must know the exact position of each of the four motors relative to itself. By knowing these positions, the KK2.1 can calculate the leverage each arm has over the orientation of the quadcopter. Using this information, the KK2.1 can calculate how to adjust the lift produced by each motor and move the craft.
In order to express the positions of the motors in terms that the KK2.1 can understand, we must do some math of our own. Since my purpose here is only to provide some basic information, I will not discuss these calculations on this page, but I would encourage you, again, to do some research if you are interested. The math required to determine the positions of the motors is not too complex; you learned all the math skills you’ll need in high school. Basically, each of the numbers we will be inputting into the KK2.1 Mixer Editor represents the sine of various angles.
For now though, let’s quit with the background information and start programming the KK2.1. The first step is, of course, to turn on our KK2.1. To to his, simply attach a battery to the battery plug we soldered into the Q Brain a while back. You should see the screen on the KK2.1 light up and, after flashing some information about the hardware and firmware versions of the KK2.1, you will see the home screen, which should display the word “SAFE” followed by some information about the quadcopter.
Just one more thing before we get to programming. The KK2.1 has four buttons used to navigate the user-interface. From left to right, the buttons are Back, Up, Down, Select.
Let’s get started. The first settings we will adjust are the those in the Mixer Editor, which are the settings that, as we just discussed, tell the KK2.1 the positions of the four motors. In the bottom-right corner of the KK2.1 home screen, you will see the word Menu. Press the far right button to access the menu. There are a whole bunch of different settings in this menu, and we will get to most of them quite soon, but for now scroll down to Mixer Editor, which is the tenth item in the list. With Mixer Editor selected, press the Enter button.
In the upper-right corner, you will see a CH:1 label, this means that we are specifying the position of Motor 1. For reference, Motor 1 is the front-left motor, Motor 2 is the front-right motor, Motor 3 is the rear-right motor, and Motor 4 is the rear-left motor. To change a setting, use the Up and Down buttons to scroll through the list, and press the Enter button to select a setting. Use the Up and Down arrows again to change it the selected setting and when you are done, press Enter again to save the setting. The settings we’ll need are as follows:
Motor 1 Mixer Editor Settings
When you are done entering the above settings for Motor 1, switch to Motor 2 by moving the cursor up to the CH:1 label and pressing enter. Then we will repeat the process above to adjust the Mixer Editor settings for Motor 2.
- Throttle: 95
- Aileron: -34
- Elevator: 94
- Rudder: 78
- Offset: 0
- Type: ESC
- Rate: High
You’ve probably pretty much mastered the Mixer Editor menu by now so continue by entering the Mixer Editor settings for Motor 3 and Motor 4.
- Throttle: 95
- Aileron: 34
- Elevator: 94
- Rudder: -78
- Offset: 0
- Type: ESC
- Rate: High
Motor 4 Mixer Editor Settings
- Throttle: 82
- Aileron: -71
- Elevator: -71
- Rudder: -100
- Offset: 0
- Type: ESC
- Rate: High
- Throttle: 82
- Aileron: 71
- Elevator: -71
- Rudder: 100
- Offset: 0
- Type: ESC
- Rate: High
So now the KK2.1 knows the positions of the motors, but we still need to give it more information before our SK450 Dead Cat quadcopter will fly correctly. In this step we will adjust the settings for the PID loop. Like I did in the last step, I just want to take a moment to explain what the PID loop does and what we are trying to accomplish by adjusting its settings. Note though that the PID controller is probably the most conceptually complex part of the quadcopter, so don’t worry if the following information is a bit confusing.
A PID loop is a very common control mechanism (probably one of the most common) that is widely used in numerous control systems, including, of course, our KK2.1 flight control board. The role of a PID loop is to detect and attempt to correct errors between a measured process variable and the desired value of that variable. In the case of our quadcopter, when we are flying, we give the quadcopter certain control inputs and we want the quadcopter to obey our input as closely as possible. Lets use an example to make the role of the PID controller more clear: let’s say we want the quadcopter to stop flying level and instead pitch forward by five degrees in order to move forward. When we first tilt our elevator (pitch) stick forward, there is an error between our control input and the quadcopter’s actual position. The quadcopter would be level when we want it to be pitched forward by five degrees. This is where the PID loop goes to work. It notices, by examining data from the flight controller’s sensors, that the quadcopter’s real orientation does not match the one we commanded the quadcopter to take. So, the PID loop adjusts the lift produced by each of the four rotors in such a way that the real orientation of the quadcopter matches the five degree forward pitch we wanted.
The trick to this process is to make sure that the PID loop does not accidentally overshoot the desired orientation by being overly aggressive when controlling the motors. When the PID loop is too aggressive, the quadcopter will be twitchy and unstable in the air as the PID loop frantically corrects errors and keeps overshooting the desired values. However, we also don’t want the PID loop to be too gentle, which would cause sluggish performance. So we have to strike a balance so that the quadcopter responds quickly to our input without developing instability with rapid, aggressive lift adjustments. In this step, we will adjust settings for the PID loop in order to achieve this balance.
Hopefully that explanation made at least some sense to you so that now you are ready to start tuning the KK2.1 PID loop. The PID loop settings are located in the PI Roll and Pitch menu on the KK2.1. Input the values below. Note that the values for Roll (Aileron) and Pitch (Elevator) are coupled so when you change the values in one of these menus, the values in the other menu change as well.
Roll (Aileron)/Pitch (Elevator) PI Settings
Yaw (Rudder) PI Settings
- P Gain: 50
- P Limit: 100
- I Gain: 25
- I Limit: 20
- P Gain: 55
- P Limit: 20
- I Gain: 60
- I Limit: 10
There are many things I love about the KK2.1 flight control board including its small and light form factor, the ease with which it can be configured, its versatility, and its self-level feature, which is the subject of this step. When in self-level mode, the KK2.1, as you can probably guess, attempts to keep the quadcopter as level as possible during flight. Self-level is a great feature for people who are new to flying quadcopters as it greatly reduces the chance of losing control and crashing. Flying in self-level mode is also nice for doing aerial photography or videography since it makes the quadcopter a nice, stable platform for your camera.
But, for the self-level feature to work well, we are going to need to customize some settings for the SK450 Dead Cat quadcopter. Fortunately, this step does not require much explanation because what we will actually be doing is calibrating another PID loop like we did in the last step, just this time the PID loop is used for a different purpose.
Just before we conclude this step, I wanted to include one final bit of theory about the ACC Trim Pitch value. The reason we decreased that value from 0 to -3 has to do with the geometry of our SK450 Dead Cat quadcopter. The difference between a normal X quadcopter and our SK450 Dead Cat quadcopter is in the position of Motor One and Motor Two. Compared with a normal quadcopter, the front arms of our Dead Cat quadcopter are angled back by 25o. The negative ACC Trim Pitch value helps prevent the quadcopter from tipping forward since, relative to a normal quadcopter, there is less lift for the front of the craft. If you mount a heavy camera in the front, you may wish to decrease this value a bit further.
- P Gain: 42
- P Limit: 56
- ACC Trim Roll: 0
- ACC Trim Pitch: -3
Welcome to the longest step of this entire SK450 Dead Cat quadcopter tutorial. Before we get started, let’s take a second to review the work we’ve done so far: we modified the KK2.1 Mixer Editor settings so that the flight controller knows the positions of the quadcopter’s motors, we modified the PI Roll and Pitch settings so that the quadcopter responds appropriately to our control input, and last, we modified the self-level settings to optimize the quadcopter’s ability to stay level in the air. In this step, we will calibrate our radio transmitter and the flight controller’s receiver settings.
Let’s get started with a tiny bit of theory - don’t worry, this step is much, much simpler than some of the earlier ones in this chapter. There are four different directional controls on our radio transmitter, which you should be familiar with already: throttle, roll, pitch, and yaw. Each of these directional controls has a range of values that depend on the positions of the two sticks on the radio transmitter. This is how we communicate with the quadcopter.
Our goal here is to make sure that when we move the transmitter sticks, the KK2.1 receives commands in the correct directions. In other words, to use an example, when we move the pitch stick up, we want the KK2.1 to detect an upward pitch control, not downward. Chances are though that without setting up the transmitter, at least one of the control inputs will be inverted. To correct this, we will use the Receiver Test tool in the KK2.1 menu.
We’ve been working hard programming all of the many settings in the KK2.1 needed to optimize the flight performance of our SK450 Dead Cat quadcopter. I think it is time for a nice easy step. Before we fly our quadcopter for the first time, it is a good precaution to make sure that all of the sensors onboard the KK2.1 are functioning correctly. This will hopefully help prevent the quadcopter from going crazy on takeoff and damaging itself or something else.
So, in the KK2.1 menu, navigate to the Sensor Test tool and press the Enter button. The KK2.1 has two types of sensors onboard: a 3-axis gyroscope, which senses the rotation of the craft around the roll, pitch, and yaw axes, and a 3-axis accelerometer, which senses acceleration of the craft in all three directions. The Sensor Test tool should list the three axes for these two sensors. You should, hopefully, see that the status for all six lines is listed as “OK.”
It is probably a good idea to run this sensor test from time to time, especially after a crash. Unfortunately, if, for whatever reason, one or more of your sensors fails the test, you don’t really have any options other than replacing the KK2.1 board. If your board is brand new, you should return it. I have never had a sensor fail though, even after some fairly serious crashes, so hopefully neither will you.
Since we just used to Sensor Test tool to verify that all of the sensors onboard the KK2.1 flight controller are functioning as expected, we will now need to calibrate the accelerometer.
Ready for one more bit of theory before we are done programming the KK2.1? I think it is worth knowing a bit about how accelerometers work before we calibrate the one on the flight control board. First of all, accelerometers are devices that sense acceleration forces. They can detect two different types of acceleration: static acceleration forces caused by the Earth’s gravity, and dynamic acceleration forces caused by movement. So when we calibrate our accelerometer, we are giving it a zero reference so that the sensor knows what direction is down (the direction of gravity).
The KK2.1 can then talk to the accelerometer to figure out which direction is down and it can combine this information with data from the gyroscope, and data about the quadcopter’s movement-related acceleration to determine exactly how the quadcopter is oriented in three-dimensional space.
Let’s calibrate the accelerometer. The most critical part of this process is setting up our calibration environment correctly. In order to calibrate our accelerometer, we need the quadcopter to be completely level and on a solid surface. So, using a bubble level, find some solid surface in your work area that is completely level. It is worth the extra effort to make sure the surface is level because if you calibrate your accelerometers while the quadcopter is in a non-level position, your quadcopter will probably drift around in the air, making it more difficult to fly. Avoid using a wiggly table or a swiveling stool or something because if you quadcopter moves during the accelerometer calibration process it will throw off the accuracy of the calibration.
So, place the quadcopter on your chosen level surface. Then, in the KK2.1 menu, scroll down to the ACC Calibration tool, and click the Enter button. The KK2.1 will tell you to place the quadcopter on a level surface, which we’ve done already, so press the Enter button again. The KK2.1 will then go through the calibration process, which takes eight seconds or so. Make sure you do not bump the quadcopter or the table during this process. And finally, the calibrated accelerometer readings will be displayed.
We are just about ready to fly. We only have two components left add attach to the quadcopter (excluding optional components like a camera): the battery and the props. We will get to the props in the next step, in this step we will attach the battery. There is a good reason why we saved the battery for this step. Since the battery is by far the heaviest part of the quadcopter, we can use its bulk to balance the craft.
Balancing the quadcopter, both side to side and front to back, is very important for a number of reasons. First, balancing the quadcopter makes it more stable during flight since it won’t be constantly trying to flip over or drift. Second, balancing the quadcopter extends the life of the battery since the motors will not have to fight against the craft flipping over. Third, a balanced quadcopter, by virtue of it being more stable, makes a better camera platform. And last, in the event of a crash, a balanced quadcopter will be less likely to crash upside-down and damage the flight controller.
Luckily, balancing the quadcopter is not too difficult. To start with, since we assembled our quadcopter symmetrically around the roll axis, it should be balanced side to side automatically. Balancing the quadcopter front to back will involve moving the battery forwards and backwards until the position at which it balances the quadcopter is found.
In order to test the balance, place the quadcopter on some kind of narrow support, like the edge of a board, or a pipe, or something similar. I used a part of my toolbox because it was handy. With your support selected choose a random starting position for the battery. Attach the battery to the bottom of the quadcopter using zip-ties. Keep the zip-ties loose enough that you can slide the battery forwards and backwards to adjust the balance point of the craft.
One last thing, if you plan to attach a camera to your SK450 Dead Cat quadcopter, you should attach it in the proper position while you try to balance the craft, otherwise, when you put the camera on later, the quadcopter will become unbalanced. So with your quadcopter set up as it will be when you fly it, move the battery forwards and backwards until the quadcopter stops tipping one way or the other on its support when you let it go.
I found that, without a camera, the correct position for the battery was right in the middle, directly below the flight controller. With the camera (I use a Contour ROAM) installed on the camera shelf on the front of the SK450 Dead Cat, I found the correct position of the battery to be almost at the back.
Now the only components left to attach to the quadcopter are the props. Before we attach the props to the motors though, we need to balance the props. By balance the props, I mean we need to make sure that each blade weighs exactly the same. Unbalanced props cause three main issues during flight. First, unbalanced props can cause intense vibration since the props spin extremely fast. This vibration can interfere with the accelerometer as well as loosen screws or damage components. Second, if you are doing aerial videography with your quadcopter, the vibrations caused by unbalanced props will cause the infamous jello effect in your video (or, to use the correct terminology, the rolling shutter effect). Third and last, since some of the energy put into the motors is wasted on vibration when you quadcopter has unbalanced props, balancing the props can increase battery life slightly.
To balance our props, we will use a special tool called, unsurprisingly, a prop balancer. A prop balancer consists of a metal shaft suspended by two magnets. By using magnetic suspension, there is practically zero friction, which means, when we test our props, even the slightest difference in the weight of the two sides of the prop will be noticeable.
Let’s balance our props. First, select one of the props and mount it in the prop balancer by slipping the metal shaft through the hole in the prop and sliding the rubber pieces to the middle so that the prop will be held in the center of the shaft. Then, hold the prop in a horizontal position and, taking care that your fingers do not bump the the prop one way or the other, carefully let the prop go. Unless your prop is already balanced, which, unless you opted to by very high quality props, is unlikely, one side of the prop should fall. Repeat this test several times to make sure the result is reliable. The side of the prop that falls is, obviously, the heavier side. So, cut a very small piece of electrical tape and apply it to the light side (the side that went up) of the prop. Then re-test the balance of your prop. If the original heavy side still falls, move the piece of tape further from the center of the prop. Otherwise, if the side to which you applied tape now falls, move the tape closer to the hub, or cut it smaller.
It will probably take some fiddling, even quite a lot of fiddling, but you will know your prop is balanced when, after positioning the prop horizontally and letting it go, it does not move at all. Then, repeat this process for the other three props, and, if you are not terribly bored with prop balancing already, balance some spare props so that if one of your props breaks in the field, you can immediately replace it and keep flying.
Well, it has been a long journey but we are finally on the very last step before we get to fly. The last thing we need to do is attach the props to the motors.
Unfortunately, this isn't quite as easy as it sounds. You see, we have two different types of props, ones made to turn clockwise, and ones made to turn counter-clockwise, and both of these types of props look pretty much exactly the same. To figure out which props to go on which motors, we will first need to recall the direction each motors spins. So, remembering that the motors are numbered clockwise around the craft, with Motor One in the front-left, Motor Two in the front-right, Motor Three in the rear-right, and Motor Four in the rear-left, the rotations directions are as follows:
Now let's match up the props. First of all, on one side of each prop, you should notice a bit of writing. We will mount all of the props with the writing side up. In order to provide lift instead of upward thrust, which would force the quadcopter into the ground, the blades should spin so that the wider part goes forward. Take a look at the pictures below for clarification. So match up each prop with a motor that spins in the correct direction.
To attach the props to the motors, we will need to use prop adapters since the hole in the prop is far larger than the motor shaft. Fortunately, the props came with prop adapters in a variety of sizes. So just figure out which size is correct for the motors by testing out each adapter. With four prop adapters on hand and the propellers matched up with the correct motors, we can start mounting the props.
The first step is to take the nuts off all four motors. Then, put a prop adapter onto each motor, followed by a matched prop, and finally screw the nut back on.
Once you have all four props attached and you have tightened the nuts until they are very snug, we will need to verify that the motors themselves spin in the correct direction. First of all, memorize the directions in motors are supposed to spin (see the list above). Then, press the back button three times until the KK2.1 is back on the home screen. Turn on your transmitter and arm the quadcopter by moving the left stick to the bottom-right position.
Now, using short little bursts of throttle, look at the direction each motor spins. If any of the motors spin in the wrong direction, first disarm the quadcopter and disconnect the battery. Then, simply swap any two of the motor connection wires to change the rotation direction.
Congratulations! At long last, your SK450 Dead Cat quadcopter is ready to fly! I just wanted to take a moment not only to congratulate you on completing your quadcopter but also to thank you for reading through this tutorial.
When you are in a wide open space (like outside) where there is nothing too valuable or alive to accidentally crash into with your SK450 Dead Cat quadcopter, remember that to arm the KK2.1 for flight, move the left stick down and to the far right. Arming the KK2.1 allows the motors to turn according to the throttle input you give. In other words, arming the KK2.1 allows the quadcopter to fly. Remember to always disarm your quadcopter when you land by moving the left stick down and to the far left.
Now go fly!
The P Gain (which stands for Proportional Gain) parameter basically controls how your quadcopter prioritizes pilot input versus input from the flight controller's onboard sensors.
A high value of the P Gain parameter means that the readings from the sensors will be very important. A low value of the P Gain means that pilot input will be very important.
If the P Gain is set too high, you might notice the quadcopter oscillating or kind of twitching in the air. This effect is caused by the flight controller's frantic attempts to correct even the tiniest sensor discrepancies. If the P Gain is set too low, the craft will seem sluggish and slow to react to changes in orientation on control input. It will probably be difficult to keep the quadcopter airborne if the P Gain is too low since the quadcopter will be expecting you, the pilot, to do most of the work needed to keep and craft stable, and unfortunately, our brains and our thumbs are just not quick enough to make the rapid adjustments needed to keep the craft in the air.
The I Gain (which stands for Integral Gain) controls how quickly the quadcopter will respond to changes in angular orientation.
In other words, let's say you are flying your quadcopter and you want it to move forward. To do this, we tilt the quadcopter forward. This forward tilt directs some of the quadcopter's lift backwards instead of all the lift being directed downwards, which makes the quadcopter move forward. When we release the stick, the quadcopter will return to a level position.
Neither the tilting forward nor the returning to a level position happen instantly though. It obviously takes a little time for the quadcopter to actually move. The I Gain basically controls how aggressively the quadcopter attempts to achieve the designated tilt.
If the I Gain value is too low, the quadcopter will see sluggish and slow to respond to control input. If the I Gain is too high, the quadcopter will again oscillate in the air as it fights to keep a perfect position.
Tuning P Gain
Starting with the values suggested in step 19 of this Instructable, if you feel like your quadcopter is a bit too sluggish, turn up the P Gain in intervals of five until you get the responsiveness you want. If you notice your quadcopter oscillating in the air, back the P Gain off a bit.
Tuning I Gain
Starting with the values suggested in step 19 of this Instructable, if you notice your quadcopter does not stop and stabilize after moving the sticks and returning them to center, increase the I Gain increments of five until you get a quicker response time. You want to get to a point where the quadcopter returns to a level position quickly and does not wander around in the air.
The I Gain value is also useful if you are flying in windy conditions where it is more important for the quadcopter to correct its angular position and not get moved around by the wind as much.
When you place an order for a KK2.1 flight control board somebody goes into a HobbyKing warehouse somewhere, finds a KK2.1 on a shelf, puts it in a box, and sends it to you. The problem is, like most electronic devices, the software installed on the KK2.1 evolves over time - bugs get fixed, features get added, algorithms get optimized, ect. - and depending on how long the particular KK2.1 board you get has been sitting in the warehouse, its software is probably out of date.
By upgrading the software (called firmware) on your KK2.1 board, you can improve the performance of your multirotor, as updated firmware has more advanced control code. For example, the auto-leveling algorithms on the newest KK2.1 firmware are far superior to the ones that come with firmware version 1.5, which is the firmware installed on most KK2.1 boards when you order them. So by updating the firmware, your multirotor will fly much better in auto-level mode for example. So, let's get to the firmware update setup.
As mentioned above, the firmware installed on your KK2.1 board when it arrives in the mail may or may not be out of date. This is especially true if you purchase your KK2.1 secondhand on eBay or somewhere; the previous owner might have already updated the firmware. Fortunately, discovering what firmware version is installed on your KK2.1 is really easy. When you first apply power to your KK2.1 board, either with a battery or with a USBasp programmer (more on that in a second) a screen will flash across the screen that displays the current hardware and firmware versions. You might have to unplug and replug your KK2.1 a few times to read the firmware version as it only displays on the screen for part of a second, but you are going to look at the second line in the splash screen, which says "FW: ###". That number is the firmware version currently running on your KK2.1.
You will only need two pieces of hardware to update the firmware on your KK2.1 board:
On the software side, we are very fortunate to have fabulous and generous programmers in the multirotor community who donate their time an energy to create easy-to-use software tools for updating the KK2.1 firmware. The software I like best was created by "Kapteinkuk" and "Lazyzero." The "KKmulticoper Flashtool" they created provides a graphical interface for updating the firmware on the KK2.1 board, along with a host of other boards. To download the software:
Now, if you are on Mac OS X, you are ready to start updating your firmware, just skip to the next step.
If you are on Windows (like me), you will also need to download the driver software for the USBasp programmer:
We will start by plugging the KK2.1 board into our computer via the USBasp programmer.
First, plug the 10-pin end of the programming cable into the USBasp programmer board. Second, plug the USB end of the USBasp programmer into an available USB port on your computer.
Now, the third and last step is to plug the 6-pin side of the ASP programming cable into the KK2.1 board. However, the direction of the cable does matter. Fortunately, it is easy to figure out if you have the cable the wrong way, and if you accidentally do plug in the cable the wrong direction, don't worry, no harm will befall your KK2.1 board. So, when you plug the 6-pin side of the ASP programming cable into the KK2.1 board, you should see the KK2.1's screen light up and display the "SAFE" screen. If your KK2.1 does not light up, you have the cable on backwards, so just turn it 180o and everything will be fine.
For Windows users, there is one last thing to do. When you plug in your KK2.1, you will probably notice a message appear on your computer informing you that Windows is attempting to install the driver for your new device. Despite its best efforts, Windows will fail at this task and we will have to give it some help by locating the USBasp driver we downloaded in the previous step:
At long last it is finally time to do the actual firmware updating. So start by running the KKmulticopter Flashtool we downloaded in the previous step (it usually takes ten seconds or so to start). There are a total of five fields in the KKmulticopter Flashtool software we will need to set for the firmware update to work.
Finally, with all the fields set, click the green button on the right side of the Flashing firmware area. The firmware update process can take 20 to 30 seconds or so but eventually you should see a message in the KKmulticopter flashtool indicating that the firmware flashing process was successful.
Congratulations, you have successfully updated your KK2.1 firmware.