For the PCA9530, with the I2C bus, after each byte written, i2c_check_ack() should be called. Should this be in the i2c_writeByte() function ? I'm still investigating the reading.