using sudo i2cdetect -y 1, and the ServoPi plugged in, I see addresses 0x40 and 0x70. If I change the ServoPi address to 0x41, then I see 0x41 and 0x70. With no board, no address are identified as expected.
When S/W communicates with the ServoPi, it halts after 5 or 6 i2c writes. Afterwards, neither address 0x40 and 0x70 are detected and the system needs to be power cycled to detect the addresses again. I suspect the extraneous address is the problem.
I also have the ADC Differential Pi and it behaves as expected with no extraneous address.
Does the problem indicate a suspect PCA9685?
Raspberry Pi 3B, programming in Geany C++