I can't seem to understand why there is a diode at the Rx pin on this Adafruit Ultimate GPS board. If we are sending data to the GPS, why put a diode that prevents current flow into this pin?

Adafruit Ultimate GPS Schematic

  • 7
    \$\begingroup\$ Are you referring to D1? Did you read the note in the schematic telling you what it's for? \$\endgroup\$ – brhans Jan 13 at 0:43

The pull-up resistor to 3.3V and the diode means that even if you feed the circuit with 5V logic (most Arduino boards use 5V logic) the GPS chipset will see a maximum of 3.3v. The MT3339 device may be damaged or operate incorrectly if any of its pins go above its 3.3V supply rail.

If the signal RX_5V goes to a logic low the diode will conduct and pull the MT3339 RX pin to ~0.7V that it will treat as a logic low.

If RX_5V goes to 5V resistor R3 will pull the MT3339 RX up to 3.3V and the diode will be reverse biased.

  • 1
    \$\begingroup\$ and that sir is the answer!!! \$\endgroup\$ – Edwin Fairchild Jan 13 at 5:43

The purpose of the diode is documented in a line of text near it on the schematic. The diode and resistor protect the RX input.

  • \$\begingroup\$ I should have elaborated. Yes, I see the note on the schematic and see that if a voltage higher than 3.3V is at RX_5V then current will be blocked by D1. But I do not understand how this allows any data to be transferred to the Rx pin if D1 is blocking all current flow from RX_5V. Could it be that if RX_5V is grounded/low/off, then RX will read 0 and if RX_5V is high (~3.3V or greater), RX will read 1 while being protected from any signal >3.3V? EDIT: Just saw @Kevin White's follow-up. Thanks! \$\endgroup\$ – YNGVV Jan 13 at 1:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.