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!
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.
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:
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.
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.
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 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.
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.
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.
This displays the current gyro and accelerometer data values.
Put your craft onto a level surface and use this function to calibrate the KK2 board.
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.
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:
Aero 1S Aileron
Aero 2S Aileron
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.
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.5 improves autolevel to the point where it’s quite simply fantastic. To prove his point, Rolf Bakke even posted a video showing him fling a quadcopter violently into the air, only to have it stabilize itself within half a second of flicking the switch.
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.
With such exceptional flight performance and user friendliness comes the question why there’s no
Gimbal, 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 , though sadly the lack of gimbal output means you will have to either get extra camera stabilization electronics, or live without gimbal.
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
Gimbal output, GPS- or altitude hold functionality. This is nothing short of an awesome flight controller at a very competitive price.