Getting Accelometer in ms/s² from raw data?

Hello, I have basic questions here, I hope that you can help me. I have a sensor (BOSCH BMI160) that is linked to a developer board. Among other things, this sensor the acceleration as well as the orientation on (in x, y and z directions). Using an Arduino script, the values ​​are transferred from the sensor to the board and then to the PC. A total of 12 registers (Page 51 of datasheet) are read out, one "MSB" and one "LSB" Byte-value for each coordinate. Now I have been told that in the end you have to perform the following operation to link the values:

msblsb = (int16_t)(msb << 8 | lsb);

So after that, I get my 16-bit value. So for example my MSB is (in decimal) 63 and my LSB is 254. After the above emntioned operation I get the 16-bit (decimal) value of 16382. So my first question, does this value have a Unit? So furthermore I have been told, that, to get the m/s² value from the raw 16-bit value, I have to divide it by the sensitivity. My range for the acceleration in +-2g, so referring to the datasheet my sensitivity is 16384 LSB/g. And here, I get confused. Why is this LSB not MSB? And what does this Unit acutally means?

So to get the acceleration in one coordinate I have to divide it like:

acceleration = 16-bit value/sensitivity = 16382/(16384 LSB/g) = 16382/(16384 LSB/9,81m/s²) = 9,81m/s²/LSB

So my final unit is not just m/s² but m/s²/LSB therefore I assume that my 16-bit value also have the Unit LSB right? If so, why?
And is there a official source for this fomula (rawdata/sensitivity=my actual meseaured value)? I need an official source as I am writing an academic paper.

Thank you very much!

Why is this LSB not MSB?

Because the most significant bit isn't relevant in your calculation. You have a digital number and you want to know how much acceleration change you get if the returned value changes by 1 (one least significant bit).

And what does this Unit acutally means?

That's not actually a unit but a description of what was meant.

So my final unit is not just m/s² but m/s²/LSB therefore I assume that my 16-bit value also have the Unit LSB right? If so, why?

For the value you got the LSB is always 1, so the result you get is m/s².
Although your calculation is not exact. The standard gravitational acceleration (g) is defined as 9.80665. 9.81 is the value in central Europe but probably not what Bosch used for calibration.

And is there a official source for this fomula (rawdata/sensitivity=my actual meseaured value)? I need an official source as I am writing an academic paper.

Is EN (DIN) 1305 official enough? That's not a source for your mentioned formula but for the standard definition of g. Your formula is not officially defined as it's just common sense or simply logical.

The "official source" for the sensitivity constant is the manufacturer. The measurement is subject to various sources of error, as detailed in the device data sheet, which you should carefully consider.

The data sheet is all you need to quote for an academic paper.

If you want to increase the accuracy of the data obtained using a sensor, you can always recalibrate the sensor yourself, by comparing the measurements to those obtained using better instruments and rescaling the raw data appropriately.

For some kinds of science uncalibrated equipment is a poor choice. And remember even with calibrated
equipment you should read the calibration reports the next time the equipment is calibrated to see if it
fell out of calibration during the period you used the equipment - you may have to redo the experiment
if so. For important experiments you may need to arrange for pre- and post-calibration - in fact some
kinds of science are all about measuring, estimating and eliminating sources of error :slight_smile:

With uncalibrated equipment its really up to you to calibrate yourself, and possibly perform control runs
to estimate repeatability and equipment performance baselines. With cheap hardware you can compare
several units against each other to improve confidence.

Even if your results are not requiring great accuracy you should still at least provide an estimate of error
magnitudes in the methodolgy.