Trackball Breakout not recognized until 2nd i2c device added

Trackball breakout won’t recognize unless I also have the 9dof breakout also plugged in. Tried 4.7, 10, and 47k pullups. Same results. Tried 100khz and 250 khz i2c, same results. All with the Arduino UNO and its library. Also tried on a Teensy 4 and don’t get the behavior where the trackball is found with the 9dof plugged in – never shows up on the Teensy.

Also note this is over about 12 inches of 30 awg. I just read i2c isn’t really for wires so that could be part of the problem. I still don’t understand why it works with this other 9dof breakout attached, though.

Any guesses? I did heat-shrink some 30 awg wires onto the trackball breakout. Its possible I lost a super tiny resistor or something, but I don’t get why the 9dof would make it work then.

Code I’m using, Nick Gammon’s i2c scanner: Gammon Forum : Electronics : Microprocessors : I2C - Two-Wire Peripheral Interface - for Arduino

no device when trackball alone plugged in

setup with no pullups (tried that too)

setup with 9dof breakout also plugged in

setup showing both devices when they’re both plugged in

I also have a logic analyzer and I can get some screen shots from that if it could help. When both devices were plugged in the SDA and SCL lines were clean and I could see the ACK for both devices. With just the trackball SDA got real messy and SCL wasn’t always even.

Wow okay, all I had to do was put INT to ground. I forgot where I read that INT might be involved, but that’s all it took. I just guessed ground.

Maybe the 9dof board has a trace to ground for INT and that’s why it works when that board is plugged in. Don’t know.

I’ll leave this up in case anyone else has the same problem.