MediaTek GPS - Blue LED Lock, No-Lock IMU RED (C) LED



This issue seems to be prevalent across the forum so I ponder if a FAQ or some steps to sort through this issue. I bought a new MediaTek GPS from the DIYDRONES store. My thought was this thing should be ready to go and plug in. Anything that ships would have whatever latest firmware needed especially for a part such as this.


Anyway, whether this is firmware related or not I do not know as I have not fully exhausted all analysis. I wanted to post a fresh thread that made it clear what the symptoms were so that others could lend advice, solution, or plausible explanation for others who are having this issue as well.


The issue is as follows:


I have the AdruPilot Mega board and the ArduPioletMega IMU Rev-H. The boards are mated as per all instructions and the MTEK GPS connected. I power up via USB, load the software and check things out in CLI mode. Likewise, have tested the other sensors with the Calibration tool.


What I noticed is that the GPS blue LED locks. However, the RED LED (C) never flickers, never locks. I also noticed that GPS data when I run some other coded test I snubbed in report all zeros (0).


Can someone tell me what is the logical next step to get this issue resolved or do I just send the GPS back and request a new one. I assume it is working and that the issue is in the communications between the GPS and ArduPilot Mega board.


Is there new firmware that for some reason is not on the GPS boards being shipped from DIYDRONES?


Thanks in advance for any input and steps to resolve. I am certain others can benefit from a definitive solution as well.



Views: 1027

Reply to This

Replies to This Discussion


     that shouldn't have any effect, they're completely unrelated.

     good luck anyway

So its possible to engage gps hold on the ground, but should you? I mean, can you activate gps hold and then use the throttle to increase hight successfully in gpshold mode?

No, you should never make takeoff or start flying while GPS hold is active. This would most probably end on crash.


Always activate GPS hold on safe altitude and while already up in the sky.

OR, while NOT ARMED.


That's all I was trying to say -- flick the GPS-Hold switch back and forth while disarmed and on the ground.  Wait for the RED LED to light, showing that the GPS has lock, and the APM has sync'd to the GPS.


Every now and then, the MTK will get a lock (solid blue), but the APM will never ever get a lock (red LED stays off).  Then I have to disconnect power and start over.


THIS is why it's important to do GPS Hold on the ground before takeoff (motors off, disarmed)


Ground Loop: no need to cycle power. Just hitting the reset button will do it.


I'm running ArduPiratesNG.  Originally, my MTK GPS was version 1.4, and it worked OK.  Then I made the mistake (?) of updating the f/w to 1.6.  Now the APM does not indicate a lock when selecting position hold.  The red LED on the APM blinks even though the GPS itself indicates a lock (blue LED on).

Any advice?  Are there any debug prints in the code that I could turn on?


Did you change the #DEFINE in your AP firmware to indicate it should speak 1.6?

Which one is that?

There is a

#define IsNEWMTEK   // Do we have MTEK with new firmware

which is about the worst feature name ever, since there's always a new firmware and this doesn't specify which.



Of course.
The definition is in the file config.h:
AP_GPS_MTK16 gps(&Serial1);
I used the debug_subsystem() code (in debug.pde, ArduPiratesNG) to dump the GPS serial input. He're what I got:

GPS Serial 1 dump before lock


GPS Serial 1 dump after lock


So it seems the GPS does output some data. Does it look right? Where can I find the protocol definition?


That is not V1.6 binary, that is V1.4 binary.


Thanks! That explains it - now the question is why the firmware update to 1.6 failed.


Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service