2019-06-04 01:27 PM
I have a Nucleo board with an IKS01A2 expansion board. I can address the sensors on that board over i2C to read registers on the sensors, using the HAL library calls. However, I plug an STEVAL-MKI174 board into the 24 pin socket and try to address it, but can never get a response. The datasheet for the sensor on that board (LIS2HH12) says the address should be 0x1e (I have verified the address pin is pulled low to correspond with this address). Has anyone had luck communicating with such an add-on board or similar? Thanks
2019-06-07 03:50 AM
Hi Vince, did you try to isolate the already mounted sensors acting on the Vdd jumper (to ref to schematic)? I'm frightened the I2C lines could be in conflict in that case. regards
2019-06-07 05:13 AM
Yes, I figured that out finally. The magnetometer's address is in conflict with the daughter board's address. I disabled the magnetometer, bit-shifted the address given in my accelerometer's datasheet, and it works. I would like to point out that there is some confusion about this whole bit-shifting of i2c addresses. I understand the need for it, but when I look only at the schematic for the expansion board, the addresses given there for the several sensors are already bit-shifted; when I went from using that document to the datasheet of my accelerometer of choice, the published address is pre-shifted. I did not catch the subtle difference until after a lot of troubleshooting. It would be good to standardize the documentation one way or the other (my preference is to report the addresses as already shifted, with the LSB defaulting to 0, as that is what HAL is happy to use in the calls). Thank you. You may close this case.