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: http://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%3AUploadedFile%3A1057797

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)

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

- http://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)

- http://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: http://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)






You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • do i use 3.3v or 5v logic levels if i'm updating via an ftdi adaptor?

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

  • 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 ?


  • Thanks to all who have put in the effort to figure out this GPS and how to flash it.

    I was having the worst time getting the GPS to flash.  Have an APM 2 with on board MTK.

    Tried the crashpilot programs first, no luck there.  Could get MiniGPS to connect, but GPS wouldn't flash, just getting the BROM Fail error.

    So I soldered on a 4 pin header to the UART1 behind the small external gps connector.  Attached an FTDI cable there, RX to TX and TX to RX and ground, then powered via USB.  Uploaded eeprom clear program.  Could again get MiniGPS connection this method, but couldn't get firmware upload.  This time however, upon fail, either the GPS blue light (GPSfix) would either fix on solid, or turn off completely.  MiniGPS would no longer connect at this point.  A power cycle would fix everything. 

    Finally got frustrated.  Once the first flash attempt would fail, blue light on solid, tried a few more times without powering off, and finally it made the connection.  In this I also disconnected and reconnected the RX/TX while hitting download, right after, etc  Somewhere in all this it worked.  I guess the magic is to try lots of times and finally (hopefully) your GPS will take the new firmware. 

    Looking forward to giving it a spin. 

  • Moderator

    FWIW, I managed to unbrick my one standalone Mediatek GPS that has been "bricked" for over a year after accidently flashing the wrong firmware. Basically, in the PowerFlash program I hit the download button first and only AFTER that plugged in the GPS, why it worked I have no idea but there you go.

    The other two I have work fine, (get 3D lock, output GPS data) but WILL NOT flash, and I have tried EVERYTHING!!

  • Developer

    I'm planning to put a link to this blog post in the 2.9 release discussion that'll go out tomorrow.  So I expect a good number of people will come here looking for how to upgrade their mediatek!

  • Finally got around to trying to update my MTK 3329. I have the JDrones one separate from the APM 2 board. I can connect with an FTDI programmer and adapter and can talk to the chip with MiniGPS. The version it reports is AXN_1.51 2741.


    If I try to program it with Flashtool v1.0.0 from the zip that was posted, it gets to about 36% and fails with a message:"Fail!!(Download) BROM_DOWNLOAD_DA_FAIL.

    Any suggestions? Is there a different flash tool to try?

  • Hello,

    I need a little help, I tried to flash my MTK GPS of my APM 2.0, with no success.

    I tried to flash my GPS using :

    - my APM 2.0 and UpdateGPSBlinky.hex (updloaded with MP or compiled / uploaded with Arduino), no success.

    - FTDI connected to UART1, no success.

    - Above methods with jumper between +5V and RST pin, no success

    - I tried to change some timeout in Powerflash.ini, no success

    Failure come with the following message in FlashTool V1.0 :

    [Flash Download]
         Fail!!(Download)   BROM_CMD_START_FAIL
         Take(3) secs to test.

    Each time (with both methods) I managed to get a connection using MiniGPS_1.4.exe, and I saw NMEA log in Setup tab of Mini GPS, but strange thing I never manage to get the GPS Version number in About tab after pressing Query button.

    Any ideas ?


  • Hi Robert,
    I haven't tried yet, but either way thank you very much for the great contribution and the extended and detailed handbook.
    Guten Rutsch!
    Happy new year!

  • Feeling dumb, but I have been away a while (no flying, rain, rain, rain) so going to ask some basics:
    I have 3 APM 2.0 units, all with on board GPS disabled. On one I have the 3DR UBlox, on one I have the JDrones external MediaTek GPS, and the third has the new version of the 3DR Mediatek. What version of the firmware is the best bet for the two Mediateks?
This reply was deleted.


DIY Robocars via Twitter
RT @chr1sa: Donkeycar 4.4 released with tons of new features, including path learning (useful with GPS outdoors), better Web and Lidar supp…
Nov 27, 2022
DIY Robocars via Twitter
RT @NXP: We are already biting our nails in anticipation of the #NXPCupEMEA challenge! 😉 Did you know there are great cash prizes to be won…
Nov 24, 2022
DIY Robocars via Twitter
RT @gclue_akira: レースまであと3日。今回のコースは激ムズかも。あと一歩 #jetracer https://t.co/GKcEjImQ3t
Nov 24, 2022
DIY Robocars via Twitter
UC Berkeley's DIY robocar program https://roar.berkeley.edu/
Nov 24, 2022
DIY Robocars via Twitter
RT @chr1sa: The next @DIYRobocars autonomous car race at @circuitlaunch will be on Sat, Dec 10. Thrills, spills and a Brazilian BBQ. Fun…
Nov 24, 2022
DIY Robocars via Twitter
RT @arthiak_tc: Donkey car platform ... Still training uses behavioral cloning #TCXpo #diyrobocar @OttawaAVGroup https://t.co/PHBYwlFlnE
Nov 20, 2022
DIY Robocars via Twitter
RT @emurmur77: Points for style. @donkeycar racing in @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video. https://t.co/Y2hMyj1…
Nov 20, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Going to @diyrobocars race at @UCSDJacobs https://t.co/Rrf9vDJ8TJ
Nov 8, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Race @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video. https://t.co/kK686Hb9Ej
Nov 8, 2022
DIY Robocars via Twitter
RT @PiWarsRobotics: Presenting: the Hacky Racers Robotic Racing Series in collaboration with #PiWars. Find out more and register your inter…
Oct 23, 2022
DIY Robocars via Twitter
RT @Hacky_Racers: There will be three classes at this event: A4, A2, and Hacky Racer! A4 and A2 are based around UK paper sizing and existi…
Oct 23, 2022
DIY Robocars via Twitter
Oct 23, 2022
DIY Robocars via Twitter
Oct 19, 2022
DIY Robocars via Twitter
Oct 18, 2022
DIY Robocars via Twitter
RT @NeaveEng: Calling all UK based folks interested in @diyrobocars, @f1tenth, @donkey_car, and similar robot racing competitions! @hacky_r…
Oct 13, 2022
DIY Robocars via Twitter
RT @araffin2: 🏎️ After hours of video editing, I'm happy to share a best of my Twitch videos on learning to race with RL. 🏎️ Each part is…
Oct 13, 2022