I find it weird that the twi library pulls SDA and SCL up in init() like this:
// activate internal pullups for twi.
instead of using the hardcoded/hardwired values for SDA/SCL (as they are used in transmit() etc).
This can lead to hard-to-debug problems.
The SDA and SCL settings don’t seem to be used anywhere else anyway.
For I2C (using the Wire library) pull-up resistors are needed to make the I2C-bus work.
So the internal pull-up resistors are activated, although they are very weak (20k).
This is however a problem for 3.3V I2C devices, which can't have a pull-up to +5V.
So the most common solution is to use 4k7 external pull-up resistors to 3.3V for 3.3V devices.
But I would like to have to internal pull-up resistors removed.....