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 –


  • I need help. I can get as far as the power flash then I get "no com port detected". I did EEPROM clear and power cycle tryed the jumper nothing works
  • Just letting you know that I followed your instructions exactly (I have zero Arduino experience) and everything worked. Thanks!

    Two anomalies, one you covered. I did require the "reset jumper" for my APM 2.5. The strange one was when I went back and reloaded MP. It would not connect using the Connect button. I eventually clicked on the Quad 2.9 FW icon anyway and it loaded, even with the MP (v1.2.32) button still offering me to connect. This must be a slight MP issue as it clearly had connected with the proper bit rate etc. So if this happens to someone else, just try loading the FW anyways.

  • Kraut,

    I am having an issue trying to download.

    After making the jumper it wont complete. Sometimes its 30% sometimes 40% 


  • Hi...I've run into an interesting problem...this might not be the correct thread for this but it's a starting point.

    I have an APM 2.0 with attached MTK GPS unit.  I just successfully updated the firmware with guidance from this thread (BTW much thanks to Crashpilot) and everything seemed to work just fine.  However, immediately afterwards I lost the ability to upload APM code through the Arduino IDE...sort of.  If I upload through Arduino (not even custom, just stock firmware downloaded from the ardupilot repository), it will successfully compile and upload, and mission planner will even let me connect...but no telemetry is throughput whatsoever.  No motion on the HUD, all zeros in the status window.

    Here's what I've tried:

    Any firmware uploaded through the firmware tab in MP (Plane 2.68 or Copter 2.8.1) - seems to work fine

    Latest firmware through arduino (plane 2.68, copter 2.8.1, or copter 2.9) - compiles, uploads, connects in MP, but no data seems to pass through.  CLI will connect, but not all of the test functions seem to work.

    Latest firmware compiled in arduino, but uploaded through MP by selecting hex file - same as going completely through arduino...connects but no telemetry.

    Any outdated firmware uploaded through arduino (plane or copter) - uploads fine, but MP won't even let me connect.

    Any thoughts, suggestions, pointers in the right direction?  I'm using the latest MP version.  I've had this APM for quite some time now...never seen anything like this before the GPS update.  I guess it's not a huge deal if all I want to do is use current release firmware available through MP, but that's not always the case for me.  Thanks.


  • Thanks a lot for preparing your nice instruction package, and for doing all the work to figure it out for us.

    Now I haven't actually used your instructions yet, will try after I update my APM FW to 2.9, but I have a basic question: is 1.9 FW required to be used with APM 2.9 ? IOW is it optional (and preferred), but will APM 2.9 still work with GPS FW 1.6 ? Thanks. I like to do things one step at a time to make sure each step works or that I know where the problem is...

  • Ok now i'm little confused. Can someone clarify few things? :

    • This update is also for APM 1 [2560] with MTK3329 V1.2 and 2.9+ arducopter firmware?
    • If above is yes for APM1 , only way to update is using ftdi cable?
    • What is this update actually do? Force SBAS [Egnos support?] on? What else?

    As i'm living in north Europe(64° Latitude = Finland) i don't have very good chance to catch any support for WAAS or even Egnos. From different sources i found there's possibility to have 3 EGNOS satellite in view, but it's difficult because of those are so low angle in horizon:

    EGNOS - PRN 120 - Inmarsat 3F2 (AOR-E 15.5°W) Garmin 33
    EGNOS - PRN 124 - Artemis (21.5°E) Garmin 37
    EGNOS - PRN 126 - Inmarsat 3F5 (25.0°E) Garmin 39

    Some sources in Finland are saying that it's actually better to turn off WAAS and SBAS support here if possible? I'm not sure what to do now...



  • Like many, I was excited by the release of the 2.9 version software.  So, I started down the path of doing the upgrade.  I've hit a full stop on this aspect of things.

    I'm trying to update the firmware on the MediaTek 3329 GPS on my APM 2.0 hardware.  It appears that MP loads the pass through firmware just fine.  MTK_MiniGPS sees the GPS, shows satelites, will show firmware revisions and allow changes to the settings.

    I follow the directions to run the flash tool, and it doesn't matter what I do, I get "BROM_CMD_START_FAIL".

    I've changed com ports, I've tried both versions of pass through, I've run the program as admin, I've moved the directories and changed them from read only status.  I've cleared the EEPROM prior to the flash for the pass through, I've even held the device in reset as advised in the manual.  I've tried on another computer.  I have been completely unsuccessful at getting the firmware to flash.

    Voltage to the GPS module is 3.313V and the module is on the daughter board soldered to the APM board.

    Any ideas?

  • THANK YOU VERY MUCH...softwere update (no FDTI) works like a charm,no problem..this is how all manuals about arducopter should look alike,step by step indeed...KRAUT ROB FOR ARDUCOPTER WIKI PRESIDENT!!

  • 3692596592?profile=originalgreen donut.. thanks Kraut Rob...

    but i try conect back to MP to download 2.9 timeout. cannot conect mavlink. my port was ok.

  • ok so i've tried with both an ftdi cable connected to the gps uart and using the arduino sketches on the apm (and connecting the reset pin to +5v) but i'm unable to update the firmware. In both instances I can connect to the gps and see nmea info but the firmware flash tool just gives me that error.

    Any ideas?

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