By default the board comes with some version of firmware pre-configured for +Copter. The problem is, I don't know anything about the origin or version of the pre-loaded firmware. The HK manual goes into lengthy detail on how to update the firmware before it even shows how to mount and use the board so I guess it's assumed, if not recommended to update the board before use? A lot of people won't like the default + configuration and to fly in the X config, or even Tricopter config for that matter, a firmware flash is required.
As usual, the hardware and software I have doesn't match that used in the manual so of course I can't simply follow the instructions step by step. Life wasn't meant to be easy. For a start, my Atmel USB programmer wasn't the same and wasn't recognised by the software mentioned in the manual "AVR Studio 4". The programmer I bought on eBay is called a "USBASP USBISP AVR Programmer USB ATMEGA8 ATMEGA128". More info (drivers etc http://www.fischl.de/usbasp/) Now this is a 10 PIN device and of course the HK board has a six pin interface so you'll need one of these "10PIN to 6PIN ISP Adapter board for ATMEL AVRISP USBASP" to be able to plug it into the board.
The next problem to overcome is the AVR Studio 4 software not recognising my USB programming interface. This is where the "KK Multicopter Flash tool" comes in handy. Not only does it recognise my programmer, it puts a nice GUI frontend on the AVRDUDE software and automatically shows a list of compatible firmwares for the HK board. Just select the one you want and it will download it. The software author makes mention on his page that the HK board comes in a state that protects the firmware can't be overwritten and he also gives the specific command required to unlock it.
Once that's done open the Flash tool (java required), select Programmer: usbasp (USBasp, http://www.fischl.de/usbasp/), Controller: Hobbyking Quadcopter Control Board (4kB flash) and select the firmware flavour you want to use.
I had to copy the contents of the folder "…kkmulticopterflashtool_0.21\lib\avrdude\windows" to a new folder I created "C:\WinAVR\bin" because the KK Flash Tool assumes WinAVR is installed in that path.
Hit the little green running man button and away it goes. All going well it should end with a message something like "…flash verified. avrdude.exe done. Thank you."
Next step, mount it and fly.