I used my Arduino Uno (opensource microcontroller tinker project platform) to flash my KK2; a brief description is in my build long thread.
Earlier in the week I ordered a USB AVR programmer based off a comment in discussions of the item page on Hobby King, which has had their programmer out of stock for a long time, which was marketed toward flashing the Turnigy 9X transmitters. They work the same, and for $9 shipped I figured I would try it. I expect the programmer to come in on Friday.http://www.9xrprogrammer.com/
To be clear, I knew I wanted to flash my KK2 and found the 9XRProgrammer so I ordered it. But like an hour later I figured I could probably use my Arduino to do the flashing, so I did a little research, found a guide, and a half hour later it was done. Now I will have a dedicated USB AVR programmer laying around when it comes in.