I2C write refactor. Attempt batch writes, fallback to single byte writes