I have just purchased the BNO055 sensor and am looking to use it with an Arduino board as an IMU sensor. I am specifically interested in obtaining Euler angle outputs. I am currently using the sample code, "rawdata", in Arduino IDE to obtain Euler angle measurements but am a bit unclear on what coordinate axes the outputted Euler angles are relative to. Is it the coordinate axes of the sensor each time it is powered on, or an absolute coordinate axes? Based on my own testing, it seems to be a combination of these, but it's possible that I'm somehow not using the sensor in the way that it's intended to be used. For example, no matter what Yaw angle I put the sensor in before powering it on, the sensor seems to initialize its starting Yaw angle as 0. This was not true, however, for the Roll and Pitch angles, as their initial values changed based on what the orientation of the sensor was when it was powered on.
By default, the BNO055 starts every time with its own coordinate system which describe in datasheet.
if you want it to match your system coordinate, you need to configure the axis remapping register, please refer to chapter 3.4 in BNO055 datasheet.
BNO055 by default starts from Android defination of Eular angles. You can find detail defination in following link.
Is the sensor being initialized properly? According to the datasheet, there are 5 fusion modes, but only 3 of them will provide absolute orientation data. The other two are relative - one of them, i suspect, is the mode you're using. NDOF mode is likely what you're looking for. NDOF would be 0x1C, I believe.