I2C issue using the NEO-M9N GPS

Hi,

Please can you help on an I2C issue where using the NEO-M9N GPS ‘corrupts’ other data on the I2C?

I’m using an expLoRaBLE connected to a GPS sensor and Qwicc Boost via I2C.

The GPS sensor works well using either NMEA or uBlox protocol.

The Qwiic Boost is connected to 2 ADCs that are connected to electrochemical gas sensors.

The Qwiic Boost boost’s the 3.3V to 5V required for the sensors and does the logic conversion for the I2C.

This all works very well.

That is until I start to query the GPS for data when the readings from the ADC drop significantly.

The issue doesn’t occur with GPS initialisation, and only once either NMEA data starts streaming, or uBlox queries are called.

I’ve tried a few recommended fixes around CRC errors from the GPS receiver such as reducing the pull-up resistors on the I2C line and reducing the clock speed, but it has no effect.

Any thoughts on what could help?

Thanks.

Components:

GPS - SparkFun GPS Breakout - NEO-M9N, U.FL (Qwiic) - GPS-15712

https://www.sparkfun.com/products/15712 … 1620595876

Signal converter/power boost - SparkFun Qwiic Boost

https://www.sparkfun.com/products/17238

Microcontroller - SparkFun LoRa Thing Plus – expLoRaBLE

https://www.sparkfun.com/products/17506

ADC – Adafruit ADS1115 16-Bit ADC - 4 Channel with Programmable Gain Amplifier

https://www.adafruit.com/product/1085