Do you run Arduino code on the PIC18 ? Have you added a special "board" in the Arduino IDE ?
The Arduino Wire library uses the 7-bit shifted I2C address.
I think that is 0x28 in the scope picture. The BNO055 has 0x28 (or 0x29). But there is no acknowledge.
I don't know what is going on. I would look into these things:
Perhaps the scope is connected to the I2C bus and the sensor is not.
Perhaps the sensor is not powered.
Perhaps a jumper wire is broken.
Perhaps you use address 0x29 or a other mode for the sensor and forgot to put it back.
Didn't know it was possible to run Arduion code on a pic but it sounds interesting. Don't know about a special "board".
I have tried both 0x28 and 0x29.
I have measured the levels and buzzed out all the connections on the BNO055.
On page 91 of the data sheet it says "Both lines are connected to VDDIO externally via pull-up resistors so that they are pulled high when the bus is free." I tried putting 4.7K pull ups on the SCL and SDA pins anyway but that didn't work.
The BNO055 is a trouble maker. It needs clock stretching and does not always behave nice. I forgot what the trouble was, but there are known issues with the BNO055.
Can you add more decoupling capacitors ?
100nF, 100µF whatever you have. Add a number of them.
The Adafruit module is for 3.3V and for 5V. It has a voltage regulator and level shifters. Those are in the way.
The voltage regulator is the MIC5225-3.3 and has a voltage drop of about 100mV, because the BNO055 uses less than 1mA. That is not so bad.
The level shifters are mosfets. They make the signal weaker.
Suppose that you run it on 3.1V instead of 3.3V, then all those things together might cause trouble.
Perhaps the PIC18 has a timing problem that the scope does not show.
That is everything I can think of
Solution: Get rid of everything. Buy a modern processor and a sensor that has no issues. When using a 3.3V processor, buy sensors without voltage regulators and without level shifters.