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?

1 Like

It is normal to have problems with I2C. If you can use the UART serial instead, do so. It will be much more reliable.

I2C was designed for communications between chips on a single PCB and is very problematic with long wires (> 10 - 20 cm), inadequate pullups, etc.

Please post a picture of your wiring.

Thank you for your reply. This is my wiring:

The cables are approximately 7-8 cm long.
I am using TWI1 instead of TWI because SDA and SCL pins of the GPS board have already 2k2 ohm pull-up resistors (although previously I tried with TWI and the result was the same).

It is pointless to post a Fritzing diagram.

Looks like you have connected a wire to AREF instead of GND. That may damage the Arduino.

Connections to the GPS module have to be soldered.

Sorry. Yes, GND was connected with AREF. Now, it has been corrected.
Also, wire have been soldered. But behavior is the same as before.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.