MTK ($PMTK) GPS command summary

I’ve been collecting a summary of the proprietary extension commands for NMEA GPS modules based on the MediaTek (MTK) chipsets.

Here (click to download Excel file) is the summary of all the $PMTK commands I’ve found so far. The source documents (which you’ll need for details of the parameters) are on the Web – ask Google for them.

Not every command will work on every module. You can find out if yours supports a given command by sending it and watching for the response. $PMTK001,code,3 means it worked.

Many of the commands have three variants – a code that sets a parameter, another you can use to query the current setting, and a 3rd that the GPS uses to reply to the query.

If you know of others not in the list, please contact me (as much detail as possible please) and I’ll add it.

5 thoughts on “MTK ($PMTK) GPS command summary

  1. I’m seeing the following messages from my receiver, no idea what they are:
    $PMTK867,20,1,2,4,5,6,12,14,15,17,18,20,22,24,25,26,28,29,30,31,32*2A
    $PMTK860,0,1,2,5,6,12,14,15,17,18,20,22,24,25,26,28,29,30,31,32,91,92,98,99,100,101,102,109,110,111*0E
    $PMTK863,1796,306673,3,3,9,93*02

    Any suggestions appreciated!

  2. Beats me; Google doesn’t seem know either (other than a couple of Baidu hits without any explanation).

    I hope somebody responds.

  3. I suppose you’re using GNS701 or similar, because I get the same outputs and they are really annoying! Well, this is my guess guys… mixing intuition and reverse-engineering…

    My sample data (poor receiving conditions, outputting GPRMC sentence also)
    $PMTK867,8,1,4,11,19,23,27,28,32*2D
    $PMTK860,0,1,4,11,19,23,113*1F
    $PMTK863,1823,302983,47,2,3,5,6,7,8,9,10,12,13,14,15,16,17,18,20,21,22,24,25,26,29,30,31,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,114*0A

    My sample data (better receiving conditions, outputting GNRMC sentence also due to GPS+GLONASS features)
    $PMTK867,12,1,3,4,9,11,17,19,23,27,28,31,32*18
    $PMTK860,0,1,3,4,9,11,17,19,23,31,32,92,98,107,113*2C
    $PMTK863,1823,303886,8,6,8,10,20,91,99,100,114*25

    The last params (brefore checksum) in the sentences refer to satellite numbers 1-32 (GPS) 91-113 (GLONASS) as it fairly matches with the number of operational satellites for both systems. Just before the list of satellites, in 867 and 863 there is a param which is the satellite count. The previous params, no idea…

    I guess this is related to the EASY feature. From the data sheet:
    “GNS701 includes an internal prediction system, that allows to sample satellite orbit data during operation and use that data to speed up TTFF on later starts.The prediction time frame is up to three days forward.
    Although this prediction feature does not provide the very short TTFF that is achieved using AGPS, it can help to find a fix solution faster and in weak signal condition scenario. Prediction data will be kept in memory as long as VBACKUP is present. This option is activated by default.
    Note:
    The EASY functionality is only supported, if “VBACKUP” pin is conntected and the NMEA update rate is 1Hz. ”

    I guess:
    $PMTK860 and $PMTK863 are GPS+GLONASS sentences regarding… valid predictions? not valid? “seen” satellites? not ever “seen” yet?
    and $PMTK867 is GPS satellites only…

    Also, from the command interface:
    Command: 869 PMTK_CMD_EASY_ENABLE
    Purpose?
    Enable or disable EASY function. Query if EASY is enabled or disabled
    DataField?
    PMTK869,CmdType,Enable
    CmdType:
    ‘0’ = Query
    ‘1’ = Set
    ‘2’ = Result for Query operation
    Enable:
    ‘0’ = disable
    ‘1’ = enable
    Example:
    To query if EASY is enabled or disabled, use
    $PMTK869,0*29
    If EASY is disabled, the receiver returns
    $PMTK869,2,0*37
    Note:
    1. The EASY function is enabled for default setting.
    2. The “VBACKUP” pin needs to connect to a coin-battery for this feature.
    3. The EASY function only supportedupdate rate 1Hz.

    I’ll try to disable this feature or, at least, try some configs to get rid of this outputs.

    Hope this helps…

  4. Thanks, and sorry for taking so long to approve – I get a lot of spam comments; takes me a while to find the real ones.

Leave a Reply

Your email address will not be published. Required fields are marked *