recently I have experienced problems on few BMP280 devices.
We were making long term tests on few of our devices and on some of them after few days BMP280 stopped responding on I2C i.e. does not give an ACK after it's address is being sent on bus. The sensors is being sampled every 15 minutes by switching it to forced mode every interval.
The sensor failed runtime so the voltage is constantly being held at the same level. I'm using latest BMP280 library from bosch sensortec github.
What I have already tried is firstly heat it up a bit to see if it's a cold solder joint problem - didn't help. Then tried to desolder it and resolder again on the same board - no luck. Swapped BMP280 sensor on two boards to verify if there's something wrong with specific board, but with no luck - failed sensor is still failing on new board and working sensor still works on previously failing device.
Could you help me with investigation of a possible cause of sensor failure ? Please let me know if you need any additional information.
Hi, thank you for a quick response.
Here's some ansewers for your questions inline:
1- What's the failure rate ? How many devices have you built with no issues ?
We have made quite a bit of devices with this sensor but we haven't seen bigger problems with sensor on those (probably around 1k). However just recently we started making some proper long-term testing and currently we have exactly 3 devices that are failing. I think very important thing is that every board is validated after production (including bmp280) and this sensor stoped working after few days of long-term test on 3 out of 6 total.
Right new we have another 4 setup with lon term tests with brand new sensors and try to replicate the behavior.
The one thing that I can think of what have changed is that we have bumped the driver revision from v2.0.5 to v3.2.0
2- How is the device mounted/operated, etc. Anything special like moisture, vibrations, or shocks that could damage it ?
The device was tested in office environment. No moisture, vibrations or shocks as they were laying on test area and were not moved or touched. No excessive light either. Devices are connected to bench power supply and without any enclosures.
3- Have you tried with SPI communication ?
Haven't tried yet mostly that our hardware does not allow it - SDO is shorted to GND to ensure 0x76 address. If you think it's worth to try I could possibly try to take it out of the system and handsolder it to one of the SPIs. If you idea here is that the interface has changed to SPI somehow (short of CS to ground) I have also checked if the address didn't change from 0x76 to 0x77, but without luck. Also in our design if there would be a short of CS to ground it would consume lot's of power as it's directly connected to 3v3.
4- Is the device drawing an unusually large amount of current ?
Nothing large. I assume BMP280 would enter sleep mode after it's powered. We have a low power demo made for our device and the current seems around normal (159uA from 139uA typical for this setup)
5- Do you see physical damage under the microscope ?
Sensor seems like brand new, no dents or nicks
The chip automatically selects the protocol with the following algorithm:
In your case since you mention short-circuit, or 0 ohm, I do not think that the chip could have switched to SPI mode. In certain cases when the pull-up/pull-down resistor is too weak, an ESD even can trigger the switch to SPI mode, but a short-circuit to GNDIO or VDDIO prevents that. In any case, to eliminate this possibility, a power-on reset would bring the device back to I²C mode.
In any case, from your description everything seems normal (other than the part not working), and there is little debugging that can be doine short of desoldering the part and sending it back to you local FAE for physical analysis.
Please contact your local sales representative to get in touch with your local Bosch Sensortec office.
Thank you for your response and help, much appreciated.
I agree that's probably all we could do here, especially the interface I could use is not responding .
I will try to contact the supplier to make physical analysis as it's very important to us to determine what might have been the cause and learn how to avoid those situations.
Once again, thank you and I will respond here if we get anywhere with physical analysis.