Problem - getting an address/data using l2c multiplexer TCA9548A and 2x 6-axis acc and gyro LSM6DS3

Hello everybody,

i have:

I bought 2x 6-axis accgyro - they have same address - 0x6A.
My program working with 1 gyro.

So i recent buy a multiplexer to resolve this issue, but it’s not working, and i have no idea why.
Using sample code for scanning ports from wiki, i notice 2 problems:

  1. I have gyro on 0 and 1 channel, when open all channels scanner saw only one address - 0x6a (except 0x70 as multiplexer) shouldn’t it give a different addresses?
    but if i open only 0 channel (TCA.openChannel(TCA_CHANNEL_0)) - it see 0x6a, and if i open only 1 channel it see 0x6a too.

So i was thinking ok, no problem i will be switching channels to get data but…
2. I don’t know why but TCA.closeChannel(TCA_CHANNEL_0) not working. I wanted to openchannel to get data and close channel and open next channel.

Do You know how to resolve this issue?
It’s for my school project and thank You in advance for help.

Try using the multiplexer with other devices to make sure that it’s working properly. Connect other sensors to the multiplexer and try reading data from them using your microcontroller.

Thank You for reply,
I put another sensor 3-axis acc and it found it. so basically scanner and multiplexer is working, but if You have 2x sensor on same address (0x6a) it not working but should.
I thought the multiplexer would create a new addresses.
l2c scanner

Why not change one of the J1 jumpers to change the Address?

The Slave ADdress (SAD) associated to the LSM6DS3 is 110101xb. The SDO/SA0 pin can
be used to modify the less significant bit of the device address. If the SDO/SA0 pin is
connected to the supply voltage, LSb is ‘1’ (address 1101011b); else if the SDO/SA0 pin is
connected to ground, the LSb value is ‘0’ (address 1101010b). This solution permits to
connect and address two different inertial modules to the same I2C bus

I see on schematic that the SDO/SAO least bit of address, so unsolder one?


GL :slight_smile: PJ

Thank You for reply,

I dont think it’s a good solution (for me :slight_smile: ), because in future I would like to use this sensor for all sockets, so I need all 8 channels and diffrent addresses. I think the problem can be solved at the software (library) level, but I’m an amateur and I don’t know :slight_smile:
But Thank You for reply, and hardware solution, such knowledge is very valuable.