Serial.print(sample, BIN); Serial.print("\n");
While your suggestion is sensible I don't think that is the problem
I also need the i2c.cpp you are usingBTW. I haven't got a Zero so I can't (don't want to) install it and/or I2C drivers into my IDE.Pete
the data from the microphone fills up all 32 bits which is clearly wrong
Not necessarily. The datasheet shows that when the low order 8 bits are being transmitted, the chip simply tri-states its output.