Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By markdh102
#81532 I have the Heltec Kit 8 WiFi with OLED. As the title says, the OLED is wired to GPIO16 (and can't easily be changed).
I want to run in low power which involves connecting GPIO16 to the RESET pin of the ESP8266.
The first thing that the display code does is toggle GPIO16 to reset the display.
So my guess, is I can't use the OLED and DeepSleep together.
Can someone confirm this and if someone has a workaround it would be gratefully received...
User avatar
By tahmed
#84216 The Kit 8 board does not have any components on the track between ESP8266 and OLED connector so can't change anything there.

However, you can use U8g2lib from https://www.arduinolibraries.info/libraries/u8g2

this will allow you to control OLED and configure the reset pin (see examples)
change this line for the reset pin from 16 to some other pin (not used) i.e. 14

U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ 16, /* clock=*/ 5, /* data=*/ 4);

Now you can solder a wire on Kit 8 from GPIO16/D0 pin to RST pin (both are available on the left, right connectors)

Why it will work:
the wake signal will wake up the ESP8266 through GPIO16 and will also rest the OLED at the same time
since OLED driver (U8g2lib library) will use GPIO14 (or some other pin as above) for reset it will not cause ESP8266 to go in reset.

I got it to work without issues..hope it helps you.