Are the values of the axes in mili g not standard g so I have to devide them by 1000 and multiplicate by 9.81 to get m/s²?

Other Question:

I've set the BMA280 Bandwidth to 500Hz and provided to xTimerCreate a one milisecond delay and one milisecond of autoreload. But the XDK prints only rount about 400 values each second instead of 1000. What could cause that?

the z-axis shows a value of 1011 because it is converted to milli G. As you proposed, you would have to divide by 1000 and multiply by 9.81 to convert it to m/s^s.

As for why you only get 400 results per second, despite attempting to produce results every millisecond. Output via USB is very time-consuming, as such, it takes more than one tick to read the data and to print it. In some cases, it even takes three ticks.

An absolute frequency of 500Hz is not possible, if your print every single set of data immediately.

My colleague discussed this in detail in this thread here , in case you are interested.

Please tell me if this was helpful, and do not hesitate to ask further questions.

by sending bigger packages you will likely achieve a higher rate, but since USB will still be quite the bottleneck, optimizing the frequency will be difficult.

If you plan to send messages via WiFi, you will have even more options in regards to how messages are sent. This is because the simplelink chip processes and sends messages asynchronously from the XDK's MCU.

So, if you stay with USB, I recommend to optimize sending as much as possible (i.e. minimze the number of bytes you send, and how often you send them). Of course, I can give advice in that regard as well. Otherwise, if you plan to use WiFi or BLE, I would recommend to implement the communication using one of those modules, before optimizing the transmission.

Please tell me if this was helpful, and do not hesitate to ask further questions.