12-08-2021 07:37 PM - edited 12-08-2021 07:39 PM
I'm opening this thread because I made a custom board with a BMA456 sensor, but it's not working. If I try to read the 0x00 register I don't get the 0x16 as result. I also tried to connect my board to arduino and run one of the examples but they also don't work. The other I2C sensors are all working. I tried both 0x18 and 0x19 as device address. I also tried to use the online API for this sensor, and I get "bma456_read_int_status.Error  : Null pointer"
Did I do any error in the schematic that prevents the sensor from working? If yes, is it possible to fix it somehow without printing a new PCB?
If the schematic is correct, what can it be the issue?
Thank you all in advance,
12-08-2021 08:17 PM - edited 12-08-2021 08:25 PM
one aspect in the schematic is, that I miss the use pull-up resistors (4,7k) for each I2C wire. Maybe you could try this.
Additional I would check if the sensor is his right position. The SDO pin should have the voltage of Vcc or GND. Make sure it has a defined voltage.
12-09-2021 02:36 AM
For hardware side, you should ensure SCL, SDA I2C bus had pull up resistance(from host MCU or external).
Refer BMA456 github code, https://github.com/BoschSensortec/BMA456-Sensor-API/tree/master/examples/bma456/generic
You also could refer example code in other community topic for BMA456 discussion. https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BMA456-Init-fail/m-p/47081
12-09-2021 03:55 AM
I didn't put pull-up resistors because my MCU has already pull up resistors.
I tried to follow the example already, but it's not working, I'll try again from zero.
Regarding the schematic, how I connected the jumper to the other elements is correct? Maybe the problem comes from there. What do you think about it?
12-09-2021 04:26 AM
Haven't seen mistake in your schematic. You could try to setup your software.