I'm trying to use the BNO055 sensor in my project. It's hard for me to get the sensor as a seperate IC so I buy BNO055 modules and take the ICs from the modules by heating with hot air.
In my designs I follow the Bosch BNO055 datasheet, so the schematic of the BNO055 part of my board is the same as in the picture below:
I have successfully soldered the BNO055 IC with solder paste (cream solder?) and hot air multiple times now. And got it to work with the STM32F446RET6 microcontroller on my board.
Now I will talk about 3 seperate BNO055 sensors that caused trouble for me.
This first sensor worked for a couple of weeks but recently has stopped working due to a short circuit on the board (I assume). The cause of the short circuit was the microcontroller on the board. Only reason I can think for the microcontroller to break is dust.
On this board I had I2C pull-up resistors connected to 3.3 V for the BNO055. The sensor had seperate I2C connections from the other sensors on the board.
I took the sensor out and soldered it back to the purple module board and with the Arduino I2C scanner I could find the I2C address, but when I uploaded example code for sensor data it didn't work. But for now let's forget about this one. As I mentioned, the board this was working on had a short circuit.
On another board I had a 3.3 V pull-up and a 5 V pull-up on the same I2C lines at the same time. This was a board for the ATmega2560 (5 V logic level). I soldered the BNO055 and the address could be found, but no sensor data again. I took out the 5 V pull-ups but it still didn't work.
On yet another board I had 5 V and 3.3 V pull-ups at the same time again on the same I2C line again, but the sensor didn't work at all with a 3.3 V logic microcontroller. I took out the sensor and soldered it to the module board and it works completely fine.
I thought the 2nd sensor stopped working because of the 5 V and 3 V pull-up sensors existing at the same time but the 3rd sensor didn't do the same.
I'm so confused. Why do my sensors work and not work at the same time?
How can I find the address but read no data?
Sorry if my explanation was too much but I tried to give as much detail because usually people complain that I don't give enough detail in the posts.