I want to communicate with BHI160 by Arduino UNO and get only acceleration and angle uncalibrated, but Arduino UNO can't download the source code(https://github.com/BoschSensortec/BoschSensorHub) because of the large data size. So, I am trying to write code which is small data size,but I have difficulity to understand the complicated source code.
Does anyone have the simple code like the below zip file?
Solved! Go to Solution.
It's definitely a bit of a shame that there's so much overhead needed to offload the fusion algorithms, I wish the BNO055 was still around as it was so easy to just poll registers.
Once I get everything working with my ESP32, I plan to pare down the library to the essentials and see how small I can get it. But the smallest firmware file is 58KB when in the .h format. The .fm file is ~20KB so best case scenario you're using 2/3rds of the UNO's flash just to deliver the firmware. These chips are made to conform to the android standard which is the main market for IMUs, and it's a trivial overhead for that. Just seems trivial once you have all this to have persistent firmware and some extra registers but I've never designed an ASIC so I'm just whining.
The UNO isn't really fast enough for fusion in my opinion, so unless you find a source for BNO055s (or 085s, but i never used those) you'll probably need to upgrade.
Noticed you wanted uncalibrated data, I'd probably go with the BMI160 (really confusing naming, as the BHI160 is the sensor hub with internal BMI160). There's a chance you could tap into the ASDA and ASCK lines to talk directly to it, but that seems a bit... optimistic.