This is how I would approach using this combination of devices:
Start with a fresh install of the operating system, enable I2C.
Connect each sensor individually and ensure each one works properly by itself.
Connect only the multiplexer and verify it is detected (address appears in the I2C device tree; Note: This does not mean install an overlay. You are merely connecting the multiplexer and verifying it is detected) and works properly by itself and the Python library to control it works as expected.
Connect the multiplexer and a single sensor, use the multiplexer library to select the appropriate channel, and acquire a sensor measurement.
If the previous were successful, connect multiple sensors and use the library to change channels and see if a measurement can be acquired from each sensor.
Its hard to do this when im unsure what correctly working is suppoosed to look like.
I have done the above as far as i can, before getting to the multiplexer the pi will read either sensor alone no issue, once i get to attaching the multiplexer then using the script, the only thing that changes is it shows the fffffff.i2c as i2c-11 with i2cdetect -l.
Running i2cdetect -y 11 shows nothing ever and as mentioned pins the cpu to 100%.
Adding a sensor to the tca makes no dif, adding 2 makes no dif.
As far as i can see mentioned, once the script is ran it should show i2c-0 â i2c-7 with i2cdetect -l in term and system info.
Im unsure what to even run or do, i work on servers not pis, im very familiar with debian but im just farting around this i2c stuff finding small bits of info everywhere thats conflicting⌠the python libs needed i see are âpython-smbus python3-smbus python-dev python3-devâ correct? Pythonâsmbus is not avalible, it calls and installs a dif package i dont remeber what it was exactly.
I will try this when i get the chance. Im sure this may be the issue considering im def on the wrong pins then.
I would have done this sooner, but adafruit and all diagrams iv seen never show attaching to those pins. His github mentions it oddly as you stated but i suppose i assumed the wiring would be as shown in any diagram in ref.
The address can be set from 0x70 to 0x77, but 0x70 is the default.
Just because the device address appears on the device tree, it doesnât mean the device is working properly. I have mentioned multiple times to test the multiplexer Python library. You can choose not to do this crucial step, but youâre on your own.
To load the kernel driver for the TCA9548A/PCA9548A that ships with raspbian add dtoverlay=i2c-mux,pca9548,addr=0x70 to /boot/config.txt where 0x70 is the i2c address of the multiplexer. If successfully set up, there will be 8 new I2C buses on the [Gear Icon] â System Information page.
after doing that and a restart it worksâŚ
if not the multiplexer is brokenâŚ
M.