Trying to understand logic levels and TTL-UART

TLDR: trying to figure out if this gps needs a logic shifter for the RX/TX voltage.

I picked this little gps module up at spark fun.
Data sheet here ->

I’m trying to understand if its safe to use with 3.3v or if it should be running at 5v for the RX/TX
I understand that the logic level on the Photon is 3.3v and while some pins are 5v tolerant I would like to do my best to make every thing is running at 3.3v if possible.

So back to my gps module I see it has a 3 - 5v power supply vcc but it does not state what its logic level is for the RX/TX. Is that because UART runs at a standard voltage and I should assume what that is or is there some other way I should be looking at what the logic voltage is?

Taking a really quick look at the data sheet and SparkFun info … it appears there are two flavors, but SF is only sourcing the 3.3-5.5v version. This would suggest the module should run fine if you power it off 3.3v, and the I/O levels would therefore be 3.3v compliant (i.e. fine to use with the Photon w/o any level shifting).

1 Like

You saying that since its vcc could be less than 5v that is less likely that its logic would be greater than 5v?

I guess that makes sense.

Sorry this was such a noob question.
Thanks for looking into it.

No worries @polygon. The GPS data sheet is perhaps a bit confusing, but if you look at the Digital I/O section of the Electrical Data table (section 5), it indicates the following output levels if you’re running the device with a 3.3v Vdd supply voltage …

Voh > 2.9v (i.e. 3.3 - 0.4v)
Vol < 0.4v

To your last question, the output levels of the GPS device would not exceed its supply voltage in any instance. If it’s running at 3.3v, it’s high output level would be somewhere between 2.9v (see above) and 3.3v.

Basically, the input and output levels from your GPS device UART (if you run it at Vdd = 3.3v) would be fine to interface to a Photon also running at 3.3v.

Make sense? Just let me know if you need any additional clarification. Happy to help.