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.
Yes, as an IMU, I am not sure I understand your question. Basically I need to evaluate it as part of a larger Linux system performing all sorts of different functions and having orientation, etc it one of the requirements.
Right now I am looking at buying the version that connect to the Arduino and just use it over I2C but it would have been nice to know ahead of time that the datahseet was incorrect that we could just write our own serial driver protocol to integrate it into our system.
We like the IMU functionality seen in the software now we just need to make it work in our system.
Jason, you can get the BNO055 in a non-USB format from many vendors. They have an I2C and IIRC a couple other bus types. There is another vendor in Switzerland that has a USB type BNO055 as well as Bosch's called Yoctopuce. I don't know if is actually the same board as Bosch makes. Bear in mind that the software for the I2C bus and such was too difficult for me to write, even using the Bosch-supplied C stubs. It's a maze of twisty passages all different.
My target was a Raspberry Pi (RPi.) If that's of any help to you.
The COINES version under Linux do NOT support BNO USB stick right now.
The current way to evalute it is using generic API under windows or directly throug the DD2.0 to run with this USB stick.
If you want to use BNO055 under Linux, you can try BNO055 shuttle with break out board for existing Linux platform.