Wireless Data Streaming Using BNO055 and Bluetooth and Estimating Orientation Using Sensor Fusion

The very first way of translating movement into sound via motion capture which I decided to experiment with is using the Adafruit BNO055 absolute orientation sensor. The sensor fusion algorithms and blend accelerometer, magnetometer and gyroscope data into stable three-axis orientation output processed in Arduino and send them to Ableton Live via Bluetooth.

Bosch Adafruit BNO055

During the programming and calibration, I have encountered several problems. Programming and calibration are done in software MATLAB which at first didn’t allow me to upload the code into the Arduino so it could work standalone. Bluetooth module which I ordered was not supported therefore I ordered different one so programming Arduino and calibration were executed via USB cable. Programming and calibration were somewhat successful and I managed to connect the device with Ableton Live via Max fro Live plugin Arduino although after I disconnected USB I had to write the whole code again and keep the device connected to the laptop. Later the device stopped reacting and after enabling Arduino plugin in Ableton Live, the program from MATLAB started showing an error. At this point I need to figure out how to upload the program from MATLAB into the Arduino chip.

From the top: Bluetooth Module (unsupported type – will be replaced by HC-05), Arduino Uno, BNO055
Simple wireless motion capture data streaming device assembled
Programming and calibration of the device in MATLAB
Various positioning of the device reacts to the Arduino plugin in Ableton Live and changes the parameters of the mapped Low Pass Filter in quite a simple way.

Loading the code to an Arduino chip from MATLAB appeared to me as a very complicated process therefore I decided to try a different route – loading code from the original Arduino software IDE. I managed to load the code and run the calibration test of the program via Chrome browser extension, still connected via USB. Next step will be to figure out how to connect BNO055 and make its principles work with Ableton Live either via existing Connection Kit or by finding or creating a device from Max For Live and figuring out the connection via Bluetooth instead of USB cable.

Leave a Reply

Your email address will not be published. Required fields are marked *