Setting i2c slave address on (multiple) drotek rm3100

Hi!
We have an application where we want to use several drotek rm3100 via the i2c bus. I understand that there are SPI-pins on the PNI chip that you can use to create four different slave addresses in i2c-mode. My questions:

  1. How is the SPI/I2C mode selected using the drotek rm3100? By supply voltage on the corresponding jst-gh connector? Something else? (How does PNI MagI2C pin 22 get set?)
  2. Can I use the drotek SPI lines CS and MISO in i2c-mode? (Which corresponds to bit 0/1 in the i2c slave address according to the PNI documentation)
  3. Is there another way to set the i2c addresses?

Thank You! :slight_smile:

Hi Thord,

We can have 4 different slave addresses in i2c mode. I have attached the RM3100 pinouts for your reference.

If I understand it correctly, you can have different formats by supplying voltage on the corresponding jst-gh connector.
Case 1:
01000|00| - you can use the default RM3100
Case 2:
01000|01| - you can for example connect a resistance (20kohm) to either MISO or CS before the jst-gh connector
Case 3:
01000|10| - you can for example connect a resistance (20kohm) to either CS or MISO before the jst-gh connector
Case 4:
01000|11| - you can connect resistances (20kohm) to both MISO and CS before the jst-gh connector
connector

Here you will have 4 RM3100 mag sensors with 4 different formats.

I have attached the PNI RM3100 magnetometer sensor document for your reference.
Using the PNI RM3100 magnetometer sensor, the MagI2C Characteristics section displays the electrical characteristics (pg 7).
Using binaries 01000|00| …01000|01|…01000|10|…01000|11| from page 23, you can assign and have different formats of the RM3100.
You can use the link below to calculate resistance to achieve the output voltage as 3.3V :

Thank you!

Best Regards,