Qwiic OLED Arduino Library - Error in V 1.0.15 - qwiic_grch1120.cpp

Getting this error with 1.0.15, reverting back to 1.0.10 resolves it.

Found the line in the CPP file, but too new to programming to know what to fix. Tried replacing the ‘printf’ with ‘print’ and that caused a bunch of errors…

Thanks in advance! TR

Hi Travis (@Travis_Rowe ),

It would be best to report this as an Issue on GitHub. When you open the issue, please tell us which Board, Board Package and Package Version you are using.

Thank you,
Paul

@Travis_Rowe

I took a quick look at the code which is causing that error. To my eyes, it looks like printBuffer and rawPrintBuffer were included for testing and should have been removed. They are hard-coded to Serial, which will cause other problems. They aren’t used anywhere else in the Library, I strongly suspect they should have been deleted.

I’ve opened an issue for this - to save you the trouble.

If you want to fix this yourself, you can edit the Library source code and remove or comment: these two lines; and these lines.

Best wishes,
Paul

1 Like

Thanks for the quick resolution!

I should have noted the hardware:

UnoR4Wifi

SparkFun Qwiic OLED - (1.3in., 128x64) - LCD-23453

I will look into GitHub.

TR

Hello Paul,

Made the recommended library changes by commenting out the lines. This allowed the code to compile without issue. But now OLED displays on multiple Uno’s all show garbled snow, you can see they are trying to show some of the data, but clearly the registrations are off. I have uninstalled and reinstalled the library (and others) to no avail. Snow shows on prior working and demo programs.

Hi Travis (@Travis_Rowe ),

It looks like there is an issue with SSD1306 / I2C on the Arduino Uno R4 Boards 1.5.2. Please see this GitHub issue.

If I run the OLED examples on R4 Boards 1.5.2, I see garbled pixels - as reported in that GitHub issue.

If I downgrade to Boards 1.5.1, the examples work OK. Apart from the random pixel example - inside Example-08_Multi. That runs really slowly… I don’t know why.

My setup:
Arduino R4 WiFi
Arduino Renesas UNO R4 Boards v1.5.1 / 1.5.2
SparkFun 1.3" OLED connected via Qwiic
SparkFun_Qwiic_OLED_Arduino_Library v1.0.15 - with QwGrCH1120::printBuffer and QwGrCH1120::rawPrintBuffer commented out - as described above
SparkFun_Toolkit v1.2.0
Arduino IDE 1.8.19 - yes, really!
Modifications for the 1.3" OLED and Wire1:

Qwiic1in3OLED myOLED;

void setup()
{
    Wire1.begin();

    myOLED.begin(Wire1);

I hope this helps,
Paul

THANKS Paul,

You are absolutely correct, this solved the display issue. All of my simple programs are working again. On a program that uses the LED matrix and an OLED, I get the following in the serial monitor:

# Firmware name: “C:\Users\trowe\AppData\Local\arduino\sketches\908A03F6A0FB04DE6B3B6BBD261762B7/ssd1306_128x64_i2c.ino”, compiled on: Feb 2 2026
Fault on interrupt or bare metal(no OS) environment
===== Thread stack information =====
addr: 20007eb0 data: 00000038
<>
addr: 20007efc data: 00002599

# =================== Registers information ====================
R0 : 200007b8 R1 : 00000004 R2 : 00000004 R3 : 00000078
R12: 00000000 LR : 000045f7 PC : 00000000 PSR: 80000000

Usage fault is caused by attempts to switch to an invalid state (e.g., ARM)

Which appears to have something to do with the reverting back?? Note that it crashes right when the OLED is supposed to start. Also, a program with all the same without the LED matrix runs perfectly.

Specifically stating that the OLED is on Wire1 eliminated the confusion with the LED Matrix…

Using:
myOLED.begin(Wire1);

resolved it!
Thanks again!!

1 Like