bperrybap:
thank you, that clears up lots of things.
You should be able to use the "LOLIN(WEMOS)...." boards.
They have the same pin mapping as the board you have.
Ah, yes, selecting one of the named Wemos boards does indeed allow using 'D' designations for the pins. I wonder whether there is a way to detect when the '"Generic" profile is selected and engage a map, i.e.:
#ifdef __GENERIC__
#define D2 GPIO4
....
#endif
bperrybap:
I'm assuming this issue happens while things are just sitting there and with no fan control happening or even any fans wired up?
I have seen the exact same display corruption you are seeing before.
I can't remember what was causing it.
Usually that kind of stuff happens when there are voltage issues, or signal noise/corruption issues.
Yes, it happens while the setup is just sitting there. I am at the present using a 40W lightbulb instead of the 45W fan, but even with the bulb off (which it will be by default unless I breathe into the sensor) it will just display that pattern after a period of time with no intervention. The controller board and bulb is at least 1.5m away from the project breadboard.
bperrybap:
It could also be that that processor has crashed or watchdog timed out.
Does the display ever change from the pattern you see?
Are you still seeing serial messages after the display corrupts?
That was my first thought, but, output is still being generated to the serial port and scrolling up the terminal window when the display corrupts which happens maybe 2 or 3 minutes after boot-up. The pattern does not seem to change once it gets displayed although I'm not sure whether I have left it long enough for another interval to occur. It did generate another random pattern a couple of times, but I was prodding things at the time.
bperrybap:
Also, if you are not aware gpio pins 15, 2, and 0 are special.
They control how the ESP module boots. You have be careful if you use them.
You can google around for things like "esp8266 special pins" and get more information.
No, I wasn't aware of that so thank you for your project notes. I had some reservations about using 16, 2 and 0 due to their descriptions but didn't find any specific information about them. As it is, I ran out of pins and ended up having to use them. I did find certain things didn't work on specific pins so it was a bit of trial and error to find an arrangement that worked. Your search phrase yeilds a number of results so I will do my research.
I'm curious about pin 15 since I thought that the upload was via RX0/TX0 rather than TX2/TX2. However, pin 15 (GPIO15) is TX so if the ESP module happens to transmit something on that pin (perhaps a heartbeat between the ESP module and the UART on the dev board), then I can see how the display might get upset since as per the tutorial it uses that pin for data.
I can't do anything on S2 and S3 (GPIO 9 and 10) as connecting anything stops the board from booting up so GPIO pins are in rather short supply. In reality it looks like there may only be 5 or possibly 6 useable pins plus the analog A0. That's one of the reasons I have now purchased an I2C adapter board.
I figure I will need four buttons for my project and two sensors so even with the display connected to the I2C bus, that does not leave me with a lot of leeway, but it should be manageable.