Adafruit FeatherWing OLED - 128x64 OLED does not display

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
agadong
 
Posts: 9
Joined: Fri Oct 21, 2016 1:05 pm

Adafruit FeatherWing OLED - 128x64 OLED does not display

Post by agadong »

Purchased the Adafruit FeatherWing OLED - 128x64 OLED Add-on For Feather - STEMMA QT / Qwiic, soldered the headers on and plugged it in to the Adafruit Feather HUZZAH ESP8266. Ran the test sketch and the OLED displayed nothing. Checked if driver was properly installed and it was. Checked continuity of sda,scl, and power on the OLED board. To be sure, resoldered the connections and checked the voltage directly on the pins on the OLED board. The serial monitor shows the sketch is executing:
zI{⸮ ⸮8V⸮⸮OLED FeatherWing test
18:15:15.612 -> OLED begun
18:15:16.627 -> IO test
I connected a compatible OLED with a different address that I had to the Feather HUZZAH ESP8266 and it displayed the OLED test. Looks like a DOA and replacement is in order. Pictures are attached for your reference.
Attachments
OLED 5.jpg
OLED 5.jpg (545.78 KiB) Viewed 578 times
OLED 3.jpg
OLED 3.jpg (571.13 KiB) Viewed 578 times
OLED 1.jpg
OLED 1.jpg (495.57 KiB) Viewed 578 times

User avatar
Franklin97355
 
Posts: 23910
Joined: Mon Apr 21, 2008 2:33 pm

Re: Adafruit FeatherWing OLED - 128x64 OLED does not display

Post by Franklin97355 »

Hi, could you post the modified code (if any) you used to display in the picture?

User avatar
agadong
 
Posts: 9
Joined: Fri Oct 21, 2016 1:05 pm

Re: Adafruit FeatherWing OLED - 128x64 OLED does not display

Post by agadong »

The IC2 address on the working display is 0x78 while the defective Feather OLED has a IC2 address of 0x3C. With different addresses both can work on the IC2 port. The A, B and C buttons, also, test ok and can used as switches in a sketch. Nice display if it was working.

The test sketch is the same as provided in instruction :

Code: Select all

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire);

// OLED FeatherWing buttons map to different pins depending on board:
#if defined(ESP8266)
  #define BUTTON_A  0
  #define BUTTON_B 16
  #define BUTTON_C  2
#elif defined(ESP32)
  #define BUTTON_A 15
  #define BUTTON_B 32
  #define BUTTON_C 14
#elif defined(ARDUINO_STM32_FEATHER)
  #define BUTTON_A PA15
  #define BUTTON_B PC7
  #define BUTTON_C PC5
#elif defined(TEENSYDUINO)
  #define BUTTON_A  4
  #define BUTTON_B  3
  #define BUTTON_C  8
#elif defined(ARDUINO_FEATHER52832)
  #define BUTTON_A 31
  #define BUTTON_B 30
  #define BUTTON_C 27
#else // 32u4, M0, M4, nrf52840 and 328p
  #define BUTTON_A  9
  #define BUTTON_B  6
  #define BUTTON_C  5
#endif

void setup() {
  Serial.begin(9600);

  Serial.println("OLED FeatherWing test");
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32

  Serial.println("OLED begun");

  // Show image buffer on the display hardware.
  // Since the buffer is intialized with an Adafruit splashscreen
  // internally, this will display the splashscreen.
  display.display();
  delay(1000);

  // Clear the buffer.
  display.clearDisplay();
  display.display();

  Serial.println("IO test");

  pinMode(BUTTON_A, INPUT_PULLUP);
  pinMode(BUTTON_B, INPUT_PULLUP);
  pinMode(BUTTON_C, INPUT_PULLUP);

  // text display tests
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0,0);
  display.print("Connecting to SSID\n'adafruit':");
  display.print("connected!");
  display.println("IP: 10.0.1.23");
  display.println("Sending val #0");
  display.setCursor(0,0);
  display.display(); // actually display all of the above
}

void loop() {
  if(!digitalRead(BUTTON_A)) display.print("A");
  if(!digitalRead(BUTTON_B)) display.print("B");
  if(!digitalRead(BUTTON_C)) display.print("C");
  delay(10);
  yield();
  display.display();
} 

User avatar
mpotma
 
Posts: 5
Joined: Sun Jan 09, 2022 6:58 pm

Re: Adafruit FeatherWing OLED - 128x64 OLED does not display

Post by mpotma »

I'm having the same issue right now, except soldered directly to an RP2040 Featherwing board.

I ordered 4 OLED + RP2040s, have assembled two of them so far and neither are working. It seems odd that both would be DOA, but I'm not sure how to debug it. The basic LED fade example works on both assembled units.

User avatar
adafruit2
 
Posts: 22144
Joined: Fri Mar 11, 2005 7:36 pm

Re: Adafruit FeatherWing OLED - 128x64 OLED does not display

Post by adafruit2 »

SSD1306 driver wont work with SH1107 OLED, please follow the guide exactly to install the right driver :)

User avatar
mpotma
 
Posts: 5
Joined: Sun Jan 09, 2022 6:58 pm

Re: Adafruit FeatherWing OLED - 128x64 OLED does not display

Post by mpotma »

adafruit2 wrote:SSD1306 driver wont work with SH1107 OLED, please follow the guide exactly to install the right driver :)
I'm using the SH110X driver, code copied and pasted from here https://github.com/adafruit/Adafruit_SH ... erwing.ino

I opened another 1107 display + RP2040 and connected them via a Stemma QT, and still nothing from the example in that GH repo.

User avatar
adafruit2
 
Posts: 22144
Joined: Fri Mar 11, 2005 7:36 pm

Re: Adafruit FeatherWing OLED - 128x64 OLED does not display

Post by adafruit2 »

mptoma, please start a new thread - we are helpnig agadong in this one thanx

User avatar
agadong
 
Posts: 9
Joined: Fri Oct 21, 2016 1:05 pm

Re: Adafruit FeatherWing OLED - 128x64 OLED does not display

Post by agadong »

Thank You, it works! How could I miss something so simple. Probably need new glasses. ;)

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”