Looking once again at your captured I2C traffic, it appears that your PCA9685_read_byte() function requires some modification. The first two bytes are correct, but they need to be followed by a repeated start condition (which is not visible in the captured data) and the I2C addres...