3

I have an Exhaust Air Heat Pump (Nibe F470) and I would want to monitor pressure differential between incoming and outgoing pipes and pressure differential between the house and outdoor air pressure.

Can I use Raspberry Pi with multiple I²C devices, such as Sensirion SDP600 sensor line? As far as I understand, SDP600-500Pa would be suitable for this purpose.

How many such sensors I can use with a single Raspberry Pi? Have I understood correctly that I²C allows me to connect at least two such devices to the same input pins in Raspberry Pi?

1 Answers1

3

After doing some research, I have following answers:

  1. Yes, Raspberry Pi can interface multiple I²C devices as long as each device has individual I²C address. I²C bus needs two pull-up resistors in general case but Raspberry Pi has this handled internally so you can just connect the bus wires and you're done for the wiring.
  2. Maximum number of I²C devices sharing a single wire pair is 0x70 - 0x08 - 1 = 0x67 or 103 in decimal notation (the address space is 7 bit and the I²C specification reserves addresses 0x00..0x08 and 0x70..0x7F). In addition, one should keep in mind that I²C wiring should be kept shorter than 1.0 m total due to line capacitance. The I²C bus allows only a single device active at any given time so attaching very many devices causes longer delays to access all devices.
  3. Sensirion SDP600 sensor line has default I²C address of 0x40. As a result, one can attach only a single such device to a given I²C bus out of box. The address is stored as raw binary value inside the device EEPROM, in offset 0xC2C. The EEPROM reprogramming instructions are not publicly available because the same EEPROM contains factory calibration for each device and possibly part of the firmware, too. I was able to successfully request instructions to reprogram the EEPROM by emailing info@sensirion.com. The instructions I received included following warning:

    After writing to the EEPROM it is not possible to reset to the factory settings. Do not write to any other field of the EEPROM. This may destroy the configuration and calibration of the system. Sensirion disclaims any warranty for sensors with changed EEPROM entries other than the I²C address.

    In addition, I was asked to not redistribute the instructions on a public server. The document was called "Application Note for I²C Flow and Differential Pressure Sensors" with subtitle "Change I²C address".