Qwiic OLED Micro Breakout and ESP32 Thing Plus WROOM

Hey All - I have an ESP32 Thing Plus WROOM https://www.sparkfun.com/products/15663 and the QWIIC OLED |https://www.sparkfun.com/products/14532 and am trying to get the display to work with Arduino code. No matter what sample I try I cannot get the OLED to light up. I have verified that it works by swapping it in to my Jetbot but otherwise no luck on the ESSP32. Does anyone have a working QWIIC OLED example with Arduino and the ESP32? If so I’d really appreciate it.

Thanks!

-Joe

Hey,

I’m unsure of your set up with Arduino IDE, but I’ll share my experience since I recently picked up these two items.

Since you’ve verified that the Qwiic OLED works by swapping to Jetbot, I would suspect maybe it has something to do with the Arduino IDE set up with this particular board. I noticed that when I first set up this board for use in the Arduino IDE that the board required a few more “steps” that were listed in the [Hookup Guide. Such a peculiar step was having to install CP2104 USB Driver and having to add, in Preferences, the Additional Board Manager. If you’ve gone through all of the steps in the Hookup Guide and it still isn’t working in the Arduino IDE, then I am unsure and may further merit technical support from SparkFun.

TL;DR: What helped me most was using the [Hookup Guide for Arduino IDE set up

I wish you all the best!

-Nicole](https://learn.sparkfun.com/tutorials/esp32-thing-plus-hookup-guide?_ga=2.6409905.208731692.1600553141-1372981887.1599064231#software-setup)](https://learn.sparkfun.com/tutorials/esp32-thing-plus-hookup-guide?_ga=2.6409905.208731692.1600553141-1372981887.1599064231#software-setup)

Thanks Nicole! Unfortunately I do have the esp32 working, I can load blink and set the ESP32 up as a wifi client. I’ll keep digging around to get that OLED working :slight_smile:

-Joe

I still can’t get this to work, if anyone has a sample of the OLED and ESP32 Thing Plus WROOM working I’d love to see it. So with the SF Micro USB I can get the QWIIC OLED to work

/* Example script to connect to show Qwiic Pro and 
 * OLED use. 
*  Device:  SF Qwiic Pro Micro - USB-C
*   https://www.sparkfun.com/products/15795
*  OLED: SF QWIIC Micro OLED  
*   https://www.sparkfun.com/products/14532
*  
* On Mac 
* Board: Sparkfun Pro Micro
*  Speed: 115200 
*  Atmega 32U4 5V 16mhz
*  /dev/cu.usbmodem14101
*
*/

#include <Wire.h>
#include <SFE_MicroOLED.h>

//OLED Settings
#define PIN_RESET 7 // Doesn't matter since not really i2c
#define DC_JUMPER 1 // No idea
MicroOLED oled(PIN_RESET, DC_JUMPER);


void setup() {
  Wire.begin();
  Serial.begin(115200);
  oled.begin();    // Initialize the OLED
  oled.clear(ALL); // Clear the display's internal memory
  oled.display();  // Display SF Flame
  delay(2000);     // Pause to see if the logo shows
  oled.clear(PAGE);

}

void loop() {
  //I think this is where the LED will display. 
  Serial.println("Should be printing");
  oled.setCursor(0, 0);
  oled.print("HelloWord");
  delay(1000);
  oled.display();
  delay(1000);
  oled.clear(PAGE);
  
}

If I do the same thing on the ESP32 WROOM I cannot get the display to work , the only difference is the board is https://www.sparkfun.com/products/15663 . I change the board to a Adafruit ESP32 Feather and reload with no luck. I can get WiFi to work and even the SparkX Qwiic LED stick, just not the Qwiic OLED. Showing the code below, but literally the only difference is the comments.

/* Example script to connect to show basic ESP32 connectivity   
 * OLED use. Except no OLED use yet. 
*  Device: SF ESP32 Thing+ WROOM 
*   https://www.sparkfun.com/products/15663
*  OLED: SF QWIIC Micro OLED  
*   https://www.sparkfun.com/products/14532
*  
* On Mac 
* Board: Adafruit ESP32 Feather
*  Speed: 921600 
*  80Mhz,Default,None
*  /dev/cu.SLAB_USBtoUART 
*
*/
#include <Wire.h>
#include <SFE_MicroOLED.h>

//OLED Settings
#define PIN_RESET 7 // Doesn't matter since not really i2c
#define DC_JUMPER 1 // No idea
MicroOLED oled(PIN_RESET, DC_JUMPER);

void setup() {
  Wire.begin();
  Serial.begin(115200);
  oled.begin();    // Initialize the OLED
  oled.clear(ALL); // Clear the display's internal memory
  oled.display();  // Display SF Flame
  delay(2000);     // Pause to see if the logo shows
  oled.clear(PAGE);

}

void loop() {
  //I think this is where the LED will display. 
  Serial.println("Should be printing");
  oled.setCursor(0, 0);
  oled.print("HelloWord");
  delay(1000);
  oled.display();
  delay(1000);
  oled.clear(PAGE);  
}

Any help would be appreciated, have a great day!

Thanks,

-Joe

robojoe,

Are you able to use other I2C devices with the ESP32 Thing Plus?

Hey Brandon - Great question! I tried with the SparkX Temperature and Humidity sensor and a SparkX LED Stick and neither worked. I tried another ESP32 I had (and forgot I purchased) and the OLED worked along with all of the other Qwiic devices. Should I send this ESP32 back or would you like me to try something?

Cheers,

-Joe

If other devices don’t work on the controller in question but do work on a different ESP32 controller, then I would agree that the controller in question is probably defective. If you bought it directly from the SparkFun website, fill out the form [on this page with your order number and the URL to this forum post and we will see what we can do to help.

If you bough the board from a distributor of ours you will need to contact them to see if they can replace it.](Return Policy - SparkFun Electronics)

Thanks so much for the help Brandon. I’ll remember that next time I should try to duplicate the problem on another piece of hardware. I would have saved some troubleshooting time :slight_smile:

Cheers,

-Joe