we are utilizing the BMA400 in one of our new product designs, and are communicating via SPI to a MSP430 processor.
We calibrate the BMA400 to remove any DC offset according to the design guidelines posted here: (https://community.bosch-sensortec.com/t5/Knowledge-base/BMA400-accelerometer-design-guide/ta-p/7397).
I notice that the Y and Z axes reads just shy of 1g when aligned with gravity; I read about +/-0.97g on both channels. However, the X axis outputs the +/- 1g as expected. Our full scale rangle is +/-2g. Since the resolution is 12bit, the bit range is +/- 2048. I should see a count of +/-1024 when aligned with gravity, but I see closer to +/-1000 on both the T and Z axes. Again, this is after calibrating out the DC offset.
Do we need to account for this rescaling in software, or is there something I am missing with the sensor? There's no mention of this in the calibration procedure, so I'm confused as to why I don't see a count of +/- 1024 when the sensor is aligned with gravity.
As your full scale rangle is +/-2g, BMA400 range should be set to 4g range. You should see +/-512 data when aligned with gravity.
See it from BMA400 data sheet: