I'm trying to communicate between several MCUs with I2C using a Teensy as the master and a TCA9406DCTR as a level shifter. I'm currently testing the I2C signals from the Teensy without any other MCUs connected.
I seem to be getting quite a lot of overshoot on both the clock and signal lines on the Teensy, over 500mV which concerns me that it may damage it and comms is unstable.
The 5V side of the TCA9406DCTR is even worse, about 1.8V overshoot and -1V undershoot.
My current thinking is that I probably need to revise my PCB layout a bit and make sure the traces between the Teensy and the TCA9406DCTR are as short as possible although they aren't that long (approx. 120mm). Possibly I need to find a better alternative to the TCA9406DCTR.
What can I do to reduce the overshoot and make a more stable I2C signal?
EDIT:
The issue is there with no other MCUs connected.
Here is the schematic in question:
The layout of the PCB in that area:
I2C Clock signal directly from a stand-alone Teensy as measured using the same method as before just to confirm that the scope ground should be adequate (I'm just using the spring clip on the probe directly to ground on the Teensy board):