Display printing random horizontal lines and rubbish after a while

I am working with a Lilygo T-Watch 2021 and I have loaded an arduino sketch with a UI made with SLS. Everything has been working fine for several days but in the last couple of days my screen started showing patches of horizontal colored lines, or showing the frame of a label (supposed to be invisible) or not showing anything at all (just backlight).
Program is working fine, as shown by the serial monitor and other interfaces. The issue is just with the display.

What have I tried so far?

  1. I suspected a HW problem and repeatedly plugged and unplugged the display. Didn’t solve it.
  2. I suspected a problem with memory (I uploaded different versions of the code dozens of times). So I erased the flash memory of the chip with the esptool procedure ( ESP32: Erase Flash Memory (Factory Reset) | Random Nerd Tutorials) Didn’t solve it.
  3. I loaded the code on a new identical board+display set and THAT appears to solve the problem!!! But I can’t think of a hardware problem because I have already plugging and unplugging the display and the problem persists…

Any suggestions?
Thanks in advance
Angelo

Seems like good evidence that the broken one is broken.

Maybe a poor instance, or something you did to it over time broke it, or some brief accidental accident.

a7

2 Likes

Basically since the only thing that changed was the hardware, blame the hardware. It sounds like a bad connection but that is just a guess.

1 Like

@alto777, @gilshultz, thanks for your answers, this reassures me that there is nothing else I could try. I thought maybe there could be an even deeper memory wipe… For now I’ll just use the new board and I’ll see if I can order new display to replace the other and see if the problem disappears.

Sounds good. It is very rare for a processor such as used in the arduino to wipe memory. It takes several instructions to change the FLASH and it cannot be done from a user program. This is by design as FLASH is in the program memory segment. This might help: On devices with boot block, the SPM (Scratch Pad Memory) instruction has the ability to write to the entire Flash memory, but can only be executed from the Boot section. Executing SPM from the Application section will have no effect. On the smaller devices that don' have a boot block, the SPM instruction can be executed from the entire memory. There is a lot of design effort to prevent this.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.