I just wanted to follow up on my June 29th query.
This was resolved for me by incorporating the workaround (strobe the SDA line before initializing I2C) posted by KiwiDev over on this forum thread: i2c strange behaviour
In his reply, KiwiDev refers back to an August 2013 forum thread which discusses the basis for the workaround: Netduino 2 and the Adafruit BMP085 Barometer (I2C)
So in short I can now get both of my HTU21D modules (SparkFun & Adafruit versions) to work with both of my Netduino boards (Netduino Plus 2 & Netduino 3 Wi-Fi).
As mentioned in my earlier post, there are implementation differences between the two modules.
- The SparkFun module is the simpler of the two, incorporating two pull up resistors and a capacitor.
- In contrast, the Adafruit module incorporates two BSS138 FETs, a MIC5225 LDO regulator, four pull up resistors & a couple of capacitors.
I guess that the relative sophistication of the Adafruit design makes it more sensitive to the starting condition of the SDA line when I2C is initialized.