# My display won't turn on. ESP8266/ SSD1306 (SPI 128x64)

**URL:** <https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130>\
**Category:** Questions\
**Created:** [April 25, 2023, 7:38pm UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130 "2023-04-25T19:38:32Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![aliocha.taupin](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aliocha.taupin/32/4933_2.png) [@aliocha.taupin](https://wled.discourse.group/u/aliocha.taupin)\
**Post date:** [April 25, 2023, 7:38pm UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/1 "2023-04-25T19:38:32Z")

</div>

Hello,

Here is the continuation of the manufacture of the lamp for my niece.  
I had a discussion with my sister and given that the lamp is for a child, it would be preferable to have an interface that is not exclusively on the phone.  
This is why, taking advantage of the [usermod](https://wled.discourse.group/t/rotary-encoder-presets-change-binary-issues/8083) preinstalled on the Aircookie .bin, I connected an [OLED screen](https://www.amazon.fr/dp/B07G4JN2B9?psc=1&ref=ppx_yo2ov_dt_b_product_details) and configured the pins in the WLED preferences.  
However, the screen does not turn on.  
I restarted the esp8266, tried between 5v and 3.3v, used different GPIOs.  
I checked with another same screen.

Maybe the bin i chose isn’t made with alt version of the 4Linedisplay.  
How can i see the code of the .bin?

Can anyone help me?

THANKS

---

<div class="post-metadata">

**Author:** ![aliocha.taupin](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aliocha.taupin/32/4933_2.png) [@aliocha.taupin](https://wled.discourse.group/u/aliocha.taupin)\
**Post date:** [April 26, 2023, 7:26am UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/2 "2023-04-26T07:26:18Z")

</div>

In the meantime I’m trying to set up a custom .bin with rotary and 4linedisplay I get an error message which I haven’t seen yet and google searches aren’t helping much.

This is the message :

> Linking .pio\build\nodemcuv2\firmware.elf  
> c:/users/homepc/.platformio/packages/toolchain-xtensa/bin/…/lib/gcc/xtensa-lx106-elf/10.3.0/…/…/…/…/xtensa-lx106-elf/bin/ld.exe: .pio\build\nodemcuv2\firmware.elf section `.text1' will not fit in region `iram1\_0\_seg’  
> collect2.exe: error: ld returned 1 exit status  
> \*\*\* [.pio\build\nodemcuv2\firmware.elf] Error 1 \<

Thanks

---

<div class="post-metadata">

**Author:** ![blazoncek](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/blazoncek/32/1886_2.png) [@blazoncek](https://wled.discourse.group/u/blazoncek)\
**Post date:** [April 26, 2023, 8:18am UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/3 "2023-04-26T08:18:54Z")

</div>

You need to add these 3 line to your build environment PIO `build_flags`:

```auto
  -D USERMOD_FOUR_LINE_DISPLAY
  -D USERMOD_ROTARY_ENCODER_UI
  -D USE_ALT_DISPlAY

```

and update `lib_deps` to include U8x8 library:

```auto
  olikraus/U8g2
  Wire

```

Or use pre-compiled binaries from @srg74 Github repository.

---

<div class="post-metadata">

**Author:** ![aliocha.taupin](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aliocha.taupin/32/4933_2.png) [@aliocha.taupin](https://wled.discourse.group/u/aliocha.taupin)\
**Post date:** [April 26, 2023, 10:34am UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/4 "2023-04-26T10:34:05Z")

</div>

> [@blazoncek](#):
>
> ```auto
> -D USERMOD_FOUR_LINE_DISPLAY
> -D USERMOD_ROTARY_ENCODER_UI
> -D USE_ALT_DISPlAY
> 
> ```

Hello Blazoncek and thank you for responding.

I did what you advised me and (maybe I did it wrong) but nothing changes, still the same error.  
I attach my platformio.overide.  
Do I need to modify other files (usermodlist?) or platformio is enough?

> [platformio]  
> default\_envs = nodemcuv2  
> ; default\_envs = esp32dev
> 
> [env:nodemcuv2]  
> board = nodemcuv2  
> platform = ${common.platform\_wled\_default}  
> platform\_packages = ${common.platform\_packages}  
> board\_build.ldscript = ${common.ldscript\_4m1m}  
> build\_unflags = ${common.build\_unflags}  
> build\_flags = ${common.build\_flags\_esp8266} -D WLED\_RELEASE\_NAME=ESP8266 #-DWLED\_DISABLE\_2D  
> -D USERMOD\_FOUR\_LINE\_DISPLAY -D FLD\_PIN\_SCL=5 -D FLD\_PIN\_SDA=4  
> -D USERMOD\_ROTARY\_ENCODER\_UI -D ENCODER\_DT\_PIN=12 -D ENCODER\_CLK\_PIN=14 -D ENCODER\_SW\_PIN=13  
> -D USERMOD\_AUTO\_SAVE -D AUTOSAVE\_PRESET\_NUM=1  
> -D LEDPIN=3 -D BTNPIN=0  
> lib\_deps = ${esp8266.lib\_deps}  
> monitor\_filters = esp8266\_exception\_decoder
> 
> [env:esp32dev]  
> board = esp32dev  
> platform = espressif32@3.2  
> build\_unflags = ${common.build\_unflags}  
> build\_flags =  
> ${common.build\_flags\_esp32}  
> -D USERMOD\_MODE\_SORT  
> -D USERMOD\_FOUR\_LINE\_DISPLAY -D FLD\_PIN\_SCL=22 -D FLD\_PIN\_SDA=21  
> -D USERMOD\_ROTARY\_ENCODER\_UI -D ENCODER\_DT\_PIN=18 -D ENCODER\_CLK\_PIN=5 -D ENCODER\_SW\_PIN=19  
> -D USERMOD\_AUTO\_SAVE -D AUTOSAVE\_PRESET\_NUM=1  
> -D LEDPIN=16 -D BTNPIN=13  
> upload\_speed = 460800  
> lib\_ignore =  
> ESPAsyncTCP  
> ESPAsyncUDP
> 
> [env:d1\_mini]  
> board = d1\_mini  
> platform = ${common.platform\_wled\_default}  
> platform\_packages = ${common.platform\_packages}  
> upload\_speed = 460800  
> board\_build.ldscript = ${common.ldscript\_4m1m}  
> build\_unflags = ${common.build\_unflags}  
> build\_flags =  
> ${common.build\_flags\_esp8266}  
> -D USERMOD\_FOUR\_LINE\_DISPLAY  
> -D USERMOD\_ROTARY\_ENCODER\_UI  
> -D USE\_ALT\_DISPlAY  
> monitor\_filters = esp8266\_exception\_decoder
> 
> [env]  
> lib\_deps =  
> fastled/FastLED @ 3.5.0  
> NeoPixelBus @ 2.6.0  
> ESPAsyncTCP @ 1.2.2  
> ESPAsyncUDP  
> AsyncTCP @ 1.0.3  
> IRremoteESP8266 @ 2.7.3  
> [GitHub - lorol/LITTLEFS: LittleFS library for arduino-esp32](https://github.com/lorol/LITTLEFS.git)  
> [GitHub - Aircoookie/ESPAsyncWebServer: Async Web Server for ESP8266 and ESP32](https://github.com/Aircoookie/ESPAsyncWebServer.git) @ ~2.0.0  
> olikraus/U8g2  
> Wire

THANKS

---

<div class="post-metadata">

**Author:** ![srg74](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/srg74/32/3018_2.png) [@srg74](https://wled.discourse.group/u/srg74)\
**Post date:** [April 27, 2023, 10:27pm UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/6 "2023-04-27T22:27:32Z")

</div>

bin file is available here [WLED-wemos-shield/WLED\_0.14.0-b2\_esp8266\_display\_rotary.bin at master · srg74/WLED-wemos-shield · GitHub](https://github.com/srg74/WLED-wemos-shield/blob/master/resources/Firmware/%40Aircoookie/v0.14.0-b2/WLED_0.14.0-b2_esp8266_display_rotary.bin)

---

<div class="post-metadata">

**Author:** ![aliocha.taupin](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aliocha.taupin/32/4933_2.png) [@aliocha.taupin](https://wled.discourse.group/u/aliocha.taupin)\
**Post date:** [April 28, 2023, 5:42am UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/7 "2023-04-28T05:42:59Z")

</div>

Hey Srg74, thank you for taking the time to respond.  
It seems to me that I have already tried with this bin, precisely on the subject that I posted and nothing happens. The encoder works very well (a few bounces anyway) but the screen does not light up. I will still try to reflash.

---

<div class="post-metadata">

**Author:** ![aliocha.taupin](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aliocha.taupin/32/4933_2.png) [@aliocha.taupin](https://wled.discourse.group/u/aliocha.taupin)\
**Post date:** [April 28, 2023, 6:00am UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/8 "2023-04-28T06:00:43Z")

</div>

Well, I just flashed again with this .bin and it’s the same thing.  
The encoder works perfectly but the screen does not light up.  
In the settings I see that both usermods are activated.  
I tried different pins, different screen types. Here is a screenshot of the settings.

 ![Capture d'écran 2023-04-28 080009](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/4/40d7c270ccbc69048255d76ab30f7bb4a66eb466.png)  
 ![Capture d'écran 2023-04-28 080017](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/3/3c45fa0ca47ad5412ff4c99e94f7258d6f330c6f.png)

---

<div class="post-metadata">

**Author:** ![srg74](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/srg74/32/3018_2.png) [@srg74](https://wled.discourse.group/u/srg74)\
**Post date:** [April 28, 2023, 1:21pm UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/9 "2023-04-28T13:21:48Z")

</div>

You didn’t set SPI pins. Depends on your display it must be set accordingly. Post a picture of your display.

---

<div class="post-metadata">

**Author:** ![aliocha.taupin](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aliocha.taupin/32/4933_2.png) [@aliocha.taupin](https://wled.discourse.group/u/aliocha.taupin)\
**Post date:** [April 28, 2023, 1:47pm UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/10 "2023-04-28T13:47:18Z")

</div>

![IMG_1070](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/a/a65abaf7e6c5c8d09cd0f67c368e6a38d0a02fc7.jpeg)  
 ![IMG_1071](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/d/d1cb669fbaefb030631a7c4d5c3df37c0720d9d3.jpeg)

[This one](https://www.amazon.fr/dp/B07G4JN2B9?psc=1&ref=ppx_yo2ov_dt_b_product_details)

---

<div class="post-metadata">

**Author:** ![srg74](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/srg74/32/3018_2.png) [@srg74](https://wled.discourse.group/u/srg74)\
**Post date:** [April 28, 2023, 2:45pm UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/11 "2023-04-28T14:45:38Z")

</div>

You should put clock pin 5 and data pin 4 and choose I2C display not SPI.

---

<div class="post-metadata">

**Author:** ![aliocha.taupin](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aliocha.taupin/32/4933_2.png) [@aliocha.taupin](https://wled.discourse.group/u/aliocha.taupin)\
**Post date:** [April 28, 2023, 7:16pm UTC](https://wled.discourse.group/t/my-display-wont-turn-on-esp8266-ssd1306-spi-128x64/8130/12 "2023-04-28T19:16:17Z")

</div>

Thank you very much,  
it was the type of screen that was the problem.  
It works now, it’s beautiful !  
I’ll post the result when finished.
