{"product_id":"cjmcu-tca9548a-i2c-8-channel-multiple-extensions-development-board","title":"CJMCU TCA9548A I2C 8 Channel Multiple Extensions Development Board","description":"\u003cp\u003eYou just found the perfect I2C sensor, and you want to wire up two, three, or more of them to your Arduino. When you realize “Oh no, this chip has a fixed I2C address, and from what I know about I2C; you cannot have two devices with the same address on the same SDA\/SCL pins”. Are you out of luck? You would be if you don’t have this cool CJMCU TCA9548A I2C 8 Channel Multiple Extensions Development Board.\u003c\/p\u003e\n\u003cp\u003eThe TCA9548A 8 Channel I2C Multiplexer extensions board is interesting in that it has an I2C address (0x70 by default) – and you basically send it a command to tell it which I2C multiplexed output you want to talk to, then you can address the board you want to address.\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eFeatures :\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1-to-8 Bidirectional Translating Switches.\u003c\/li\u003e\n\u003cli\u003eSupports Hot Insertion.\u003c\/li\u003e\n\u003cli\u003eLow Standby Current.\u003c\/li\u003e\n\u003cli\u003e1-to-8 Bidirectional Translating Switches.\u003c\/li\u003e\n\u003cli\u003eActive-Low Reset Input.\u003c\/li\u003e\n\u003cli\u003ePower Up With All Switch Channels Deselected.\u003c\/li\u003e\n\u003cli\u003eI2C Bus and SMBus Compatible.\u003c\/li\u003e\n\u003cli\u003e5-V Tolerant Inputs.\u003c\/li\u003e\n\u003cli\u003eLatch-Up Performance Exceeds 100 mA Per JESD 78, Class II.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eSpecifications:\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eInput Voltage (Volt): 1.65 – 5.5\u003c\/li\u003e\n\u003cli\u003eClock Frequency (kHz): 0 – 400\u003c\/li\u003e\n\u003cli\u003eDimensions (mm): 22 x 32 x 2.7\u003c\/li\u003e\n\u003cli\u003eWeight (gm): 4\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003ePin Description : \u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003ePower Pins:\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eVin – this is the power pin. Since the sensor chip uses 3-5 VDC. To power, the board, give it the same power as the logic level of your microcontroller – e.g. for a 5V micro like Arduino, use 5V.\u003c\/li\u003e\n\u003cli\u003eGND – common ground for power and logic.\u003c\/li\u003e\n\u003cli\u003eI2C Control-Side pins :\u003c\/li\u003e\n\u003cli\u003eSCL – this is the I2C clock pin for the chip itself, connect to your microcontrollers I2C clock line.\u003c\/li\u003e\n\u003cli\u003eSDA – this is the I2C data pin for the chip itself, connect to your microcontrollers I2C data line.\u003c\/li\u003e\n\u003cli\u003eRST – this is the reset pin, for resetting the multiplexer chip. Pulled high by default, connect to ground to reset\u003c\/li\u003e\n\u003cli\u003eA0 A1 A2 – these are the address selection pins for the multiplexer. By default, the multiplexer is at address 0x70 and these three pins are pulled low. Connect them to Vin to set the address to 0x71 – 0x77.\u003c\/li\u003e\n\u003cli\u003eA0 is the lowest-significant bit (if it is pulled high, it will increase the address by 1).\u003c\/li\u003e\n\u003cli\u003eA1 is the 2nd-lowest-significant bit (if it is pulled high, it will increase the address by 2).\u003c\/li\u003e\n\u003cli\u003eA2 is the 3rd-lowest-significant bit (if it is pulled high, it will increase the address by 4).\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eI2C Multiplexed-Side pins:\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eSDx and SCx:  There are 8 sets of SDx and SCx pins, from SD0\/SC0 to SD7\/SC7. These are the multiplexed pins. Each one is a completely separate I2C bus set. So you have 8 I2C devices with identical addresses, as long as they are on one I2C bus each.\u003c\/li\u003e\n\u003cli\u003eThese pins do not have any pullups installed, so if you are using a chip or breakout without I2C pull-ups be sure to add them! Nicely, you can have Vin be 3.3V and have these pins pulled up to 5V (that is, they are 5V compliant).\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eProgram : \u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eWe suggest using this little helper to help you select the port\u003c\/p\u003e\n\u003cp\u003e#define TCAADDR 0x70\u003c\/p\u003e\n\u003cp\u003evoid tcaselect(uint8_t i) {\u003c\/p\u003e\n\u003cp\u003eif (i \u0026gt; 7) return;\u003c\/p\u003e\n\u003cp\u003eWire.beginTransmission(TCAADDR);\u003c\/p\u003e\n\u003cp\u003eWire.write(1 \u0026lt;\u0026lt; i);\u003c\/p\u003e\n\u003cp\u003eWire.endTransmission();\u003c\/p\u003e\n\u003cp\u003e}\u003c\/p\u003e\n\u003cp\u003eYou can then call tcaselect(0) thru tcaselect(7) to set up the multiplexer.\u003c\/p\u003e\n\u003cp\u003eNote that you if you happen to have I2C devices with I2C address 0x70, you will need to short one of the Addr pins on the TCA9548 breakout to Vin in order to make it not conflict. Given that you can have 0x70 thru 0x77, just find one that’s free and you’re good to go.\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003ePackage Includes :\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x CJMCU TCA 9548 I2C 8 Channel Multiple extensions development board.\u003c\/li\u003e\n\u003cli\u003e2 x Header set ( Without Soldered).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"ROBODIUM","offers":[{"title":"Default Title","offer_id":62684459106675,"sku":"R1528","price":60.0,"currency_code":"INR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0966\/3620\/7475\/files\/tech1283-2.jpg?v=1775404671","url":"https:\/\/robodium.com\/products\/cjmcu-tca9548a-i2c-8-channel-multiple-extensions-development-board","provider":"ROBODIUM","version":"1.0","type":"link"}