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: 35657


Reply to This

Replies to This Discussion

Uhh. Maybe i am a lucky person but i never had serious trouble with serial ports since the Commodore Amiga1000 (R.I.P) days.

Perhaps your ftdi adapter has a bad solder point somewhere or a half broken cable? Nothing is harder to troubleshoot than half working stuff. I am still using an ordinary ftdi adapter (a little breakoutboard) at 5V, knowing that 5V is the absolute limit for MTK gps. If you have a chance to try out some other ftdi - perhaps that would help?

The next thing might be win7? If i want to take the OS out of the equation i use my old winxp laptop :)

At some point (after 1.4?) the MTK firmwares were branded to/by Globaltop. So if you flash a MTK GPS with a different vendor ID it will come up with an error. I read reports (mwii forum) of the current 1.9 FW here not running on some hobbyking mtk3329 derivates. Maybe you altered with your different firmwarefights the vendor ID on one of your mtk's so 1.9 refuses to flash/work?

I really don't know what you are going through, but it's giving you a hard time that's for sure. Have you send your gps to 3drobotics so they could take a gance on them?


Kraut Rob


Maybe some Administrator stuff held you back? I turned all the win7 paranoia/safety stuff off. Maybe it's a bad idea but i don't care....


Kraut Rob

Hi Rob,

I tried both of the contained firmwares (AXN1.30 and AXN1.51) but the Baudrate is always 38400,

verified with MiniGPS_1.4, which displays the right Version numbers.

What needs to be done to get 115200Baud and 5Hz as default ?


You will have to rewrite the arducopter AP_GPS_MTK19.cpp (driver). It sets MTK to 38K and 5Hz Updaterate. That is what it is supposed to do. In binary mode the data are much more compact than in nmea mode. So 38KBaud is sufficient at 5Hz in binary mode. Doubling the Baudrate (i.e 57K) would transmit the 5Hz databurst faster, i wonder if that is beneficial for the gps functions or if it gets the arduino in trouble while dealing with other stuff?


Kraut Rob

I was just wondering why the firmware file has the string "115200" in it, when it is 38K ?



Tried 3.3V FTDI breakout board and Win XP, tried MiniGPS v1.32 and v1.4, Flashtool versions 0.0.0, 1.0.0, v1.2.2 and "MTKv6.1.8"!

Only trying to flash v1.6 at this point as ACv2.9 is not officially out yet. Chris did offer to take one back but as they are still functioning I'm not too worried at the moment. Thanks for your concern. I'll try the v1.9 on my APM2 when I'm able to get it fixed and ACv2.9 is out. Drone Savant very kindly donated a donor board to help to fix my APM2.

Yes, the nomenclature appears to be inconsistent.

Having now upgraded my GPS 3329, great write up Kraut Rob, thanks for the information which made for an easy upgrade.

No such luck for me :-(

I have an APM 2,5 with MTK 3329 external GPS module.

Flashed the APM UpdateGPS (also tried UpdateGPSBlinky).

The Mini GPS tool works fine and connects. I can also query the version number and that works fine too.

PowerFlash is giving the BROM_CMD_START_FAIL error every time I try to send the new firmware to the GPS. I have checked the baudrate and com port and they are all the same setting I used with the Mini GPS tool - COM9 and 38400 in my case.

I tried the 5v to reset bridge and that made no difference either.

Any ideas?


Thanks for your positive feedback :) :)!


Kraut Rob

I only have apm 2.0 hardware at hand so it is hard to comment on that. You probably have no ftdi adapter to do a direct flash (otherwise you would have already tried that). If you have a mtk with backup battery, can you try it again without the battery and report back?


Kraut Rob

Thanks for the hint. I know this is difficult to solve for someone that has not come across this scenario so I appreciate your help.

Actually, I do have an FTDI adaptor I could use. I'll need to look into that. The MTK 3329 is the old(er) version without battery backup.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service