Using Arduino Zero SERCOM3 port for I2C


I’m working on a project that uses the Arduino Genuino Zero board to communicate with a sensor over I2C. I’m trying to use the SERCOM3 (pads 0 and 1) to be SDA and SCL respectively as described in the following tutorial The SDA pin is on Digital 0 and SCL is on Digital 1 (referring to the Genuino connector Pins).

The code compiles with no errors, but there is nothing coming back to the serial monitor when uploaded to the board. I did remove the interrupt handler mentioned in the tutorial as it was causing an error of multiple definitions.

The sensor/arduino work perfectly well when using the pre-defined SDA/SCL pins and the standard Wire library, but I really need to want get these other pins set up to read data.

Please note, there are pull-up resistors on the sensor board so I believe this is not the issue.

Any help would be much appreciated - please see attached sketch, source and header files.



tcs34725.ino (3.25 KB)

Adafruit_TCS34725.cpp (11.2 KB)

Adafruit_TCS34725.h (8.3 KB)