I2C stops working on nRF9160-DK board version 1.1.0 when SW9 is switched to non default 3V position

I have ported a sample program and library from Arduino to Zephyr and start the code in asset_tracker_v2 main(). This is what I am testing: E-paper Display Kit - Ynvisible. The recommendation from Ynvisible is to run their hardware at 3.3 volts. It actually works on the nRF9160-DK version 1.1.0 with SW9 set to the 1.8v VDD position, using P0-31 for SCL, P0-30 for SDA, and P1 for GND and VDD.

But when I switch S9 to 3.0v VDD, I get I/O errors from I2C: 

*** Booting nRF Connect SDK v2.5.0 ***
The I2C scanner started
Value of NRF_TWIM2->PSEL.SCL : 31
Value of NRF_TWIM2->PSEL.SDA : 30
Value of NRF_TWIM2->FREQUENCY: 26738688
26738688 -> 100k
YNV_ECD display i=-99
[00:00:01.254,272] <err> i2c_nrfx_twim: Error on I2C line occurred for message 0
YNV_ECD::sendData i2c_write rc=-5
[00:00:05.754,882] <err> i2c_nrfx_twim: Error on I2C line occurred for message 0
YNV_ECD::sendData i2c_write rc=-5

I didn't spot anything obvious in the DK user manual explaining why I2C would stop working. It seems strange that my I2C device would work fine at 1.8v but not at 2.9-3.0 volts when it is spec'd to work at 3.3 VDC. What am I missing? Do I need to reconfigure something else on the DK board? Thank you.

Burt

ps, using SDK v2.5.0

Parents Reply Children
Related