There is an Arduino library for the HIH-6130 which has exact same I2C protocol as the sensor I am using which is the HIH-6120. I am using the same two lines of code to tell the sensor to take a reading:
Wire.beginTransmission(0x27);
ret = Wire.endTransmission();
ret is 2, which means master received NACK on transmit of address. Looking at this on my analogue scope it appears the sensor makes an attempt to let SDA rise to 1 but it is late and too weak: (about 10us per div, 2v per div, sync on falling SDA) A delayed by B gives (1us per div) Pullup resistors are 2k. Sensor address is 0x27 according to HP. Min clock frequency is 100 KHz which is what Arduino is giving.
What on earth is wrong?