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: