NEO-M8U with Arduino DUE WIRE and WIRE1

So I have been fighting with the DUE both real and copies (2 boards) with the latest version of the IDE from Window 10 apps.

I am using the Sparkfun QWIIC connector system.

I am trying to run the Example_3 Get Position from the Spark fun u blox library.

The M8U and a Nano 33 IOT work great together on WIRE.

The DUE and a Sparkfun Serial LCD/Sparkfun External_EEPROM, and Adafruit BMP390L all work great. No problems on either WIRE or WIRE1.

So with the same wiring/connector as used above that worked fine at both 100K and 400K with the other components, it does not work with the M8U.

The M8U says it has internal pull ups but I mesure and open between the 3.3 and the SDA/SCL. I read there is issue with the WIRE pull up so I removed them from the board. Did not work. I added 4.7K, which did not work. But the WIRE original pull ups and the 4.7K work fine for the other QWIIC based components.

So the long and the short of it is the M8U and the DUE WIRE do not like each other.

Any ideas why it is just these two?



M8U available interface protocols include UART, SPI and I2C. IMO UART would be much easier with one of the DUE hardware Serial (Serial1,2,3 or 4) connected to RX/TX of M8U. I can't find the appropriate baud rate on M8U documentation but you should find this info somewhere.

Note that SDA/SCL have Pull-ups on the DUE (1K or 1.5K depending on your board), whereas SDA1/SCL1 don't have any pull-ups. Moreover Sam3x has no glitch filtering and no slope control on its I2C buses.

I took some oscope and LA data for both the DUE and Nano 33 IOT.

DUE Data: oscope looks cleaner for DUE and Nanno 33 IOT

Nano Data

The top screen shots are the DUE.
Bottom are nano.

I attached the I2C messages decode.