9x flash failed, need help from experts

elbanano

Junior Member
Hello RC friends,
Sorry for my english, I`m from Germany.
The story started last spring when i first saw David`s tricopter. I was amazed and had to build it.
So I bougt thes tuff i need from HK. As a transmitter i chose the Turnigy 9x. It had the V2 firmaware on it.
When I was done with the build I flashed the Speed Controllers with SimonK`s firmaware. No problem there, i teached the controllers with the 9x and they where running. But they didn`t arm when they where connected to the microWii controller. I tried so much, measured all kind of stuff but nothing helped. So I thought there was something wrong with my transmitter. And actually through all the readings about multi copters everybody said: flash your transmitter. So I did. I wired it up, checked connections started up eePe chose the right options and hit the flash button.
At the end I got a massage that said: contet missmatch. AVR dude did not finish correct.
The 9x won`t turn on any more. I can flash it again and it seems that my programmer has a connection to the Transmitter but I always get an error and the Transmitter seems bricked.

I put a picture from eePe after flashing to this post with the error massage.
I hope somebody can help me. I`m so disapointed.

Thank you very much!
content mismatch.jpg
 

RoyBro

Senior Member
Mentor
Check your wiring again. Send pictures.

You might also try flashing with OpenTX using companion 9x.
 

elbanano

Junior Member
Thank`s for the fast reply!
I tried flashing er9x with companion 9x but with the same result.
I`ll check my wiring and make some pictures when i got back from work.
 

elbanano

Junior Member
I checked my wiring twice and a friend of mine checked it also. It is ok. I missed taking some pictures. I will try to make them today.

What are MCU settings? And how can i verify them?
Thank`s a lot!

EDIT: Ok my MCU is the M64, but i still did not figured out wat settings to verify
 
Last edited:

elbanano

Junior Member
I still didn`t found any option that bring back the life für the 9x.
I checkd the wiring but it seems all ok.
I made some pictures. Maybe someone has an advice for me.
Thank`s folks!



IMG_20131029_215235932.jpg IMG_20131029_215255822.jpg
 

tramsgar

Senior Member
I checked my wiring twice and a friend of mine checked it also. It is ok. I missed taking some pictures. I will try to make them today.

What are MCU settings? And how can i verify them?
Thank`s a lot!

EDIT: Ok my MCU is the M64, but i still did not figured out wat settings to verify

Yes 9X has the M64 and you need to verify in the programmer settings in the eePe settings (click the rightmost gear in the toolbar, check "advanced"). Also, your binary must be built for your radio, verify that too...
 

elbanano

Junior Member
Thank`s a lot!
I`ll check that and will report.

Hi tramsgar,
I took the binary from here:
https://code.google.com/p/er9x/
and i took the standard firmware with no extensions.

but i can`t find the advanced settings you mensioned.
Thats all I have:

eepe.jpg

Hi robschonk,
The links you send seem to me they are only for the taranis Transmitter.
Or do I need Zadig for the 9x too?
 
Last edited:

robschonk

Senior Member
OpenTX and CompanionTx are the same program, you just select different firmware on the preferences page to download to the radio, so the drivers should be the same. I had an error similar to yours, and installing the new driver fixed it.
 

elbanano

Junior Member
I tried that and Installed the new driver. Before my Programmer was listed as ATMEL AVR ISP. And in companion9x or eePe i chose the STK500v2 Programmer.
After i installed the new driver with Zadig the Programmer was found as AVR-ISP and in companion i had to choose avrisp as programming device.
But now i get a connection timeout when companion will start writing but he finds a device.
I also checked my fuses, they are ok.
But I still don`know whats wron with my Transmitter.
Anyway thank you and i hope you got some more advice.
 

robschonk

Senior Member
One last thought. I had problems until I clicked the icon that looks like a gear, and manually selected the location of DFR-UTIL.....
 

Markm

Junior Member
The problem isn't your drivers or firmware since you flashed your ESC's successfully your drivers are working fine. Since your radio wont turn on any longer it sounds like you may have a fuse issue which disabled the CLK signal to the atmega64.

Also known as a “Fuse Brick”, This document will help you recover from this condition.

Dealing with a "Fuse Brick" by Telemachus
http://er9x.googlecode.com/svn/trunk/doc/Fuse%20Brick.pdf


I haven't used the Reset Fuse function in Companion9x or EEPE, I use avrdudess, it's a gui front end to the command line tool avrdude. You can read the fuses and set them with a few clicks, this is a personal preference for me because its very easy to use and extremely powerful.

Docs
https://www.adafruit.com/blog/2013/02/19/avrdudess-a-gui-for-avrdude/

Download it Here:
http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/

There are many ways to produce the 1Mhz clock signal, you can follow the instructions in the Dealing with a "Fuse Brick" by Telemachus, or if you have an Arduino you can use that. I choose to use my Arduino to provide the 1MHz CLK signal from Arduino pin 9 attached to pin 24 of the ATMEGA64, you only need to provide the 1Mhz clock signal long enough to reset the Fuses. Below in the photo you would connect pin 9 from the arduino or your clock source to where "clock" is shown below and then ground to a ground on the TX

clock.jpg



here's the code for the Arduino
found here http://forum.arduino.cc/index.php/topic,103370.0.html

//----------------------------------------------------------------------------------------
//Use Timer/Counter1 to generate a 1MHz square wave on Arduino pin 9.
//J.Christensen 27Apr2012

void setup(void)
{
DDRB = _BV(DDB1); //set OC1A/PB1 as output (Arduino pin D9, DIP pin 15)
TCCR1A = _BV(COM1A0); //toggle OC1A on compare match
OCR1A = 7; //top value for counter
TCCR1B = _BV(WGM12) | _BV(CS10); //CTC mode, prescaler clock/1
}

void loop(void)
{
}
//----------------------------------------------------------------------------------------

Once the fuses have been set you will need to re flash the radio with the er9x.hex like you did

I have done this procedure many times and it works great...
 
Last edited: