I'm trying to get into capacitive sensing and therefore need a stable communication between an Arduino and a TI FDC2114, which is already soldered on an EVM. Both support I2C, and because of the different operating voltage of 5V for the Arduino and 3.3V for the FDC, I'm using an PCA9512A bidirectional level shifter and 10k pullups to 5V (Arduino Mega internal) as well as to 3.3V.
When scanning the address of the FDC, I sometimes get a positive response (ACK on last clock after the requested 7bit address) but mostly a NACK. Even if I receive a ACK, some seconds later the FDC can't pull down the SDA to 0V anymore and I get NACK again. In case of NACK, it may help to unplug SDA and SCL while under voltage and plug them back in, but it doesn't work every time. I've already changed all wires, so it shouldn't be an mechanical problem. I also observed that the peak Voltage is 3.4V on SCL and more than 3.6V on SDA, but I don't know if this could cause any problems and also where the voltage difference results from.
When using the included MCU of the EVM, there are no problems at all. What am I missing, why doesn't it work reliable?