Is it 5v tolerant?

Does anybody knows if this GPS module(see attached photos) has 5v tolerance in its RX pin? I see many many guides and tutorials all over the Web, where people plug the RX pin directly to a Nano or Uno, and go with it, declaring a software serial but never actually sending data to it, only receiving. However, I came across other sources where people describe that they did send data from the Arduino to the module's RX pin and ended up frying the module or frying its RX pin.

When I want to run the manufacturer software (U-Center), I use the USB-to-TTL converter you can see on the attached images. This is an old one, bought it years ago... I can't find any reference if its RX and TX pins are 3.3v or 5v. The only thing I know is that it connects just fine with the module and software, and I can send and retrieve data from the GPS module without any issues.

Thanks for your attention.




The manual is usually the place to go....

https://www.epitran.it/ebayDrive/datasheet/NEO6MV2.pdf

1 Like

This manual tells us the logic is 3.3V/5V compatible, however, if you pay attention to it, the board is not the same as mine, only the chipset is (if it is at all, coz one can't see it very well due to low resolution). Different boards, not necessarily but usually, different implementations.

Your USB to TTL converter uses a CP2102 which has 3.3 volt I/O. Data sheet here.

Hmmm.... Interesting. I have the resistors to put a voltage divider in place(on the Arduino board). What kind of behavior should I expect if I'm bringing the voltage too low on that pin? (Supposing for instance, that the GPS module manufacturer already put a voltage divider in the module's RX line)

I'd rather do the pair with 750Ω and a 510Ω, witch would give you 3v plus or minus 10%, but I don't have them with me right now.

I only had 1kΩ and 2k2Ω resistors lying around, so I soldered the 2k2Ω between the Arduino TX pin(GPS module's RX pin) and ground, followed by the 1kΩ one going from the Arduino pin in series with the RX pin on the module's board. Doing the base calculations, I see I'll get 3.4375v, plus or minus 10%. Is that a safe margin?

Thanks again.

I believe that the CP2102 is '5v tolerant'

No. You've got it wrong, my friend. I'm asking if the RX pin on the GY-GPS6MV2 board is 5v tolerant. I just used the CP2102 as an example.

From the data sheet here

the inputs are not 5V tolerant.

From the picture of your module Rx is connected directly to pin 21, so there is no level shifter on the board. You need to do the level shift from 5 to 3.3 volts.

I see, I guess. I thought the CP2102 was on the other side or something.

So I have a 2k2Ω resistir between the Arduino TX and ground, followed a 1kΩ from the Arduino pin going into the RX pin on the module's board. Doing the base calculations, I see I'll get 3.4375v, plus or minus 10%. Is that a good safety margin?

Those two are resistors that I have here with me right now. Is it ok or should I wait until tomorrow and buy lets say, a 750Ω and a 510Ω, witch would give you 3v plus or minus 10%??

You don't use a divider, you use a 5k resistor in series. All inputs have diodes to ground and Vcc. If you put 5v into a 3.3v input through a 10k resistor then:

5 - 3.3 = 1.7V
the current will be 1.7/ 10,000 = 170 µA the diodes are usually good for 10 ma or more.

Do you have more then one 1K resistor? If so you can use 2 in series to get 2K. Use that with another 1K for the divider.

5V----1K--+----1K---1K--- gnd
          | 
         3.3v

(I really hate the way they delete white space and screw up diagrams.)

1 Like

I see! it will give you 3.3334v, at 10%.
Safer than 3.4375v, at 10%.
Lucky me I had enough 1kΩ resistors lying around to implement it.

@oldcurmudgeon , thank you!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.