I am trying to wire an ADS1115 ADC (connected to an AD8232 Heart Rate Monitor), as well as a BME680 Atmospheric Sensor to my Raspberry Pi. They both have different addresses and they need to be connected on the same bus to the master SDL and SCA pins on the Raspberry Pi. How can I physically wire these two boards on the same bus without having to stack their respective headers? Is there a dedicated PCB meant for holding SDA and SCL inputs from multiple sensors and allowing a user to choose what board they want to read?
-
1multiple i2c devices can be "daisy chained" i.e. pi -> dev1 -> dev2 for all 4 wires - but if you want to connect them in parallel, then do your own wiring, or alternatively use something like a sparkfun qwiic HAT– Jaromanda XCommented Feb 1, 2021 at 23:22
-
1or even a proto hat or breakout hat– Jaromanda XCommented Feb 1, 2021 at 23:27
-
1Does this answer your question? Connecting multiple devices via I2C– MilliwaysCommented Feb 2, 2021 at 3:04
Add a comment
|
1 Answer
You connect the SDA of the pi and all the sensors together, the SCL of the pi and all the sensors and GND of the pi and all the sensors. If you don't want to stack them, you can just use wires. Selecting which sensor to read lies in the address. Whenever you talk to the I2C bus, you indicate which device you want to talk to using their address, so as long as they have different addresses, there shouldn't be any problems.