SPI/I2C chip, CS# pin pullip for I2C operations

Hello,
I am working on a project involving a MPU9250 in I2C
For I2C mode, we need to pull AD0 high or low for address selection, and CS high
I am currently not able to communicate with the MPU, and was wondering if the lack of pullup resistor on the CS line may be the problem
Has anyone knowledge about that? This question may be for general spi/i2c chips, as I think it is a standart way of selecting the communication mode.

Thanks in advance,
Falaroce

The CS pin should be directly connected to VddIO, so it's not a pullup resistor but a direct connection.

was wondering if the lack of pullup resistor on the CS line may be the problem

Yes.

So I should not have a resistor for I2C operation?
But this board have a resistor on CS# line, And it is working in I2C

So I should not have a resistor for I2C operation?

I don't say it doesn't work with a resistor, but the datasheet says it should be a direct connection.

Really important is that the pin is not left floating but on a defined level. VddIO for I2C, GND for SPI.

The MPU9250 is a 3V3 chip, it's IO pins are not 5V tolerant, so if you connect one the pins directly to the Arduino (as you didn't specify what type of Arduino you're using we expect the standard UNO to be used) you may damage the chip.

According to what you are saying, the lack of resistor should not be the problem, in that case, I don't know where it is
I used an arduino UNO for testing, but in my mind (correct me if i am wrong) the arduino only drive the I2C pins to low, and the pull-up resistors for SDA and SCL are conected to 3V3 on the MPU board, so I don't think I damaged it ( In fact i'm sure, as I measured voltage on those lines to check if the resistor where well soldered)
Anyway, thanks a lot for your replies!

For the records, I used an I2C scanner sketch to make sure I wasn't using the wrong address, and it told me that no I2C device was found

According to what you are saying, the lack of resistor should not be the problem, in that case, I don't know where it is

No. I said that you might use a resistor instead of a direct connection but one of the two has to be in place. In my understanding of your words you don't have a connection from CS to VddIO, neither directly nor by a resistor.

I used an arduino UNO for testing, but in my mind (correct me if i am wrong) the arduino only drive the I2C pins to low, and the pull-up resistors for SDA and SCL are conected to 3V3 on the MPU board, so I don't think I damaged it ( In fact i'm sure, as I measured voltage on those lines to check if the resistor where well soldered)

No, the Wire library of the Arduino IDE activates the internal pull-ups of the ATmega328 chip, which pulls to 5V. So depending on the value of the pull-ups you have installed the voltage may be to high.
Post a wiring diagram of your setup!

For the records, I used an I2C scanner sketch to make sure I wasn't using the wrong address, and it told me that no I2C device was found

Unfortunately that votes for my interpretation.

Here is the wiring of the MPU, SDA and SCL are connected to the arduino UNO SDA and SCL
CS# is connected directly to VDDIO, so the problem may come from the activation of the arduino uno internal pull-up damaging the chip
I will use a scope to check the voltage on the I2C lines

As the board has no pull-ups the internal pull-ups of the UNO put full 5V to the I2C lines of the MPU which probably damaged it.