Long time reading of GPS XA1110 with ESP32 wroom

Hi,

Trying to read angular data with I2C at 50Hz with GPS data at 10Hz with a ESP32 (20168), it appears that it is not possible due to typical 80ms for each GPS read time.

This 80ms are seen also with GPS only, with no code delay including with GPS update at 5Hz only .

By comparison, I have no problem to read (and record) at 25Hz with Openlog Artemis a GPS NEO-M9M (15733) with internal IMU openlog data.

So could you tell me a solution or confirm me that it is not possible to read other data with this GPS ?

Regards

Christian

You can use two microcontrollers. One ESP32 can handle the I2C angular data at 50Hz, while another ESP32 (or another microcontroller) handles the GPS data at 10Hz. They can then communicate the combined data to a central system.

Thanks for your interesting answer,

Unfortunately, I have not enough room for a second ESP32.

If confirmed that it is impossible to reduce the read time of XA1110 then I would try to change of GPS Module.

But I am still not convinced that this GPS module cannot be more performant ?

Regards

Christian

The datasheet for the [XA1110 GPS module indicates that its maximum update rate 10Hz. What angular data are you trying to read at 50Hz? Is that a different device on the same I2C bus?](https://cdn.sparkfun.com/assets/parts/1/2/2/8/0/PMTK_Packet_User_Manual.pdf)

Thank you for your message,

I use two AS5048B angular sensors from AMS on the same I2C bus.

Anyway, the XA1110 GPS has the same long reading time even alone on I2C bus.

By comparison :

. it is easy to record with logomatic more than 20 Hz analog data together with the old GPS GP 735 module at 10Hz

. and the OpenLog Artemis records acceleration data together with the NEO M9M at 25Hz

So I am still convinced that it exists a solution to reduce the polling time of the XA1110, but which one ?

Hi, I have tried again and discovered that with only pure data from the GPS, the reading time is around 11ms.

But when reading time data (centiseconds only), it increases around 80ms : maybe a code relative to time is needed in addition with TinyGPS++ ?

Christian

Trying to see the reading time of the GPS NEO M9M , I have difficulties to use this GPS module with ESP32 wroom.

Please note that it works with OpenLog and that the device is seen with the ESP at address 0x42 with the “Test I2C address.ino”.

But with ESP and various .ino codes :

. There is “no characters received from GPS” with “simple_test.ino” in tinyGPS library

. “No GPS detected: check wiring.” with “deviceExample.ino” in TinyGPSPlus library

. “Module failed to respond. Please check wiring.” with “BasicReadings.ino” in SparkFun_I2C_GPS_Reading_and_Control library

. “$GNTXT,01,01 …” messages with “BasicNMEARead.ino” in Sparkfun_ublox_GNSS … library

Could anyone help me either to speed up the XA1110 or to use the NEO-M9M both with ESP32 ?

Regards

Christian

… no help …

… and no explanation …

… why it became OK now with XA1110 after using during a time a NEO GPS in place of it

Christian