KK 2.0 (KK2) Multicopter Controller Review

July 4, 2012 11:17 | By | 35 Comments

LCD Screen! Accelerometers! It even glows in the dark! The new KK2 flight controller from Rolf Bakke sure has a lot going for it, but is it worth the noise that HK is making around this controller? Read on for an in-depth review!

NOTE: Also check out our KK 2.1 review!

Just when we thought that there’s no end to the clones of Rolf Bakke’s aging KK-Board, HobbyKing surprised everyone with an exclusively-made successor called the KK2 – this time with gyro and accelerometer support as well as a spiffy backlit LCD screen. And when the price was set to $30, with a short-time promotional offer of just $18.90, what little stock they had was sold out in just a few hours.

The board comes shipped in a black cube of antistatic foam, and the SMD soldering on the top side is quite alright. Turning it around however reveals some less-than-professional manual soldering that was done to place the connectors on the board.  It’s not bad to the point where one might fear a bad contact, but it doesn’t look very professional – not to mention the board wasn’t cleaned after soldering.  But aesthetics aside this is a well-made board, plus the soldering might be the side effects of this having been the very first batch of KK2-controllers out of the factory.

The bottom of the PCB won’t win any beauty contests – but the issues are only of cosmetic nature.

Whatever the reason, you’re mostly gonna look at the top side anyway, with it’s cute little LCD screen. The backlight is quite bright and while the contrast is only average, the pixel density is quite high – you’ll be surprised at how much text fits on such a little display. Quite frankly it’s perfect for what it’s designed for: It’s small and lightweight and gets the job done. What remains to be seen is how vibrations (or crashes…) might affect the display or the ribbon cable connection to it in the long run. It should be noted that while the receiver inputs are labeled on the backside (Note to self: keep that in mind before before bolting down the board…), the motor output labels are on the front but covered by the backlight frame. It takes a closer look to find “OUT8” visible at the bottom connector, so OUT1 is the topmost connector.

The hardware is quite alright, and a welcome upgrade from the obsolete Murata gyros on the KK1 board. As we’ve found in our review of the i86 Controller, the current generation of SMD gyros simply outclasses them. The KK2 controller uses two InverSense gyros as well as a 3-axis accelerometer, driven by a Mega324PA microcontroller. All the different airframe types are programmed in and can be selected on the LCD screen, so no flashing is required. That said, a connector for future firmware upgrades is available. Sadly there is no serial port – so you will not be able to connect a GPS, ultrasonic sensor or any other sensor for that matter. Then again, for $30 it’s difficult to complain about that.


There are no submenus or anything like that. Everything is accessible right from the main menu, which is a huge plus. This is a board you can make operational without ever reading a manual. Navigating the menu is fast and intuitive, everything happens instantaneously.

The menu structure is pretty simple:

PI Editor

The PI gain and limit values define how aggressively the controller tries to control its attitude and orientation. In layman’s terms the P-gain controls how much the board reacts to the craft rotating, and the I-gain counteracts drift. You can set these values for roll, pitch and yaw, with the option of locking roll and pitch values together so you don’t have to click around in the menu so much.
A too low P-gain results in the copter feeling sluggish and hard to control, a too high P-gain causes fast wobbling along the roll/pitch axis. A too low I-gain results in the copter having a tendency to slowly rotate into some direction instead of staying at its current attitude. A too high I-gain causes a slow kind of wobble.
Tuning the PI gain values is very simple: Just start at the default “P” gain of 150, and if it wobbles with a high frequency (about 4-6 times a second), turn that value down. If it doesn’t wobble, try increasing the value until it just doesn’t wobble yet. For the “I” gain, do the same except that a too large I-value results in that characteristic slow wobble (about 1-2 times a second).
The PI limit values define what range of control inputs the controller is allowed to make to counteract external influences. So if you can’t seem to get the gain values to a point where the craft is stable, try lowering the limit.

Receiver Test

The receiver test menu item lets you easily confirm your channel directions, eliminating the chance for nasty surprises.

Praise must be given to Rolf for the inclusion of a receiver test function that displays “left”, “right”, “forward”, “backward” etc. as you move the sticks – thus showing you in no uncertain terms if one or more channels need to be reversed on your transmitter. This is simply awesome and makes setting up other flight controllers feel like working blindfolded. Well except for the MultiWii controllers, but you need a PC or a bluetooth dongle to see that. Here it’s right there at your fingertips.

Mode Settings

Self Level can be switched either via the AUX channel, or via stick input during the arming procedure.

I part of PI allows the disabling of the drift-counteracting parts of the controller. Most of the time flying is possible without this, but for optimum stabilization it should be kept enabled.

Arming can be done either via stick input, or the board can be set to arm itself automatically. This always-armed mode is useful for airplanes, where the KK2 does not control motor throttle.

Link Roll Pitch ties the roll and pitch parts in the PI Editor together. This is simply a convenience function that makes setup quicker for most quadcopter pilots, as there’s rarely any need to give the roll and pitch axis different P/I gain values.

Stick Scaling

Stick Scaling gives the pilot the ability to set how agressive the whole craft acts on control input. The default values are fine for casual flying and/or filming, flips and rolls can be made possible by tweaking here.

Misc. Settings

Minimum Throttle adjusts the lower endpoint of the throttle output. This should be set just high enough that all motors start spinning when moving the throttle out of idle position.

LCD contrast really needs no explanation.

Height dampening is a unique feature that counteracts the loss of altitude when changing pitch/roll angle of the copter. Most experienced pilots will not have much use for this, as you tend to learn early on that tilting forward builds up speed but lowers altitude. For filming this is a handy feature though, as it removes yet another worry. It’s no replacement for a true altitude hold though.

Voltage Alarm can be set to sound at varying voltage levels. This needs the buzzer to be connected to the board.

Self-Level Settings

The self-level PI gain and limit parameters control the aggressiveness of the auto leveling function. You’ll want to start with zero for these values at first. Especially the autolevel I-gain reacts unfavorably to too large values. Autolevel oscillation can be nasty.

Sensor Test

This displays the current gyro and accelerometer data values.

Sensor Calibration

Put your craft onto a level surface and use this function to calibrate the KK2 board.

ESC Calibration

Ouch! Hope you can remember the 13 steps of calibrating your ESCs. Or just have the manual ready, as this menu item is pretty useless.

The ESC calibration menu item does not, as it might suggest, allow you to calibrate your ESC throttle range – but it just displays the steps you have to take to do that. They explain this in 13 steps that nobody will remember on the first try. The only thing you need to know: There’s two buttons (button 1 and 4) you have to keep pressed while connecting the battery, which will put the KK2 board into “transparent throughput” mode, allowing you to move your throttle stick to set up your ESCs. The actual procedure depends on your particular brand of ESC of course. Note that you have to hold the buttons 1 and 4 all the way through the throttle range calibration.

Mixer Editor

This allows you to modify how the controls affect each individual motor output. You could, for example, compensate for a non-center CG point by shifting more thrust to the front motors, etc.
It is also possible to switch an output from ESC to Servo (for example, for tricopters), or set the output rate for the ESC between high (400 Hz) and low (80 Hz) – this is most important if the output is set to servo mode, for it allows you to use analog servos with the low output rate.

Show Motor Layout

A unique feature of the KK2 controller is the ability to display the airframe motor configuration on the screen. This makes it easy to identify which motor should be connected to which output connector, as well as the direction of rotation. On the other hand you’ll only need this once… but regardless, it does increase the coolness factor.

There’s even a step-by-step display of each individual motor plus rotation direction, which might not be useful for a quad, but it’s good to have for airframe configurations where there is more than one motor per arm.

Load Motor Layout

This loads a predefined mixer setup (See “Mixer Editor” above) for a particular airframe type. At the time of writing, the KK2 firmware supports the following configurations:

Quadcopter +
Quadcopter X
Hexcopter +
Hexcopter X
Octocopter +
Octocopter X
X8 +
X8 X
Aero 1S Aileron
Aero 2S Aileron
Flying Wing
Singlecopter 2M 2S
Singlecopter 1M 4S


This just displays some debug information useful for troubleshooting a possibly defective board.


Arming and disarming is done by moving the rudder stick left or right, a red LED and the LCD will make it unmistakably clear when the motor outputs are live. Changing menu items is only possible while disarmed, and you can only arm the board after exiting the menu. This is both safe and makes a lot of sense.


A note on ESC compatibility: We tested this with Turnigy Plush and RCTimer ESCs, and this controller had no issues with either model. For comparison, the Crius SE and Crius Lite boards would not work with RCTimer ESCs at all.


Flight Performance

We expected the KK2 board to be “okay, but not stellar” – but were pleasantly surprised by its stability. This is easily the most stable board we’ve tested so far, and that with a total setup time of about 10 minutes. Maneuverability is also excellent – surprisingly so even. This controller simply feels right, and gives you the sense of being in control. There are no unpleasant or surprising tendencies, and tuning the PI values is a simple affair with very little risk involved. Even at high P-gains, zooming along at high speeds didn’t end with the drone suddenly starting a wobble dance – something that can happen with other controllers if the sensitivity is low enough for hovering, but a tad too high for high speed flight.

Auto-level can be configured to be as soft or crisp as desired. The optional height dampening can be set up to counter the loss of lift when moving the pitch or roll sticks – but this is something semi-experienced pilots will not need at all, because they’re already used to increasing throttle while maneuvering. Still, it’s yet another function that’s there if you need it.

UPDATE: Firmware version 1.6 improves autolevel to the point where it’s quite simply fantastic. You can throw the multicopter into the air and have it level out at the flick of a switch. Furthermore, a new flight mode allows autolevel to work gradually, i.e. the more the sticks are moved from center position, the lower the autolevel gain is. This allows extreme maneuvers while having the craft dead-level during hover.

After months of flying we found that pretty much the only reason for crashes, aside from bad stick input, is the limited rotation sensing rate of the gyro sensors. This is a hardware limitation that becomes visible as soon as you do extremely fast flips (5 or more turns per second) and results in the copter not getting out of that spin anymore. This flaw is fixed in the upcoming KK 2.1 flight controller.


It’s pure joy to fly with this controller. We expected an “ok” user interface and “ok” flight characteristics, but the KK2 surpassed our expectations and delivers a great user interface with only minor detractions, coupled with a rock solid flight performance. The forgiving control loop makes setting up the dreaded sensitivity values a piece of cake. There are many useful innovations like the receiver test screen, as well as some less-useful or gimmicky things like the graphical motor layout display or the altitude compensation. But as always it’s better to have and not need, than the other way around.

The only drawback, the limited rotation sensing rate, is something KK 2.0 owners should keep in mind when doing fast flips.

With such exceptional flight performance and user friendliness comes the question why there’s no GPS or barometer/sonar interface available. Perhaps that’s something forthcoming in a KK 3.0 board… we don’t know yet, but we certainly hope for this to happen. The rock-solid stability would make this ideal for filming.

UPDATE: Firmware update 1.5 added  gimbal stabilization output.

The KK2 easily beats gyro-only flight controllers, but more importantly, it’s easier to set up and delivers a more stable and dependable flight performance than both the Crius Lite/SE and the Rabbit board. At a price of $30 there is simply no debate about whether or not this is the board to get, provided that you don’t want or need GPS or altitude hold functionality. This is nothing short of an awesome flight controller at a very competitive price.



KK2 Flight Controller at HobbyKing


Tags: , , , , , , ,

Category: Featured, Reviews

About the Author ()

FPVCentral is a private, independent news and review site for all things related to First Person View RC model flight. Covering everything from hobby, commercial and military drones, RC models and electronics related to FPV flight, we are not sponsored by any manufacturer or affiliated with any company or project.

Comments (35)

Trackback URL | Comments RSS Feed

  1. Chris says:

    Hi guys.
    I really enjoyed reading your article on the KK2.0 board. I am still having troubles to setup my board correctly on my Y6 scorpion Y650.
    Thanks to your guide, I have set the following values in the PI editor:
    P gain: 140
    P limit 100
    I gain: 57
    I limit: 23
    this turns out to be pretty nice for flying wihtout self leveling.
    But I just can set up self leveling to work properly:
    First, I kept the I limit to 0 and only worked on the P values. That made the copter fly very level and stable, but did not compansate drift.
    Values were:
    P gain: 40
    P limit: 20
    I gain: 15
    I limit: 0
    Then I wanted to work on I gain and limit and went for this values:
    P gain: 40
    P limit: 20
    I gain: 15
    I limit: 5
    As I turn on the self leveling, the copter gets nearly uncontrollable and had a hard landing. It needs lots of stick to center / react and then over compensates into the differen direction.
    Can you give me some hints on my settings?
    I am really feared to work on the self leveling settigs again and perhaps loose the copter..

    • fpvcentral says:

      I’d try lowering the P and especially the I gain for the normal stabilization and then try with a self-level I-gain of 5 and I-limit of 5. You could also try with I-gain 1, 2, 3, etc. working your way up. My guess is that your regular stabilization is set too high – it may work for normal hover, but when rapid control inputs come in, it starts to oscillate. I think you’ll find that if you lower the normal stabilization values a bit, self-level won’t be as easily excitable anymore.

  2. harry wu says:

    Im having trouble setting up my tricopter also.I have 3 questions on this kk2 board
    Do u have a reference point value for the P & I GAIN so we can start off wth ?
    Isit advisable to follow the motor rotation direction CCW or CW ?
    Finally can u explain the values representive in Mixer Editor as by trimming + ve & – ve how will the motor react

    • fpvcentral says:

      It’s virtually impossible to give good starting values. Start low, and work your way up. If you get wobbling then turn down the P and I values even more, before going back up. Quick wobbling means too high P, slow wobbling means too high I. Try to keep the P and I limit at the default value first (100 P limit, and 24 I limit) and only reduce them if you just can’t get it to stop wobbling. If the opposite is true, and the copter just won’t ever fly stable (i.e. never even gets to the wobble range) then increase the range.

      I don’t understand what you mean by following motor rotation direction.

      Trimming works like this:
      Every input (aileron, elevator, rudder, throttle) has a certain amount of effect on the RPM of that particular motor. That’s what you control with these numbers. So throttle usually has 100% effect, moving aileron right might have a positive, or a negative effect depending on where the motor is located, etc.

      Offset is a static value that’s added/detracted from the resulting sum, before being sent to the ESC.

      Whether you fly a Quadcopter or a hexa or octocopter is simply reflected in different values for the mixer.

      Take http://fpvcentral.net/wp-content/uploads/2012/07/IMGP4794-001.jpg as example, this was taken on a quadcopter frame, motor 1, which is the top right motor:

      Throttle and Rudder have 100% effect on that motor. To have the quad tilt right, the motor needs to slow down (so -71% effect of aileron), have the quad tilt up motor 1 has to speed up (+71% effect of elevator), and there is no offset because the quadcopter is a symmetrical airframe with the controller board and sensors in the center.
      (EDIT: Corrected)

      • fpvcentral says:

        Small correction: Motor 1 is on the front right position, hence rolling right needs the motor to slow down, and pitching up needs it to speed up. That’s why motor 1 has a negative effect value for roll, and a positive effect value for pitch.

        Motor 4 is on the front left position, so it has a positive effect value for roll and pitch.

  3. Dinko says:

    Hi i broke the LCD on this board… can i get an information wich LCD is this… to replace with new one

  4. Rools says:

    Hi fpvcentral,
    I am a big fan of HK and have trialled their V2.1, V3.0 and also the KK2.0 FC’s. I have integrated the boards into both my custom tricopter and quad frames using NTM 28-26 1200kv motors and 18A Turnigy Plush ESC’s. I fly in manual mode and love how smooth the HK boards fly. (I also own a DJI Naza and the Xaircraft FC). BUT (and it is a big but) after approx 3-5 minutes of energetic flying (i like to chase the other guys RC cars around!) the quad or tri starts to wobble very badly and then crashes. It is as if their is an onboard buffer that gets “full” and the gyros or accellerometers then have a seizure causing the wobbles and subsequent crash. This has happened approx 2-3 times with each of the HK FC’s I have. Once I remove the HK FC’s and replace with NAZA I have no problems. Any thoughts – I would love to be able to use the HK boards but only if I didnt have to worry about the reliability.

    • Shane says:

      I had the same problem with mine. Only mine flipped out so bad that it flipped upside down and zoomed straight to the ground. If anyone has any tips please help!!

      • fpvcentral says:

        Guys, make sure your props are well balanced! I had serious issues of the same nature and as it turned out my props were imbalanced, and under certain load/speed conditions the resulting vibrations got my copter out of control!

  5. Angel L Traverso says:

    No matter what I do, cant get to arm the FC. Using a Spektrum Dx6i and Orange Rx 6 ch..sometimes when doing the Rx test, see the numbers change, sometimes they dont move at all. Have tried withe throttle normal and reverse, can not calibrate the ESC…any ideas? Thanks

  6. MikeP says:

    Just a reminder; Current firmware 1.5 has gimbal output! Other than $200 Naza, nothing has flown as good as this $30 board for me.

    • fpvcentral says:

      Yup you’re right! Added this fact to the review, thanks for the heads up. Performance is top notch with 1.5 as well!

      Naza is still a bit easier to finetune due to their simplified parameters, then again you do need a laptop for that, while the KK controller lets you do everything on the field. You’re absolutely right when you say that considering the price, there is simply no question as to what gives the better bank/buck ratio 🙂

  7. jose gomez says:

    please help me whit altitud hold, mi quad fly like a YO YO up and down

  8. I love this board … I developed a firmware for it that has many new features … the most recent feature is to allow connecting a SONAR to the board … other features including connecting it to PC, switching between X & Plus mode without any setup or board orientation …. safe signal lost shutdown ….
    please check my site http://www.hefnycopter.net

  9. Xav says:

    thanks for this great article.
    Just to be sure, you wrote:

    ” In layman’s terms the P-gain controls how much the board reacts to the craft rotating, and the I-gain counteracts drift.”

    but later in the article :
    ” A too low I-gain results in the copter having a tendency to slowly rotate into some direction instead of staying at its current attitude”

    Isn’t there an inversion of I and P in the first quote?
    If not, I am a bit lost.
    Thanks again

  10. Tuna says:

    What settings do you suggest for the “$120 quadcopter” ? I’m waiting for the part 3 instead… 🙁

  11. cacou says:

    Many thanks. I’ve learned much from this site. But I’m now a bit confused about some points. First like Xav I’m wondering whether the P (rotation) and I (drift) controls have been inverted. On another hand in the example given for a quad copter (answering harry wu) the motor #1 should be on the front left position according to the KK2 layout and #4 on the rear left. The last point concerns the Mode Settings menu. The I part of PI line isn’t displayed nor the I Gain and I Limit in the Self Level Settings.

  12. UAV.BJOERN says:

    Hi all,
    ive build a UAV with one fan (impeller) a duct for the antirotation-function with one Servo. 2 Servos left right one pce, and front rear one.
    So i’ve the constellation 1M 3S.
    Have anyone a idea how i can use the KK2.0 Board in this case. Many many thanks

  13. akshay says:

    I have made a vfo with 1motor and 4 servos using a KK2 control board but I am in a fix as to how to do pi tuning. Can someone help me?
    The problem is that it is fragile and propellor breaks as soon as it falls down. So how to even test it?

  14. Tom Erik Aunan says:

    Great review, helped me alot setting up my HK 250 fpv quadcopter 🙂 But I have a problem when flipping it, it turns itself off or I think it disarms itself when its upside Down for some reason..

  15. bella says:

    we took interest in the Spidex 3D printed Micro FPV Quadcopter. I am up to all the final stages of building and have attempted to fly multiple times. First we had a problem with arming but it was a simple fix. Then we attempted for lift off. After building acceleration just as it was about to lift a blade will brake off or it would hit parts of the frame. I did whatever i could to make sure no wires or any other props were in the way of the propellers and it spun fine. so we tried another time, this time it went up for a total of 2 seconds give or take and it looked as if it flipped over, although we tested self balance of the board and done many ACC Calibration tests to the work site we attempted to fly from. We have checked all ESC plugs and done many resets. We notice that the frame seems to bend and vibrate when the quad gets close to liftoff , which leads me to believe the frame is whats stopping it from take off. If you have any ideas we haven’t tried or anyone we can get in contact with that may have a solution to our problem would be greatly appreciated by me and my class.
    Are components are:
    Flight controller- Hobby king KK 2.1 Multi-rotor Control Board.
    Radio System-Spectrum DX8
    Motors-Multi star 1704-1900
    ESC-Afro Opto 12A
    Battery-Hyperion 3s/11.1V
    I am entirely unsure what our software and GUI is. The flight control we received was already programmed.

Leave a Reply