i2c between arduino and ti launchpad - pullup resistor weirdness

i2c between arduino and ti launchpad msp430 only works if I use a pullup resistor on the TI launchpad SCL (P1_6).

If I use two pullup resistors as described here and here, communication doesn't happen.

I'm running the master_writer (launchpad with msp430g2452) and slave_reader (arduino uno w/ 328p) examples.

On which end of the level shifter should the pullup resistors be? Currently, this works on the TI side, but not the arduino side.

fwiw ti launchpad is revision 1.5.

Your post mentions a level shifter without providing any detail which one you are using. Some of the commercially available breadboard ready solutions already have pull-up resistors on board and no additional external pullup resistors are needed.

I'm pretty sure it's this Logic Level Converter from Sparkfun.

In my first attempt, making sure I had an external pullup resistor attached to SDA going to the TI Launchpad was the only thing that would make it work.

Since my initial attempts, I've thrown a Raspberry pi in the mix (attached as another slave on the bus). Strangely, now no external pullup resistors are required to make it work, and, if any get added, communication breaks.

Headroom, your explanation seems sound, though I find no evidence of it on the product page at sparkfun. I might delve into the datasheet, provided I'm burdened with insomnia in the near future.