Hello i am creating a shield for raspberry Pi 3/4 and in need of a lot of analog pins to read 30 sensors. and since the shield can only fit 5 sockets of the connector i am using i need to use 2 ADS1115 on a single shield. This brings me to a total of 12 ADS1115 to read 30 sensors. I chose this chip instead of the others because adafruit already made a library for it which makes coding a bit easier.
Can i connect 12 i2c devices on the default i2c raspberry pins? Is it possible to make the other GPIO pins as i2C?
You can connect as many devices as you want to an I2C bus as long as you can give each a unique address.
If you can’t change the device address you can use an I2C multiplexor to connect up to 8 of the devices to a single I2C bus. You enable the device you want to talk to by sending a control byte to the multiplexor.
The TCA9548A is an example of a multiplexor. You can connect up to 8 TCA9548A to a single bus so can connect up to 64 ADS1115 to the Pi via the standard I2C bus.
I would not design a system based on the opinion that the software for one part may be simpler. You should consider the overall system compexity.
A year ago, I spent 200+ hours messing around with Rpi3B+ stretch 100kHz I2C bus and devices. My humble dream was to connect 64+ devices, mcp23017, ads1115 etc, on a bus.
To add as many devices as possible, I struggled with I2C mux/demux, extender/expander, and also multiple I2C buses per Rpi3B+. Sadly, there are too many things that I didn’t know that I didn’t know, and my long, sad story short is a broken dream.
One bottleneck I always remember is that I2C has a capacitance limit of 400pF, a block I was not knowledgeable to jump over.
My conclusion is that putting more than 6 devices on a 30+ cm long, low speed I2C bus, even using CAT5/UTP wiring, is practically unstable/unreliable.
(Yes, I know, many “experts” claim that it is “doable”.)
Recently I happily updated myself to Rpi4B and I have successfully tested 3 stable low speed I2C buses. So my humble dream now is 24+ mcp23017/ads1115 etc each Rpi4B.
/ to continue, …
(3) How to connect two BME280 sensors via I2C to a Raspberry Pi 3B+ (Read my comments)
(5) P82B715 I2C-bus Extender Learning Notes – tlfong01 2008
http://www.raspberrypi.org/forums search “P82B715” + “tlfong01” = 19 matches
(6) Purple PCB Fabrication etc
(6.1) Oshpark and Elecrow PCB Fabrication Service (6.2) https://oshpark.com/ (6.3) https://oshpark.com/#aboutus (6.4) https://pcbshopper.com/osh-park-reviews/ (6.5) https://www.wellpcb.com/purple-pcb.html (6.6) https://www.youtube.com/watch?v=HH3hoeFjS8w (6.7) https://www.elecrow.com/pcb-manufacturing.html
(7) GY/CJMCU Purple/Blue ADS1115 I2C ADC Module – US$1.6
(7.1) https://www.aliexpress.com/w/wholesale-ads1115.html?switch_new_app=y (7.2) https://fr.aliexpress.com/item/32590193920.html (7.3) https://fr.aliexpress.com/item/32637401475.html (7.4) https://fr.aliexpress.com/item/32462143150.html
/ to continue, …