Skip to main content
Arduino

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

Connect Arduino Uno RX/TX to 3.3v NEO-M8N gps module

I'd like to connect an M8N gps module to an Arduino Uno. From what I understand

  • the Arduino pins 0-RX/1-TX work on 5V
  • the M8N RX/TX work on 3.3v
  • the sensor-TX sending to the Arduino-RX should work (3.3v is "good enough" to drive the Arduino-RX-pin)
  • the Arduino-TX sending to the sensor-RX is problematic because of the 5v (could break the sensor)
  • During USB-programming, the Arduino-RX sensor can be at 5v (so suddenly the current flows in the "wrong direction"- which could break the sensor)
  • A level-converter could be used to "translate" the voltages in each direction.

Assuming we don’t use a level-convertor

  • Could we use a schottky-diode (which as I understand blocks current in 1 direction) to block the 5V from the ArduinoRX going into the sensor?
  • But then the 3.3V from the sensor-TX would pass (correct direction ), but the diode will drop the voltage "a bit more"... is this still enough to drive the arduino RX-pin?

  • And it works, why not also use a schottky-diode to also protect the Arduino-TX to sensor-RX connection ( just to be safe, since some people were saying one some Arduino they needed to connect RX-RX and TX-TX to get the communication to work.. ? ).

As an alternative to the schottky ( or maybe in addition to it) - Could we simply take 2 voltage dividers (for one for both RX-TX and TX-RX) ?

We can use a "resistive voltage divider" to lower the Arduino-TX 5v to 3.3 V - I understand to get from 5V to 3.3V we need "x" and "2 * x" resistors-values, so e.g 1K Ohm and 2K Ohm... but how do I know which values would be appropriate ( I mean, we could also take 10K Ohm and 20K Ohm, would also lead to 5V to 3.3v) but at a different current (Amps)... ?

Please be patient, electronics-beginner here trying to make sense of this...

Answer*

Draft saved
Draft discarded
Cancel
2
  • How can it be that RX is driven ... ? It's an 'R' port and as I suggest it stands for Receive. So wouldn't it be that the TX 3v3 port is driving the RX 5V so the RX 5V needs a pull-up? The whole thing does not make any sense this way (for me). Commented Nov 18, 2022 at 11:40
  • UART Rx ports idle high. This means there is a high probability the Rx pin will contain pullup to 5V. So not actively driven but a passive low strength pull to an excessive voltage. The protection diodes internal to the 3.3V part could probably cope with that, especially if there is a series resistor, but this reduces the strain on the 3.3v part. Commented Mar 22, 2023 at 14:19

AltStyle によって変換されたページ (->オリジナル) /