Botch changed the hardware functionality of the BNO055 (a pinout change) without changing the part number of the chip! Hello, McFly.
Not sure if "Botch" was an intentional misspelling, but it sure fits.
I've written here before about how they completely screwed up another IMU chip of theirs. We consume a fair number of BMI160's, which we selected after extensive evaluation. We wanted a very recent part (so it would be in production for a nice long time), we electrically and firmware tested it in a variety of conditions (because we've seen horrific operational reliability problems in similar parts), etc. The BMI160 checked the boxes, so we designed it in. And all was well - for a while.
When this availability nonsense came along, suddenly the BMI160 1) was out of stock everywhere, and 2) had a recommended replacement on Bosch's website! After maybe a whopping
two years of production. But Bosch would not give a final production date... in their "support" forums they screamed at me for even suggesting that the BMI160 was going out of production, calling me out for spreading lies when all I asked was what did they think would be the BMI160's retirement date. I kid you not. Keep in mind that their own BMI160 webpage was recommending a newer part for current and future designs. Interpret that how you will.
As for that replacement part... yeah, some replacement. Utterly incompatible in every conceivable way, including - again, I must stress I'm not making this up - its requirement that you download a full 8KB firmware image every single time it powers up. That's right, the part is nonfunctional at powerup and requires its host to program it with an 8KB firmware image which they courteously make available at GitHub. News flash: That doesn't work well for embedded applications, where 8KB can represent a significant percentage of the MCU's entire program memory space.
They had lots of alternatives here. They could have used flash memory in the device and programmed it at the factory with a basic set of firmware so it could be used straight off the reel. If yours is an embedded application, you could thus treat it as a normal device. Meanwhile those applications wanting to update the firmware, and having the memory space and/or Internet access to do so, would still have that flexibility. A win-win for everyone. But no, this "recommended replacement" is fundamentally incompatible with a huge percentage of embedded environments. And this comes after just a couple of production years of the original device.
We spent a huge amount of time and money qualifying and approving this Bosch (Botch?) device. And then they pulled this. I warn everyone I can with this story so they don't get burned like we did. Companies need lots of negative feedback to discourage such behavior.
Yeah, I'm still angry about it. Can you tell?