I2C communication ATmega328P slave: answer to general call but not to own address
You're setting the slave address to 0x00 (7-bits) when you enable the general call. Use TWAR |= (1&lt;&lt;TWGCE); instead.