Troubleshooting
Start with the symptom you can observe. Apply one change at a time, then retry the smallest Quick Start example.
| Symptom | Check | Fix |
|---|---|---|
Arduino: Error: BMA400 not connected, check wiring and I2C address! repeats every second | Power, ground, SDA and SCL reach the breakout, and the address the code uses matches the board | Reseat the Qwiic cable or check the header wiring. begin() uses 0x14 by default; if you changed the address jumper JP1 or drive ADDR high, call begin(BMA400_I2C_ADDRESS_SECONDARY) for 0x15. |
MicroPython: BMA400 not responding on address 0x14 | The pins in I2C(0, scl=Pin(9), sda=Pin(8)) are the pins you wired, and the address matches the board | Change the scl and sda pins to your wiring. For a board set to 0x15, pass address=BMA400_I2C_ADDRESS_SDO_HIGH to BMA400(). |
MicroPython: BMA400 not found, chip ID 0x.. was read instead of 0x90 | Another chip answers at that address | Make sure no other device on the bus uses the same address, or move the breakout to the other address. |
MicroPython: Board not recognized, enter I2C pins manually | BMA400() was created without an i2c object on a board the library does not detect: it detects only firmware that reports itself as esp32, esp8266 or one older Soldered board firmware | Create the bus yourself with I2C(...) and pass it to BMA400(i2c), as the examples do. |
The board answers at neither 0x14 nor 0x15, or only sometimes | The address jumper JP1: ADDR must never float | Restore one side of JP1, or drive the ADDR pin from your controller. See Jumpers. |
| Motion or step example prints nothing after starting | INT1 is wired to the controller pin the code names: 2 in the Arduino examples, 5 in the MicroPython examples, and that pin supports interrupts | Wire INT1 to that pin, or change interruptPin (Arduino) or INT1_PIN (MicroPython) to the pin you used. |
| Step counter never counts | The step counter interrupt is enabled | Keep enableInterrupt(BMA400_STEP_COUNTER_INT_EN, true) (Arduino) or enable_interrupt(BMA400_STEP_COUNTER_INT_EN, True) (MicroPython) in your code; the step counter does not count without it, even when you do not use the pin. |
| Board was connected to 5 V | The supply on 3V3 | The BMA400's absolute maximum is 4 V and the board has no regulator. Power it from 1.72 V to 3.6 V only. |
Still blocked?
Ask on the community forum. Include the following so someone can reproduce it:
- product name and SKU: Soldered Ultra-Low-Power Accelerometer BMA400 Breakout,
333419 - controller board and software environment
- library or module revision
- complete error text or unexpected output
- connection method and power source
- a clear photo of the wiring