Problems receiving GPS-RTK data on an Arduino Due through the i2c bus

Hello,

Recently, I have purchased the SparkFun GPS-RTK-SMA Kit for an AGV that I am developing.

I have downloaded the Sparkfun Arduino library to get the position results through the i2c bus in an Arduino Due.

Corrections in RTCM3 format are received via USB interface. The device also is powered via USB port.

When I load the basic examples that come with the Arduino library, I have seen the following:

• Sometimes, I get data without problems. I see how RTK led begins to blink and after a few seconds, it turns off.

• But when I reset the Arduino, many times occur that the function begin() from library fails and tells me the following message: “u-blox GNSS not detected at default I2C address. Please check wiring. Freezing.”

• On the other hand, while RTK led is blinking, library returns suddenly a RTK fix type of 0. After that, if I reset the Arduino, newly appears the message: “u-blox GNSS not detected at default I2C address. Please check wiring. Freezing.”

Is this behavior normal or am I overlooking something?

Make sure the DSEL jumper is OPEN https://learn.sparkfun.com/tutorials/gp … okup-guide

Also, depending on the wire thickness/length being used, the i2c pullup resistor may need to be disabled

Check those 2 and see how it goes

Of course, DSEL is opened. Which wire type I have to use for transmitting data through i2c without having to disable pullup resistor? And which length have to be wires?

Seeing that the i2c communication is not good, I have tried with the Serial port. With Arduino Due, I have no problem getting the GPS results, but with an Arduino Mega I haven’t. I have connected the RX/TX pins of the Mega with the TX/RX of the GPS through a voltage divider to convert the 5V to 3.3V but it does not work for me. What I can be doing wrong?