Skip to content

support for display Liligo-T Display (ST7789 TFT) lost after upgrade to 15.2 or 15.3 #24620

@kantrol

Description

@kantrol

PROBLEM DESCRIPTION

A clear and concise description of what the problem is.
I have been flashing a TTGO Display (ESP-32) with tasmota32-display.bin 15.1, used the Auto-config and selected the Liliygo-T-Display configuration. The process created a working display.

After upgrading to 15.2 or 15.3 using the OTA Url upgrade, I can not change any display content any more.

The display still shows the last message from before the upgrade process.
Reverting back to 15.1.0 always gives back the working display functionality.

REQUESTED INFORMATION

Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!

  • Read the Contributing Guide and Policy and the Code of Conduct
  • Searched the problem in issues
  • Searched the problem in discussions
  • Searched the problem in the docs
  • Searched the problem in the chat I am not a discord customer.
  • Problem is not scripter related, in this case open a discussion and tag gemu2015 ???
  • Device used (e.g., Sonoff Basic): _____ESP32-ttgo-display based on ESP32-DevKit(1)
  • Tasmota binary firmware version number used: _____15.1.0, 15.2.0, 15.3.0
    • Pre-compiled
    • Self-compiled
  • Flashing tools used: _____Tasmota-ESP-Flasher 3.3.1 (for the initial flash)
  • Provide the output of command: Backlog Template; Module; GPIO 255:
  Configuration output here:
12:50:33.545 CMD: Backlog Template; Module; GPIO 255
12:50:33.545 SRC: WebConsole from 192.168.100.67
12:50:33.547 CMD: Grp 0, Cmd 'BACKLOG', Idx 1, Len 26, Pld -99, Data 'Template; Module; GPIO 255'
12:50:33.563 SRC: Backlog
12:50:33.564 CMD: Grp 0, Cmd 'TEMPLATE', Idx 1, Len 0, Pld -99, Data ''
12:50:33.568 MQT: stat/tasmota_F9AC38/RESULT = {"NAME":"ESP32-ttgo-display","GPIO":[32,1,1,1,992,928,1,1,1,1,1,1,960,1,896,864,6210,1,1,1024,0,1,1,1,0,0,0,0,1,1,4864,33,1,0,0,1],"FLAG":0,"BASE":1}
12:50:33.791 SRC: Backlog
12:50:33.792 CMD: Grp 0, Cmd 'MODULE', Idx 1, Len 0, Pld -99, Data ''
12:50:33.796 MQT: stat/tasmota_F9AC38/RESULT = {"Module":{"0":"ESP32-ttgo-display"}}
12:50:34.042 SRC: Backlog
12:50:34.043 CMD: Grp 0, Cmd 'GPIO', Idx 1, Len 3, Pld 255, Data '255'
12:50:34.053 MQT: stat/tasmota_F9AC38/RESULT = {"GPIO0":{"Button1":32},"GPIO1":{"None":0},"GPIO2":{"None":0},"GPIO3":{"None":0},"GPIO4":{"Backlight":992},"GPIO5":{"SSPI CS":928},"GPIO6":{"None":0},"GPIO7":{"None":0},"GPIO8":{"None":0},"GPIO9":{"None":0},"GPIO10":{"None":0},"GPIO11":{"None":0},"GPIO12":{"None":0},"GPIO13":{"None":0},"GPIO14":{"None":0},"GPIO15":{"None":0},"GPIO16":{"SSPI DC":960},"GPIO17":{"None":0},"GPIO18":{"SSPI SCLK":896},"GPIO19":{"SSPI MOSI":864},"GPIO20":{"Option A3":6210},"GPIO21":{"None":0},"GPIO22":{"None":0},"GPIO23":{"Display Rst":1024},"GPIO24":{"None":0},"GPIO25":{"None":0},"GPIO26":{"None":0},"GPIO27":{"None":0},"GPIO32":{"None":0},"GPIO33":{"None":0},"GPIO34":{"ADC Range1":4864},"GPIO35":{"Button2":33},"GPIO36":{"None":0},"GPIO37":{"None":0},"GPIO38":{"None":0},"GPIO39":{"None":0}}
12:50:48.757 WIF: Checking connection...
12:50:50.990 BRY: GC from 7145 to 3659 bytes, objects freed 3/39 (in 0 ms) - slots from 50/91 to 41/91
  • If using rules, provide the output of this command: Backlog Rule1; Rule2; Rule3:
  Rules output here:

  • Provide the output of this command: Status 0:
  STATUS 0 output here:
12:52:15.940 SRC: WebConsole from 192.168.100.67
12:52:15.941 CMD: Grp 0, Cmd 'STATUS', Idx 1, Len 1, Pld 0, Data '0'
12:52:15.945 MQT: stat/tasmota_F9AC38/STATUS = {"Status":{"Module":0,"DeviceName":"Tasmota_TTGO","FriendlyName":["Tasmota_TTGO"],"Topic":"tasmota_F9AC38","ButtonTopic":"0","Power":"1","PowerLock":"0","PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0,"StatusRetain":0}}
12:52:15.990 MQT: stat/tasmota_F9AC38/STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota32/release/tasmota32-display.bin","RestartReason":"Software reset CPU","Uptime":"0T00:03:31","StartupUTC":"2026-04-07T11:48:44","Sleep":50,"CfgHolder":4617,"BootCount":26,"BCResetTime":"2026-04-05T13:59:38","SaveCount":116}}
12:52:16.025 MQT: stat/tasmota_F9AC38/STATUS2 = {"StatusFWR":{"Version":"15.3.0(release-display)","BuildDateTime":"2026-02-19T14:04:12","Core":"3.3.7","SDK":"5.3.4.260127","CpuFrequency":160,"Hardware":"ESP32-D0WDQ6 v1.0","CR":"433/699"}}
12:52:16.039 MQT: stat/tasmota_F9AC38/STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":4,"MqttLog":3,"FileLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["xxxxxx",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["00008009","2805C80001000600003C5A00192800000000","00800080","00006000","00004000","00000000"]}}
12:52:16.078 MQT: stat/tasmota_F9AC38/STATUS4 = {"StatusMEM":{"ProgramSize":1424,"Free":1455,"Heap":168,"StackLowMark":3,"PsrMax":0,"PsrFree":0,"ProgramFlashSize":4096,"FlashSize":4096,"FlashChipId":"164068","FlashFrequency":80,"FlashMode":"DIO","Features":["0809","0FAA85CE","000482A1","800000C3","00000000","00000080","000000A0","40200000","54000008","00000080","00000004"],"Drivers":"1,2,!4,!5,!8,9,10,12,13,!16,38,50,52,55,62,!66,!68,!121","Sensors":"1,2,5,6,127","I2CDriver":"3,5,47"}}
12:52:16.125 MQT: stat/tasmota_F9AC38/STATUS5 = {"StatusNET":{"Hostname":"tasmota-F9AC38-3128","IPAddress":"192.168.100.155","Gateway":"192.168.100.10","Subnetmask":"255.255.255.0","DNSServer1":"192.168.100.11","DNSServer2":"0.0.0.0","Mac":"24:62:AB:F9:AC:38","IP6Global":"2002:5fdf:94d1:0:2662:abff:fef9:ac38","IP6Local":"fe80::2662:abff:fef9:ac38%st2","Webserver":2,"HTTP_API":1,"WifiConfig":4,"WifiPower":16.0}}
12:52:16.159 BRY: GC from 7420 to 4003 bytes, objects freed 8/39 (in 1 ms) - slots from 43/91 to 41/91
12:52:16.163 MQT: stat/tasmota_F9AC38/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.100.199","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_F9AC38","MqttUser":"DVES_USER","MqttCount":1,"MqttTLS":0,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30,"SOCKET_TIMEOUT":4}}
12:52:16.190 MQT: stat/tasmota_F9AC38/STATUS7 = {"StatusTIM":{"UTC":"2026-04-07T11:52:16Z","Local":"2026-04-07T12:52:16","StartDST":"2026-03-29T02:00:00","EndDST":"2026-10-25T03:00:00","Timezone":"+01:00","Sunrise":"06:15","Sunset":"19:29"}}
12:52:16.238 MQT: stat/tasmota_F9AC38/STATUS10 = {"StatusSNS":{"Time":"2026-04-07T12:52:16","ANALOG":{"Range1":4673}}}
12:52:16.241 BRY: GC from 4526 to 3624 bytes, objects freed 4/39 (in 1 ms) - slots from 41/91 to 41/91
12:52:16.245 MQT: stat/tasmota_F9AC38/STATUS11 = {"StatusSTS":{"Time":"2026-04-07T12:52:16","Uptime":"0T00:03:32","UptimeSec":212,"Heap":169,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Berry":{"HeapUsed":3,"Objects":39},"POWER":"ON","Wifi":{"AP":1,"SSId":"xxxxxx","BSSId":"xx:xx:xx:xx:xx:xx","Channel":1,"Mode":"HT20","RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:04"},"Hostname":"tasmota-F9AC38-3128","IPAddress":"192.168.100.155"}}
  • Set weblog to 4 and then, when you experience your issue, provide the output of the Console log:
  Console output here:
3:12:12.159 CMD: weblog 4
13:12:12.160 SRC: WebConsole from 192.168.100.67
13:12:12.161 CMD: Grp 0, Cmd 'WEBLOG', Idx 1, Len 1, Pld 4, Data '4'
13:12:12.164 MQT: stat/tasmota_F9AC38/RESULT = {"WebLog":4}
13:12:29.257 WIF: Checking connection...
13:12:49.261 WIF: Checking connection...
13:13:09.264 WIF: Checking connection...
13:13:29.265 WIF: Checking connection...
13:13:36.998 BRY: GC from 6881 to 3463 bytes, objects freed 1/35 (in 1 ms) - slots from 43/91 to 37/91
13:13:48.617 CMD: DisplayMode 0
13:13:48.618 SRC: WebConsole from 192.168.100.67
13:13:48.619 CMD: Grp 0, Cmd 'DISPLAYMODE', Idx 1, Len 1, Pld 0, Data '0'
13:13:48.622 MQT: stat/tasmota_F9AC38/RESULT = {"DisplayMode":0}
13:13:49.267 WIF: Checking connection...
13:13:53.783 BRY: GC from 3804 to 3428 bytes, objects freed 0/35 (in 1 ms) - slots from 38/91 to 37/91
13:13:53.787 MQT: tele/tasmota_F9AC38/STATE = {"Time":"2026-04-07T13:13:53","Uptime":"0T00:25:09","UptimeSec":1509,"Heap":171,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Berry":{"HeapUsed":3,"Objects":35},"POWER":"ON","Wifi":{"AP":1,"SSId":"xxxxx","BSSId":"E8:DE:27:F5:7D:29","Channel":1,"Mode":"HT20","RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:04"},"Hostname":"tasmota-F9AC38-3128","IPAddress":"192.168.100.155"}
13:13:53.823 MQT: tele/tasmota_F9AC38/SENSOR = {"Time":"2026-04-07T13:13:53","ANALOG":{"Range1":4677}}
13:14:05.236 CMD: DisplayText[x10y10s2]test message
13:14:05.237 SRC: WebConsole from 192.168.100.67
13:14:05.238 CMD: Grp 0, Cmd 'DISPLAYTEXT', Idx 1, Len 22, Pld -99, Data '[x10y10s2]test message'
13:14:05.286 MQT: stat/tasmota_F9AC38/RESULT = {"DisplayText":"[x10y10s2]test message"}
13:14:09.263 WIF: Checking connection...
13:14:14.815 CMD: DisplayMode 2
13:14:14.815 SRC: WebConsole from 192.168.100.67
13:14:14.816 CMD: Grp 0, Cmd 'DISPLAYMODE', Idx 1, Len 1, Pld 2, Data '2'
13:14:15.150 MQT: stat/tasmota_F9AC38/RESULT = {"DisplayMode":2}
13:14:15.501 CFG: Saved, Count 119, Bytes 4096
13:14:15.815 DSP: 00 Version 15.3.0(r
13:14:17.815 DSP: 01 Display mode 2
13:14:19.815 DSP: 02 Hostname tasmota
13:14:21.815 DSP: 03 Mac 24:62:AB:F9:
13:14:23.815 DSP: 04 IP 192.168.100.1
13:14:25.815 DSP: 05 SSId xxxx
13:14:27.781 DSP: 06 RSSI 72%
13:14:27.881 CMD: DisplayMode 3
13:14:27.881 SRC: WebConsole from 192.168.100.67
13:14:27.882 CMD: Grp 0, Cmd 'DISPLAYMODE', Idx 1, Len 1, Pld 3, Data '3'
13:14:27.996 MQT: stat/tasmota_F9AC38/RESULT = {"DisplayMode":3}
13:14:28.413 CFG: Saved, Count 120, Bytes 4096
13:14:29.519 WIF: Checking connection...
13:14:29.819 DSP: 00 Version 15.3.0(r
13:14:31.818 DSP: 01 Display mode 3
13:14:33.818 DSP: 02 Hostname tasmota
13:14:35.818 DSP: 03 Mac 24:62:AB:F9:
13:14:37.818 DSP: 04 IP 192.168.100.1
13:14:39.818 DSP: 05 SSId xxxxx
13:14:41.818 DSP: 06 RSSI 66%

TO REPRODUCE

Steps to reproduce the behavior:

DisplayMode 0
DisplayText[x10y10s2]test

DisplayMode 2

EXPECTED BEHAVIOUR

A clear and concise description of what you expected to happen.
I expect that the display shows new messages when either writing diplaymode 0 with the command DisplayText or automatically when setting the DisplayMode to value 1, 2, 3 or 4.

SCREENSHOTS

If applicable, add screenshots to help explain your problem.

ADDITIONAL CONTEXT

Add any other context about the problem here.

12:59:00.647 CMD: display
12:59:00.648 SRC: WebConsole from 192.168.100.67
12:59:00.649 CMD: Grp 0, Cmd 'DISPLAY', Idx 1, Len 0, Pld -99, Data ''
12:59:00.651 MQT: stat/tasmota_F9AC38/RESULT = {"Display":{"Model":17,"Type":0,"Width":240,"Height":135,"Mode":0,"Dimmer":50,"Size":1,"Font":1,"Rotate":1,"Invert":0,"Refresh":2,"Cols":[16,8],"Rows":2}}

(Please, remember to close the issue when the problem has been addressed)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions