Hi !!

I am currently messing around with MTK GPS stuff and the binary protocol.

Assuming my APM2.0 GPS has the 1.6 loaded, i want to upgrade the GPS FW. Since the gps is directly mounted to the mainboard i don't know how to do it.

The APM wiki http://code.google.com/p/ardupilot/wiki/MediaTek gives no hints.

Please help!

So long

Kraut Rob


UPDATE 12/28/2012

I included a zip file with all the needed files and a complete guide below.

It contains basically the same files than the previous version but an extended guide and the source code.

UPDATE 12/28/2012

Added German guide.

UPDATE 19/01/2013

FTDI Hardwareflash on APM 2.0 (Set your FTDI to 5V, if you have one of these Breakoutboards)

1. Download the zip below to have all the files needed - and a flashguide.

2. Load MP and save all your parameters to a file (if desired).

3. Do Arduino / eeprom clear on your main CPU so that no serial traffic can disturb the process. Do not omit this step. It won't work with the arduino still talking on the serial line - i tested it. P.s. You can also use the precompiled hex from my post here: https://diydrones.ning.com/xn/detail/705844:Comment:1094234

4. Unpower APM for soldering. If FTDI connection is already established, powercycle to reset GPS to its' default state.

5. Locate the external GPS port (UART1). If you have not the right plug (like me) you have some solder pads right behind it. You will need GND/RX/TX. Look at this picture for the right connection: http://diydrones.com/forum/attachment/download?id=705844%3AUploaded...

Note: I labeled RX and TX relative to the GPS not the CPU (like printed on the PCB). I showed 3 points where you can get access to the important datalines, besides the obvious connectionport (that would be number 4:)).

6. Power APM Board, fire up the flashing soft and follow the documentation -> Point 8 in MTKFlashGuide2.pdf or point 7 in MTKFlashGuide2German.pdf. Reading the complete pdf is also ok.

7. Reload Arducopter FW on mainboard and reload your saved settings (if desired). Perhaps recheck calibrations (ACC etc.)

8. Done.

UPDATE 21/01/2013 - 02/03/2013

Here is a Must Try List - if you have a persisting flash problem (Thanks Anton for the idea)

- https://diydrones.ning.com/xn/detail/705844:Comment:1094071  (Thanks Anton)

- https://diydrones.ning.com/xn/detail/705844:Comment:1094290  (Thanks William Stoner)

- http://diydrones.com/xn/detail/705844:Comment:1097033       (Thanks Isaac)

- http://www.diydrones.com/xn/detail/705844:Comment:1097725 (Thanks Chris Webb // Mac running VMWare WinXP)

- https://diydrones.ning.com/xn/detail/705844:Comment:1140259 (Thanks "exaustgas" // Win serial port)

- http://diydrones.com/xn/detail/705844:Comment:1146635 (Thanks Cody // serial port in flashutil config)

- Try to rule out a driver/win firewall/administrator/viruskiller thing

UPDATE 02/03/2013

Due to the outstanding work of Perecastor here: https://diydrones.ning.com/xn/detail/705844:Comment:1149155

We have a French guide now as well !!

I took the liberty to put it here as well.

UPDATE 21/05/2013

Hardware - "Hack":

Use your PC - RC Transmitter Adaptercable as FTDI:

http://diydrones.com/xn/detail/705844:Comment:1252901 (Thanks Jan Boermans)



Views: 35656


Reply to This

Replies to This Discussion

You did it !!!!!!!!!


Is the 1.9 FW !!


Perhaps a developer can comment on this, but i don't see how your apm 2.0 can be harmed by the update process in any way. It is also very strange that you can connect to your CLI. When you have Arduino IDE running anyway, did you try the Arduino eeprom_clear and upload 2.9 with arduino directly?

I keep my fingers crossed for you!

Kraut Rob

Wow cool :)

I cant update my firmware either without it stopping random spots,  I read that UpdateGPS is a pass thru?

Upgrading the firmware gives a serial error now, it seems as if it started once I put UpdateGPS on do you think there could be a relation?

Thanks again,


Just in any case, did you reset your computer and powercycle your apm?

not sure how to do a eeprom_clear?

I tried typing it in the term window but got 

Invalid Command, Type 'help' etc

in the CLI, type setup, then erase.

yeah, I fumbled thru it, same thing, stops mid way trying to load 2.9 :(

@Edgar: How could you get to the CLI when you couldn't load the apm main software?

With eeprom clear i meant arduino IDE 1.0.2 examples/eeprom/eeprom_clear .

I attached the hexfile that will wipe your apm.


Kraut Rob



Sorry for the misunderstanding.  It was loaded, but I was trying to load "again"

Anyhow I think we got it, I was able to "load on top of current" with my Windows 8 machine, I took it out to the field and it flew GEAT.  I am sure its a lot better than before and its pretty windy here today.

The only thing the landing was pretty fast decent, I looked in the Standard Parm but not sure what to adjust to make it land "slower".  Ill start another thread on that since its not related.

Thanks agin for everything I feel better about this GPS now.

Found the LAND_SPEED parm :)

set it to 20 it Ill try later.

I think I have all the latest now.

Thanks, again, Ed

I did try clearing eeprom and doing the uploads directly through arduino...so I'm stumped.  For the record, I don't get the feeling that the pass-through program "harmed" anything as you put it...I really think I'm just doing something dumb with a setting somewhere that I'm overlooking!

Perhaps you have a cable still attached or forgot to set/remove a jumper??


Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service