Hello Bosch Sensortec team,
I am currently evaluating the BMA400 using an ESP32 and would like some guidance on implementing a battery-optimized configuration using the sensor's built-in tap detection and interrupt functionality.
The required functionality is:
Single-tap detection
Double-tap detection
Hardware interrupt output
Low-power operation for battery-powered applications
Automatic transition between low-power and normal operation, if appropriate
Minimum practical current consumption while maintaining reliable tap/double-tap detection
I understand that the BMA400 low-power mode operates at a fixed 25 Hz ODR and has a typical current consumption of approximately 0.8 µA in the referenced configuration, while normal operation has a higher current consumption of approximately 3.5 µA, depending on the configuration.
I am considering an operating sequence similar to:
Low-power mode → wake-up → normal mode → tap/double-tap detection → interrupt → return to low-power mode
I would like to confirm whether this is the recommended approach.
Specifically:
Can the BMA400 use low-power mode for activity monitoring and then switch to normal mode for reliable single-tap/double-tap detection?
What ODR and filter configuration is recommended for the BMA400 tap engine?
Is there a recommended configuration sequence for combining:
Auto-wakeup
Single tap
Double tap
Interrupt
Auto-low-power
When the device wakes from low-power mode, can the previously configured normal-mode settings be restored automatically, or does the host need to reconfigure the sensor?
What current consumption should I expect for this type of operating sequence, rather than only the standalone low-power-mode current?
Are there any important restrictions or interactions between low-power mode, auto-wakeup, and tap/double-tap detection that should be considered?
For the interrupt output, what configuration is recommended for reliable single-tap and double-tap detection?
I am also looking at the Zephyr RTOS BMA4xx driver, which already recognizes the BMA400. I would like to understand whether this existing driver can be extended to support the required BMA400 tap/double-tap functionality, or whether Bosch recommends using a different driver/API approach.
For initial evaluation, I am using an ESP32 with an I²C connection to the BMA400 and can provide non-confidential register configurations, measurements, or test results if required.
I cannot share proprietary application details or company-specific code because of confidentiality requirements.
Thank you for your guidance.