I know it's an old topic but I have the exact same problem as the original poster, except that I am just connecting two Arduino's, I2C Master and I2C Slave. If I have my laptop connected, it works but when I disconnect the Slave and reconnect again, the Master does not see the Slave. If I press reset, nothing, if I use the reset pin, nothing, but as soon as I open the serial monitor.... It works. I have tried with 4 Arduino's (all Nano) and exact same result. I had already tried removing all Serial communication, no difference. It's driving me insane that I cannot get this to work.