Help with SX1509 multiplexer

I have been trying to work with the SX1509, but no matter what i do i cant connect it to the board. This is my schematic:


I have measured voltage on the Nreset, SDA and SCL pins and they are all fine, the only thing i am afraid of is that i melted the chip, but i tried 5 chips and none of them worked.
i am using the simple I2C adress finder code here:

// SPDX-FileCopyrightText: 2023 Carter Nelson for Adafruit Industries
//
// SPDX-License-Identifier: MIT
// --------------------------------------
// i2c_scanner
//
// Modified from https://playground.arduino.cc/Main/I2cScanner/
// --------------------------------------

#include <Wire.h>

// Set I2C bus to use: Wire, Wire1, etc.
#define WIRE Wire

void setup() {
  WIRE.begin(1,2,100000);

  Serial.begin(9600);
  while (!Serial)
     delay(10);
  Serial.println("\nI2C Scanner");
}


void loop() {
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    WIRE.beginTransmission(address);
    error = WIRE.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknown error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(500);           // wait 5 seconds for next scan
}

there isnt a problem with the board or pins since i have tried to scan the SX1509 on pins 8 and 9 and I also tried connecting another I2C device to the pins 1 and 2 and it worked fine with no problem. is changing the adress a good idea?
the solders also look fine and i can provide gerber for the pcb if that helps

Thank you

Hi there,

If you have an otherwise empty i2c bus, another address seems like a dead end. Why did you pick 10kOhm pullups? Try much lower, 4k7 or even lower.

I am sorry, I have tried that and it didnt work.
I forgot to say that in the forum

No experience with this chip, but which Arduino uses pin1,2 for I2C.
Why re-define the default 100Khz.
Leo..

1 Like

its an esp32 supermini S3, the i2c worked with other i2c devices fine on those pins.
leaving it bland doesnt also work, i just pasted my most recent code with most tweaks, but i will try it later with the original frequency again

It doesn't look like this should work according to the datasheet, but try tie NRESET to GND.

I cant send photos now but there is a pinout i am using, most of the pins dont work like advertised but pins 1 and 2 worked on another i2c device.
Tying nreset to ground would keep the board in reset, because of the n before reset which stands for not negating the whole logic
when signal is low it resets and when signal is high id doesnt

Try the default I2C pins, with nothing in the wire.begin brackets.
Could be GPIO 8 (SDA) and GPIO 9 (SCL).
Leo..

@spek_fat In Sparkfun's breakout board, RESET is pulled up to 3.3V, so try that.

EDIT: Checking your schematic more carefully, I see you have done this (bottom of schematic). The floating NRESET shown at the top of your schematic fooled me at first.

after rewiring it and even using another board there is still no signal from the code

Should i try to solder it according to the solder profile? I soldered it for about 250 degrees with a hot air gun for about 20 seconds with about 3 cm gap from nozzle to component

Should i try to solder it according to the solder profile?

As close as you can.

What solder and flux are you using?
Are you using the correct footprint?

Hot air gun or temp controlled rework station.

Rosin flux and sn67pb33 solder paste 187 melting point.
the footprint should be fine, i tested it with a multimeter eith continuity mode, but cant test if the pads are soldered because it is a no lead chip

I have tried that but i just went with the about 250 on my hot air gun and set 250 degrees and soldered it

Yeah I also noticed Sparkfun, but the datasheet does not display NRESET the same.

in the sparkfun it says reset with a line above it which means negate, the same if you would put an n before it, do you mean that?

Good catch. Carry on :grinning_face_with_smiling_eyes: