MediaTek 3329 weird baud rate



I just bought a GPS module and it was working correctly at 38400 bps. After some power cycles I wasn't able to get more NMEA sentences from and instead I was getting some garbage. 

I hooked a scope and realize the bit time which corresponds to 24400 bps. I switched baurate on mu PC to 24400 bps and I can get NMEA sentences however I can't change baudrate any longer. Even powering it off keeps the 24400 baud rate.


Tried to flash the firmware but flash tool does not recognize the module (I assume because of the wrong speed)


Any ideas?




I found another user with the same problem:;topicseen#new 

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

Join diydrones

Email me when people reply –


  • Hi,

       I am a professional engineer and I've just designed a PCB with an MT3329 on it.  I have the same problem as you guys and I've been working on the issue today and thought I'd share my findings with you.


    What appears to be happening is the LED output is an input on power on.  If you pull it low, the MT3329 works normally.  If you pull it high then it goes into a strange mode where the data comes out at 24k baud and the LED flashes slower than normal.  I suspect this is designed behaviour and it is some special customer or test mode.


    In the MT3329 datasheet it shows an example circuit with the LED connected to GND through a resistor.  If you do this the module works properly because the LED pulls down the LED pin.  However, in this configuration, the LED is off when the GPS has a fix.  If you want the LED to be on for a fix, then you have to connect the LED to Vcc through a resistor.  This is what I have done on my board and is also what is done on the DIY drones 'adaptor board' product.


    But the problem is the LED pulls up the LED pin when the module is powered on.  How much depends on the forward drop of the LED.  On my board, I am using a green LED and the forward drop is much less than the blue LED on the adaptor board.  Therefore I have the problem and the adaptor board doesn't.  However I have measured the voltage on the MT3329 LED pin on the adaptor board and it is about 1V on power up which is a bit close for comfort.  Certainly not low enough to be a comfortable, guaranteed low.  It would also change with temperature, supply voltage and from board to board.


    A number of threads talk about a power supply issue and putting 3.5V on Vcc.  I suspect that increasing the supply voltage on the MT3329 improves the margin on the LED input (though I have not tested it) and prevents the module switching to the alternate mode.


    The way that I have fixed it is to put a 1N4148 diode in series with my greed LED therefore increasing the forward drop.  Depending on your supply voltage and LED type/colour you may need 2 diodes in series and you may want to decrease the resistor value to maintain the same LED brightness.  Alternatively you could buffer the output in some way.


    I hope that my solution is helpful to someone out there.


    Best Regards,




  • When it is giving you data @ 24400, do you have a solid blue light (lock)? If you have a slow blinking (1/2 Hz -- 1 second on, 1 second off) you may be having, "the low voltage problem." 



  • 3D Robotics
    Where did you get the module? The DIYDrones ones are shipped with binary, not NMEA.
This reply was deleted.


Hiroki Tanaka liked Hiroki Tanaka's profile
Oct 13
Derrick Davies liked lisa TDrones's profile
Sep 23
xemone liked Max Gilson's profile
Aug 31