Revive a 'fried' KK2 after faulty flashing

Johan

Senior Member
Ok, summary:

- got KK2 board
- wanted to flash to 1.6 firmware
- got wrong programmer (desired one out of stock).
- programmer not recognized by KKMulticopter Flashtool
- try alternative programmer (that does not set fuses correctly)
- flash succesfully (so the software says)
- KK2 blank screen
- retry (cannot set program mode)
- KK2 fried?

Not necessarily, read on...

So, I just received my KK2 and/ programmer board (USBISP - DO NOT BUY this, go for a USBASP).
Before ever having used the KK2, I wanted the 1.6 firmware installed.
So I thought: easy enough to flash it right away.

Then I find that kkflashtool does not recognize the programmer..
After closer inspection I found this board requires another piece of software : progisp (DO NOT GET THIS unless you know all about fuse and clock settings).

Assuming flashing was as easy as with the KKMulticopter Flashtool, I clicked start and it flashed successfully (well it said so ...)

Then: KK2 screen blank..
Tried again, but "could not enter program mode" ....

Started reading (bit late) on forums etc: Appears that where kkflashool would have set the fuses correctly, the tool I used requires you to know those and set thos manually accordingly (that part I had missed, did not know of fuses and such...)

I thought I had just ruined my KK2, read about the reset fuses option in KKMulticopter Flashtool, ordered a new programmer, waited a few days.
Flashed my new programmer board to its new firmware (just to make sure) through USB.

Full of confidence tried again.
Nope, same result.

Then I read about providing an external clock to the KK2 to get it out of this 'blank' state.
I only had to get a source for the clock and a place to connect it.

My new programmer (DIAMEX ALL AVR) has a 6 pin ISP (KK2 compatible) port and a 10 pin port.
The 10 pin port also has an oscillator port (read: clock signal). Connected a wire to that and put it on the Crystal input of the KK2 (just manual wire with some pressure applied):

kk2.jpg

And tried KKMulticopter Flashtool again with the 'restore fuse' option.
It worked !!!

Now I have the KK2 revived and with the 1.6 firmware.

It was not fully 'fried' after all.

So happy now. :)

Once that worked I also

- flashed the Turnigy 9x with er9x firmware. I soldered the required wire connections to the board inside, connected to my DIY 6 pin male connector. Now I can reflash at will through that connector.

- saw that there was a new iOS 7 beta 4, installed that on my iPad (I have a developers license and am an iOS developer as well)

- found out there was also an update for the iOS GoPro App, that in turn required a firmware update for the GoPro, so installed that as well.

So yesterday was 'firmware update' day for me :)
 
Last edited:

Cyberdactyl

Misfit Multirotor Monkey
Cool.

You should throw some links where you found that info. To some poor guy down the road it will be gold.
 

Johan

Senior Member
Cool.

You should throw some links where you found that info. To some poor guy down the road it will be gold.

Good idea. I will gather the most useful links here (have to filter a bit, so hang on).
I actually found not a single post that contained all the required info, I just gathered bits and pieces (some in German forums).

This "cannot program" appears to be a quite common problem for Atmel users (Atmel = chip where KK2 / TGY 9x are based on, but with a much wider audience of micro controller programmers).

These micro controller programmers know their stuff, signals, fuses, clocks etc, so they usually just need a hint to fix it.
Since this was all new to me (am a programmer, but not on embedded systems), I just wanted to flash the firmware.
To dig in deep once in a while does not hurt, especially if it turn out OK.

These fuses are in fact hexadecimal flags (instructions for the chip) that determine if the chip should use and external clock, if pins (of the chip) are accessible from outside etc. etc.
If set wrong, you have a fully functional chip that simply does not operate because it is suddenly set to wait for an external signal or clock pulse that never comes (because originally it was programmed to use an internal clock for instance or the clock is hardwired on other pins).

Well, need to sleep now, but will post the links later.
 

Cyberdactyl

Misfit Multirotor Monkey
That also maybe where you dimmed the screen inadvertently, and need to do the 36 button push sequence.
 

Johan

Senior Member
Tried that one. Did not work.

Before you try the clock wire option as a last resort, have you tried the following:

kkmulti.jpg

note the (fuse restore) in the controller field. If your clock settings are not garbled, but only the fuse settings, this might work.
 

Johan

Senior Member
Be careful to get one that is avrdude compatible, I first bought one that was not and had to use a different program to do the flashing.
That was the start of the problems, since that program did not set the required fuse settings 'bricking' the KK2...
 

balde38

Junior Member
My new programmer (DIAMEX ALL AVR) has a 6 pin ISP (KK2 compatible) port and a 10 pin port.
The 10 pin port also has an oscillator port (read: clock signal). Connected a wire to that and put it on the Crystal input of the KK2 (just manual wire with some pressure applied):

can you please show which is the port on the 10 pin port and where exactly has to be connected the wire on the KK2?...
i'm in big trouble... thank you,
Gianluca ,Italy.
 

balde38

Junior Member
My new programmer (DIAMEX ALL AVR) has a 6 pin ISP (KK2 compatible) port and a 10 pin port.
The 10 pin port also has an oscillator port (read: clock signal). Connected a wire to that and put it on the Crystal input of the KK2 (just manual wire with some pressure applied):

:

can you please show which is the port on the 10 pin port and where exactly has to be connected the wire on the KK2?...
i'm in big trouble... thank you,
Gianluca ,Italy
 

Johan

Senior Member
Hi Gianluca,

Sorry for the late reply (vacation, no internet...):

I think it depends on the model of the programmer.
Some do not have the clock signal and have multiple GND ports, the DIAMEX ALL AVR has OSZ (oscillator or clock) on pin 3, between RESET and MOSI, but other programmers have a ground port there, so it might not work for yours.
Hope this helps.
Johan
 

Xlr8torman

Junior Member
I want to let you know that your post saved my kk2 board... had same problem right out of box. I didn't have the 10 pin usbasp so I soldered a resister lead to the back of the usbasp board on one of the oscillator pins, touched it to the crystal and BAM! display works!
 

flyguy

Junior Member
I want to let you know that your post saved my kk2 board... had same problem right out of box. I didn't have the 10 pin usbasp so I soldered a resister lead to the back of the usbasp board on one of the oscillator pins, touched it to the crystal and BAM! display works!

can you show where you connected the lead to on the usbasp and where you touched on the kk board?
 
hello please help me my kk board screen has gone blank after i tried to reflash it to 1.5s firmware. i used the fuse restore option and now it is not working.hear by the way my kk board was in blue colour . hear is the things that i used to flash my board.....kk board (http://www.aliexpress.com/item/KK2-...-Quadcopter-KK2-6050MPU-644PA/1655442864.html) the usbasp tool (http://www.aliexpress.com/item/FREE...8-ATMEGA128-Support-Win7-64K/32224578409.html) the 10 pin to 6 pin interface (http://www.aliexpress.com/item/AVRI...-to-6PIN-interface-conversion/1911217166.html).
i had flashed my esc's successfully through the usbasp tool. please anyone help me.
 

Paul-H

Senior Member
Hi all

With the multicopter flash tool there are two Hobbyking KK2 boards listed one with a fuse restore option

What's the difference and which one should be used.

Looks like this is quite a common problem after all.

Got this thread bookmarked as I suspect I shall be running into trouble with the next two boards being delivered tomorrow and the warranty replacement if the accept my claim and replace it.

Paul