Running Bus at Low Speed- I2C bit banging
Measure the rise time of your SCL and SDA signals with an oscilloscope.

Then "slow" means slow enough for SCL and SDA to achieve legal logic levels after you release them.

Be aware that if this results in extremely slow transactions, some devices might fail due to time-out behavior.