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.
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.
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?
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.
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.