I2c sensor not found on nano 33 ble or xiao ble

LaskaKit_SHT40.pdf (25.7 KB)

So, I just got a new sensor, a Sensiron Sht40, schematic and image above, for reference.

And no matter what I try on the nano 33 ble (not sense) ver 1, I cannot get
it to show up in a scan or a test example.

How ever, it shows up and works fine on a nano 328p. With both the i2c scanner,
and a test example.

I'm looking for some ideas of how to get it working on something with BLE.

I have tried wire.setclock - with 50 to 800Khz, nothing. I have tried 10K pullups, nothing.
I have even snapped off the top sensor board, which has solder pads and soldered
on wires and no matter what, nano 33 ble won't see it. But it works fine on the
older nano 328p.

So something is blocking, I believe. Because the breadbord setup works fine
on the nano. So I don't think it's noise or electrical.

Both the nano 33 ble and the xiao ble use A4-SDL and A5-SCL I've tried using
setting the pinmodes for A4 & A5 to input to shut off the internal pullups,
and I tried setting to output as well.

I'm out of ideas. Also, scanning nano 33 ble and xiao, on wire1 sees all the internal
sensors if any. 2 on the nano 33 ble, I can't remember about the xiao.

If you have any ideas, I try it, thanks.

To what voltage? It needs to be 3V3 for it to work with the BLE. If it works on the Nano that means you are using this sensor with a 5V I2C line. Will your sensor work on 3V3?

A link to the data sheet of this sensor would help, the schematic of the board tells us little.

I have been using 3.3v output on the nano 33 and xiao to power the sensor, and I used a 3 pin 3.3v supply as well. I may accidently had 5v going into it - maybe. I will double check this - thanks.

That will cook a 3.3V-only sensor, such as the one you linked.

Okay, I checked all 3 rigs. They all have a 3.3v output, which I was using and have now meter checked them all. And the sensor still works on the nano 328. I'm using an shtc3 sensor now on the xiao. The voltage was slightly low on the xiao 3.25. The sensor has a note for vcc 1.1 to 3.6. I don't think that's it. I have no idea why this won't work.

Check whether the I2C pullup resistors are active. The board schematic shows a jumper to two 10K resistors.

The pullups must be connected to 3.3V, and the existing 10K resistors might be too high. You could try adding 4.7K pullups to 3.3V in parallel.

This gives me pause. Looking over the SHT40's datasheet, it's not 5V tolerant on its I/O lines. Is your Nano with the 328P a 3.3V board?

Okay, I did not at first have the schematic. And it appeared that there was a trace between the 2 pads, making a connection. So I tried to cut the trace, to remove the 10K pullups. This did not work. Then I discovered the schematic, at it kinda looks like there is no connection, so I soldered them together. And that didn't work either. So all cases 3.3v is only being used and verified with the meter for the sensor. Now this is a bit of a twist, if you look at the image of the sensor, you can see the top part is made to snap off. I snapped it off and soldered in a 4 pin qwiic cable, to use with a qwiic adapter. This works perfectly fine on the nano 328p, using 3.3v on the sensor. So this connection is verified.

Now the next twist. Using the nano 33 ble, with the quick set up, and 4.7k pullups, the sht40 is not found by the i2c scanner. HOWever, I plugged in a qwiic logger device and the i2c scanner finds its address OK!! So what does this tell you guys who know what you're doing? What do you suggest? Should I try a lower ohm pullup. I'm going to anyway. But is this the right direction to be looking?

Pullup resistors are absolutely required, so cutting their connections on the board is certainly not going to help. The lower the resistance, the better, down to 2K or so.

I just tried 2 1K pullups. i2c scan find the logger but not the sensor.
And BTW, you can see that the sensor on this qwiic connection has nothing except a small
capacitor, it is just SCL, SDA, GND, 3.3V

1 K is not generally recommended and may not work. 4.7K is typical.

You have to take into account the parallel combination of all the pullup resistors on the bus, and the current sink characteristics of all the components on the bus.

Try the address scanner program with just the sensor, with 4.7K pullups (total parallel resistance) connected to 3.3V, and nothing else connected to the I2C bus.

The I2C bus was designed to connect chips on a single PCB, designed by professional engineers following strict rules, and was never intended to be used "out in the open" by hobbyists.

What do you mean by that? I don't understated it.
What is the actual number of the part you have?
According to the dater sheet (thanks for not posting a link when requested) there are some other numbers attached to the part for variations in other parameters.

You are very short on hard details of what you have, you have not produced any schematics or code.

How many things are on the I2C bus?
What type is your nano? These days a nano just refers to the form factor rather than the actual type.

I would echo @jremington concern about using 1K pull up resistors, this is way too low and could damage things.

But on the picture of the sensor board you posted there are two pull up resistors. So the qwiic connector dosn't require any more.

The top part of the sensor snaps off just below the two large rectangular silver patches. These are actually solder pads, 2 on each side, for the SDA, SCL, GROUND, and 3.3v. On the part which snaps off, only the sensor and a small capacitor are left. And the solder pads. If you're really interested, you can google LaskaKit, it's on github.

When you are asked questions please answer all of them, and not just the last one.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.