I have looked everywhere for information on how to wire and program this GPS module, all to no avail. Can anyone point me towards some info on this module? My setup is a Uno Rev 3 and the Ublox NEO6MV2 GPS module. I am still new to this world of the Arduino, so a "For Dummies" setup would go a long way!!
Arduino RX -> GPS TX
Connecting the Arduino TX line to the RX line of the GPS module is complicated by the fact that the GPS runs at 3.3V and the Arduino runs at 5V. This voltage divider brings those Arduino signals down to ~3.3V.
*Arduino TX -> 10K resistor -> Arduino GND
*Arduino TX -> 4.7K resistor -> GPS RX
Tutorial for the software side of things: GPS Shield Hookup Guide - SparkFun Learn. Remember that the baud rate of your module is default at 9600 unlike the 115200 in the tutorial.
First runs of GPS modules take a long time. You might need to step outside to get a lock, and might find yourself waiting a few minutes as well.
"Connecting the Arduino TX line to the RX line of the GPS module is complicated by the fact that the GPS runs at 3.3V and the Arduino runs at 5V. This voltage divider brings those Arduino signals down to ~3.3V.
*Arduino TX -> 10K resistor -> Arduino GND
*Arduino TX -> 4.7K resistor -> GPS RX"
Hi, sorry, if I can correct you, you have not correctly indicated the connection.
To have a correct voltage divider, you have to connect:
*Arduino TX -> 4.7K resistor -> GPS RX
*GPS RX -> 10K resistor -> Arduino/GPS GND
Providing the incorrect info and NOT correcting it even after someone noticed you about that you have full moral responsibility for that.
Your description connects GPS RX at 5V level - no matter that it's through resistor. While GPS is CMOS-based it doesn't make a difference.
Please update your description or you risk more and more Arduino hobbyists will hate you.
I'm not sure what @Chagrin and @santosusana are describing, but it's not a voltage divider.
I always recommend real level-shifter modules that use FETs. They're fast, so you can also use them for SPI interfaces, like an SD card, and they're bi-directional (5V to or from 3.3V). And they're cheap.
Here's how to do it with a few resistors and almost any diode:
R3 should be 2.2k to 22k.
R1 and R2 should be chosen so that
R1 + R2 is 5k to 50k
R2 ≈ 2 * R1
For example, R1 = 4.7k and R2 = 10k would work (R1+R2 = 15k, 10k ≈ 2 * 4.7k).
Lots of people claim that you don't really need level-shifting on the TX/RX lines, but it can damage the 3.3V device, and the 5V device may not read the 3.3V logic levels correctly (bad data received).
Arduino due and NEO6MV2
Hey due’s lover. Someone knows it’s a hard task. But some programmer really knows that it is a play of child. If you want to access GPS (NEO6MV2) data on due. I recommend that download the Adafruit GPS library and upload the program of due parsing. I think you got success. Later you may modify/edit output data Thanks
Your description connects GPS RX at 5V level - no matter that it's through resistor. While GPS is CMOS-based it doesn't make a difference.
Not correct.
Chagrin's proposed circuit is not a voltage divider and is not correct. However, he does specify a 4.7K resistor between 5V TX and 3.3V RX.
This is in fact a commonly used method of interfacing 5V (output) and 3.3V (input) devices and protecting inputs from excessive currents through the body diode. If any current flows, there will be a voltage drop through the 4.7K resistor.
AT MOST that current will be less than 1 mA if the 3.3V device is powered off. It is very difficult to imagine that the resulting current could result in destruction of the GPS device.