White Screen with ST7735S and ESP8266 #2814
Replies: 2 comments 3 replies
-
You must use the dedicated hardware SPI pins on an ESP8266. The Read_ID_bitbash is able to use any pins as it uses bit bashing, not the SPI hardware.
If you have a different ESP8266 board then the mapping of the Dx pins on a NodeMCU board to the GPIO is as follows: // These are the pins for ESP8266 boards #define PIN_MOSI 8 // SD1 FLASH and overlap mode #define PIN_D11 9 // SD2 |
Beta Was this translation helpful? Give feedback.
-
@Bodmer I'm just following up here. Can you explain why the ESP8266 is so difficult to get going with TFT_eSPI and why only certain pins work? I'm just trying to understand a bit better here. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
No matter what configuration and pins I set, I cannot get the screen to initialize. If I leave the pins the same, then plug the screen in to an ESP32 using the same sketch, the screen works fine. This is clearly an issue with ESP8266 only.
More Details:
IDE: Arduino 2.11 and PLatformIO with VSCode
TFT_eSPI ver: 2.5.0(latest)
Processor: ESP8266
Driver: ST7735
Interface: SPI (of course!)
Current User_Setup.h (that works on ESP32):
I just used the example Colour_Test sketch to test this. I also ran the Read_User_Setup to verify that the pins were being read correctly. To further verify, I made another sketch with a simple PIN HIGH/LOW and hooked up an LED to each PIN I'm trying to use and verified they all respond properly by blinking the LED. I was even able to use the Read_ID_bitbash and it tells me I have an ST7735S. So it seems like my pins are correct but just stuck on a white screen no matter what I do. I'm stuck, out of options and don't know enough about how the screens work to look deeper in this code to figure out what's happening yet. However, I'm hoping that the fact that this works fine on ESP32 but not ESP8266 means it just some errant #ifdef somewhere breaking this.
The last bit of info I can give is that the screen works just fine using the Adafruit_ST7735 driver library. So it can and does work on the ESP8266.
There isn't much output I can get. If you absolutely want to see the Read_ID_bitbash output or Read_User_Setup output, I can paste it but I just consider it redundant at this point given the config above is what is being used, read and working on a different chip. However, if you need any more information, please let me know.
Beta Was this translation helpful? Give feedback.
All reactions