Adafruit's BNO055 sensor is a very accurate and powerful sensor, but Adafruit's own code for it doesn't work. The output of their Euler angles using event.orientation.x() doesn't give accurate readings. You have to set the sensor mode to NDOF mode, use quaternions and convert them to euler angles for accurate readings (the datasheet goes into detail about modes in section 3.3). This codes implements Adafruit's persistent calibration data using the EEPROM, it gives accurate readings using the method I just described, and it fixes Adafruit's bunny example (no need to change the Processing code!)