Page 1 of 1

Find out why you have a AVRDUDE verification error while flashing them with Arduino on some 9X boards

Posted: Fri Jun 14, 2019 7:10 am
by lothar2048
First, sorry for my poor english, i'm a froggy ! :-)

After a day working on it, i found out why some Turnigy (Maybe other 9X clones) refuses to flash correctly their firmware with AVRDUDE message "Verification Mismatch".

This is only a question of poor ATMEGA64 quality, and flashing speeds that requires a very lower value, less than 19200.

While using an Arduino as AVR ISP, and the Sketch, please modifiy the baudrate to 2400 (it could also work with any USBasp and AVR programers), and add in the companion software the following parameter in the communication screen (more parameters) :

-F - b 2400.

This will force the UART/SPI in his lower mode, and you will have much better success. The complete flashing takes only 5 minutes, including verification. And now you will have a rock solid stable radio gear. Maybe the programers should also take this into account in their code, so the affected radio gears would not brick while changing/storing parameters in the eeprom with a special flag (low UART/SPI) option. Therefore, i didn't noticed so far problems using my radio gears when storing parameters.

This could also solves the bricking issues with higher versions like 2.2, and you will see your chip again using this parameter. I don't know if the programers have implemented the code over 2.1, but they should be aware of my post ;-)

So why your chip could looks like bricked while it is not ?

It looks like flags and chip version can be affected by the fast flashing methods, and also the new ATMEG64U hasn't been implemented, so why you should need the -F parameter too. Same fuses, so don't worry about it, it would work. Sometime, byte corruption is affecting the bootloader making it looping fast. Using this method would force the ARM to slow down to the specified value, and there will be no more communication errors or overdelay from AVRDUDE. If this is the case, you can try to fix it with increasing the delay using -i 50.

I also discovered with bricked 9X motherboards which normaly would need an ATMEGA64 chip replacement, that they can be saved such way also using 3,3V instead of 5v. Some AVR, Arduino clones, and other stuff can provide over than 5,5 volts input, the max value supported by this chip regarding the techsheets, so why the integrated UART/SPI don't like it at all. Use the 3,3 volts port on your arduino to power the ATMEGA64 chip, and you should again be able to communicate with your AMTEL chip again without complex unsoldering/resoldering.

Hope it would help a few, this radio gear is a wolrd selling ! :-)

Re: Find out why you have a AVRDUDE verification error while flashing them with Arduino on some 9X boards

Posted: Sat Jun 15, 2019 11:10 am
by jhsa
Funny, we have seen dozens of bricked 9x radios exactly because people used the -F option.. :o

So, our advice is, do not use it, as it can brick your radio.. :)

João

Re: Find out why you have a AVRDUDE verification error while flashing them with Arduino on some 9X boards

Posted: Sat Jun 15, 2019 11:30 am
by bob195558
If you have a bricked 9x radio, one option is to upgrade to the ATMEGA2561-16AU CPU Chip.
(viewtopic.php?f=95&t=3819&start=120#p74105)