Using Qwiic OLED with Sparkfun Qwiic Micro

I am unable to run the Sparkfun demos from the posted library (both Micro_OLED_I2C.ino and Micro_OLED_Rick_and_Morty_I2C.ino). I have been able to get the screen working with the SAMD21 dev breakout, just no the Qwiic Micro. It looks like the two have different bootloaders but are otherwise the same chip. Any ideas why screen works fine with one board and not at all with the other?

With some troubleshooting on the Qwiic Micro, I found the demos hung on the ```
oled.begin();


Thanks for the help or any tips on this issue.

Hi dave_design,

My guess the issue here is the Qwiic Micro uses somewhat unique pins for SDA and SCL on the I2C bus (at least different than the SAMD Dev Breakout). Try modifying the Wire.begin(); function in the examples to declare those pins like this:

Wire.begin(0, 8);

That should initialize the I2C bus properly and you’ll be able to continue on with your code. If that does not work, let me know and we can troubleshoot further.

I had problems with the qwiic microoled display and the demos with the Artemis boards and the UNO board. No Display.

Eventually found if I updated the i2cSetup routine with the 2 noted lines it works:

hardware.cpp downloaded with the microoled libraries:

void MicroOLED::i2cSetup()

{

Wire.begin();

Wire.setClock(400000);

}

Github says wire.begin was removed for some reason.

It was just a guess based on other i2c programs that seemed to be missing.