I2C/TWI non-blocking library


Does anyone know if there is a non-blocking version of the Wire.h library for Arduino Due?


Hi biccius,

I don't know of any non-blocking Wire library for the Arduino Due.

I have however written one for the SAMD21/SAMD51 microcontrollers, used on the ARM based Arduino Zero/MKR, as well as Adafruit M0/M4 boards: GitHub - MartinL1/I2C_DMAC: Arduino Zero (SAMD21/SAMD51) based non-blocking I2C library using the DMAC..

Although the SAM3X8E microcontroller used on the Due has some general similarities with the SAMD21/51, in terms of DMA operation and linked descriptors, the register and peripheral structures are unfortunately somewhat different.

The only other thing I can think of, would be to check if your sensors also support SPI?

Hi Martin,

thank you for the reply

I had already taken a look to your library (congratulations for the excellent work!) but unfortunately as you say it is incompatible with a Cortex-M3.

The sensors I use have an SPI version but by now the project has come to an end and I don't think of redesigning it all.

Everything works properly. The fact of not-blocking i2c would have been an improvement.