Unable to communicate with M8N via Tx/Rx pins

I have a Ublox M8N module (prod. ref. 0880B07) and want to connect it to my Wemos D1 mini microcontroller, using the Tx and Rx pins. This is how the module is connected:

Tx -> Rx
Rx - > Tx
5V -> 3V3

The module receives power, as the blue led is on, but I don’t receive any data via the serial interface. Do you have any idea what might be wrong ?


You are connecting the M8N 5V output to a 3V3 microcontroller input, you may have some troubles on the Wemos D1 mini side, which is likely to be supplied using a 3V3 power supply and may not support 5V.

If your microcontroller is still working properly, disconnect the 5V plug, and power-up your M8N board using a USB cable. Then, using the same baudrate on both M8N & microcontroller board, you should be able to gather some serial data if the M8N is correctly configured using u-center.

I think I didn’t supply enough info in my post. My Wemos is powered via the micro USB port. This is how I want to connect the GPS module to my microcontroller:

Why don’t you tie the 5V pin from the Wemos to the 5V pin on the M8N side ?
Whether it is using a USB cable or using an external 5V power supply, M8N XL requires 5V on its 5V pin as it is then internally regulated down to 3V3.

Actually if you’re worried about Rx & Tx being as high as 5V when the M8N is supplied using 5V, don’t.
Rx & Tx are set to 3V3 max and are direct outputs of the u-Blox M8N which is internally supplied using 3V3.

Thanks Paul, I was actually just thinking to try that.
When I bought the module, the specs said it can be powered with either 3.3 or 5V. Here is a topic where this is confirmed : https://forum.drotek.com/t/3-3-v-ublox-neo-m8n-gps-hmc5983-compass-xl/1167.
I will try powering it via the 5V pin and report back.

Very well then it was certainly a mistake.
The new product page is showing 5V power supply and 3V3 logical level voltage.
I am looking forward reading your feedback :slight_smile:



Yesterday I wrote an email to support and received an answer from Jerome, saying "it’s better to supply with 5v but 3,3v works fine as well "
This is not nice. If there was a mistake in the initial specs why not just admit it. Maybe Jerome will chime in and clarify this.
I’ll come back in a few hours with the rest results.


I just had a quick chat with Jérôme who confirmed that the M8N might work with 3V3 as power consumption is very low, but he insisted to say that it is not recommended.
Maybe you could check M8N-UART output using an FTDI transceiver to make sure serial data is present.

Also did you check your configuration in u-center ? Are data set on UART port in software ?

I tried with the 5v pin and it doesn’t work…still no data received. The module is configured properly using U-center. Unfortunately I don’t have a FTDI transceiver.
Not sure what to try next. The biggest issue is that I don’t know where the problem is. Is it the GPS module, is it the microcontroller, is it the code…

After some more playing around I found out that the serial communication works if I’m using software serial on some two pins, other than Tx and Rx. This indicates that the problem is either in the microcontroller or in my code, I believe

[The Tx and Rx pins on my Wemos are mapped to UART0(and therefore, micro USB port). As I’m powering the Wemos through the USB port with a powerbank, maybe something blocks the Tx and Rx pins to connect to other hardware.]

Now finally a question related to the Drotek module: If I power the GPS module via the USB port, can the 5V pin be used as an output ? So that I use it to power the Wemos through the 5V pin ?

Yes,the 5V pin Wemos D1 mini is Power Pin (that connect to 5v power on USB port). So use can use it as 5V output for other device.
Look at this shematic:

I thinl Cpper was talking about the other way around : Power supplying its Wemos board using the NEO M8N XL 5V output.

As you said Cpper, when connecting the GPS device to USB, you might use the 5V output pin to power up the Wemos board. Double check using a voltmeter if not sure.

!!! Keep in mind you will have to connect both 5V pins and not using the GPS 5v output to the 3V3 Wemos input !!!

Unfortunately, I cannot help debugging your code or Wemos schematics. Indeed, maybe you should consider pluging your Wemos in to a proper computer over USB before doing any further tests using a 5V power bank.

Yes, I want to power the Wemos using the 5V pin from the GPS, which is powered via the micro USB. I’ll try this later today.
Paul, not sure what you mean in the last sentence. The Serial communication works ok when the Wemos is connected via the micro USB to a computer. I can upload sketches successfully, and use the Arduino Serial Monitor to talk to the microcontroller.

I tried powering the Wemos with the 5V output from the GPS, but still no luck. The microcontroller works, but no data is received on the serial pins. The problem is most likely with my Wemos.
Regardless, thanks a lot for your help, guys :slight_smile:

1 Like

I got it to work. What I had to do was to replace the (original) Wemos with an older clone I used on a project three years ago. With the old and dusty fake clone it works, but only when it’s powered through the 5V pin, from the GPS. I get the GPS output, but it looks like there is a lot of garbage characters too.

I’ll get another original Wemos(now called Lolin), maybe the one I have is broken.

Thank you Cpper for your feedback.
As debugging tips : Are the baudrates the same on both devices ? Did you try slowing down baudrates to 9600 bauds ? How long are the cables ? Did you try twisting the cables to reduce crosstalk at high speed ?

the rx problems corrospond with my tests. the gps module can not pull down the pullup from rx inputs of microcontrollers.

on software serial it worked. i finnally was luky using a arduino due 3v micro or using 2x transistors as pull down stage…

i experienced the same problems trying to connect 866mHz transmitters for dgps…obly selected units work directly with tiny-gps…

Paul, I got more garbage with baud 9600, then I changed it to 115200 on both GPS and microcontroller, and now I still get garbage, but less of it. The cables are all short, 5-6cm. Due to the short length I can’t twist them.

DrZ, are you referring to the garbage values received from the GPS?

I think you need to check the GND wire between Wemos and GPS.
To make sure they are connected, solder the electrical contacts.

Is there any reason why the previous 10 or so replies were deleted ?