We recently acquired the BNO055 USB Stick for evaluation and noticed that the UART protocol to communicate with the device does not match the one specified in the datasheet (verified by running the development desktop and using a serial port sniffer). I was unable to locate any updated documentation regarding the protocol actually being used.
Does anyone know where this document or example exists ?
For example, the datasheet says you can 'read' a register using 4 bytes, 0xaa 0xXX 0xXX 0xXX however the device does not respond and using the serial sniffer the following bytes are actually sent : aa 0e 01 00 41 16 01 07 01 01 01 00 0d 0a.
Solved! Go to Solution.
There is a microcontroller that is in between the BNO055 and the USB port. It is connected via I2C and other relevant GPIOs internally to the BNO055. The microcontroller uses a different protocol to that of the BNO055's UART protocol. It implements a Bosch Sensortec proprietary USB-SPI/I2C/GPIO bridge protocol known as COINES. Refer to my colleagues response to a similar query here to read sensor data out using the BNO055 USB stick.
Thank you for your response. I saw the COINS discussion which requires use of a Windows DLL. Unfortunately we need to perform our verification on a custom Linux system that requires access to the protocol or at least a Linux library that can be compiled for a custom platform.
Any ideas ?
I have found a donwload that is promising, I will evaulate it and see if it will do what I need for our custom ARM Linux platform, thank you.
For others I went to : https://www.bosch-sensortec.com/bst/support_tools/downloads/overview_downloads and went to the 'software' tab for downloads and clicked on the "COINES" plus.
Unfortunately I still do not see a path to using the USB Stick under Linux. The serial protocol looks fairly straightforward, is there no source code for this protocol ? It would be a shame to be unable to evaluate the sensor for our target environment over a simple serial protocol. I have seen others simply captuing the serial communication and "replaying" it to do what they want but that is a difficult mode to support in the long run.