Beginner's help please with LILYGO T-Display S3 ESP32-S3R8

Hello everyone,

Before making this post I read as much as I could searching any posts for issues etc, the readme.md file in the T-Display-S3-main folder and followed how to install this version from the github repository into platformio under VSCode.

GitHub - Xinyuan-LilyGO/T-Display-S3 · GitHub

I created a project T_Display_S3_Example01 which has the following (basic?) platformio.ini configuration.

[env:lilygo-t3-s3]

platform = espressif32

board = lilygo-t3-s3

framework = arduino

Is this correct/sufficient for me to start building? I read from a previous post that it may not be and don’t want to be encountering issues as soon as I start, so any help advice on a suitable correct configuration would be kindly received.

Best Regards,

Degs

I have added to the original platformio.ini file (sorry, forgot how to post “code” here)

[env]
platform = espressif32@6.5.0
board = lilygo-t-display-s3
framework = arduino
debug_tool = esp-builtin
upload_protocol = esptool
build_flags = 
	-DARDUINO_USB_CDC_ON_BOOT=1
	-DDISABLE_ALL_LIBRARY_WARNINGS
	-DARDUINO_USB_MODE=1
	-DTOUCH_MODULES_CST_MUTUAL
	-D SERIAL_RX_BUFFER_SIZE=128

[env:My_LCD_Tests]
lib_ignore = 
	GFX Library for Arduino
	arduino-nofrendo
	Adafruit MPR121
	DabbleESP32
	PCF8575 library
	PCA95x5
	lvgl
monitor_speed = 115200

That allows me to select a working sample or my own project when selecting the lily-go t-display “project”. If you don’t want to switch between projects, just delete all the others (make a copy first and save it). That way if something isn’t working, I can switch environments to a working project and potentially see what I’m doing wrong.

Nice little board.

Hello, thank you for this. I’ve done some more digging around today and found a reply from maxgerhardt in oct22, recommending this configuration:

[env:ttgo-display-s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
board_build.partitions = huge_app.csv
board_build.arduino.memory_type = opi_qspi
build_flags = -DARDUINO_USB_CDC_ON_BOOT=1

I checked the link as max suggested at the time to the .json file and everything appears set up there. So I intend to start off with the following platformio.ini configuration and attempt to build one of the examples probably the PCBClock example.

[env:ttgo-display-s3]
platform = espressif32@6.12.0
board = esp32-s3-devkitc-1
framework = arduino
board_build.partitions = huge_app.csv
board_build.arduino.memory_type = opi_qspi
build_flags = -DARDUINO_USB_CDC_ON_BOOT=1

Regards,

Degs

Oooopsy…..the PCBClock example has overrun memory available:

Processing ttgo-display-s3 (platform: espressif32@6.12.0; board: esp32-s3-devkitc-1; framework: arduino)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: 

PLATFORM: Espressif 32 (6.12.0) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:

framework-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b

tool-esptoolpy @ 2.40900.250804 (4.9.0)

toolchain-riscv32-esp @ 8.4.0+2021r2-patch5

toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder → 

LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies…
Dependency Graph
|-- TFT_eSPI @ 2.5.43
|-- PCBClock
|-- WiFi @ 2.0.0
Building in release mode
Retrieving maximum program size .pio\build\ttgo-display-s3\firmware.elf
Checking size .pio\build\ttgo-display-s3\firmware.elf
Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
RAM:   [=         ]  14.6% (used 47696 bytes from 327680 bytes)
Flash: [===Error: The program size (3159057 bytes) is greater than maximum allowed (3145728 bytes)
===*** [checkprogsize] Explicit exit, status 1
====]  100.4% (used 3159057 bytes from 3145728 bytes)
=============================================== [FAILED] Took 4.15 seconds ===============================================

Suppose I’d better try a simpler example!

What’s the exact LilyGO model that you’re using? T-Display S3 or T-Display S3 Pro?

It’s the T-Display S3 ESP32-S3R8 I’m using.

I’m obviously missing something (apologies). I still have a blank screen after using the ImageScroll example. Everything compiles and downloads successfully. I tried to configure platformio.ini (both ways) but this one below works with the example as the ST7789_DRIVER configuration is in the associated pin_config.h file.

But the screen is still blank, apologies if it’s something simple I’m missing?

[env:ttgo-display-s3]
platform = espressif32@6.12.0
board = esp32-s3-devkitc-1
framework = arduino
board_build.partitions = huge_app.csv
board_build.arduino.memory_type = opi_qspi
monitor_speed = 115200
lib_deps = bodmer/TFT_eSPI@^2.5.43
build_flags = -D ARDUINO_USB_CDC_ON_BOOT=1
    -D USER_SETUP_LOADED=1
    -include $PROJECT_LIBDEPS_DIR/$PIOENV/TFT_eSPI/User_Setups/Setup206_LilyGo_T_Display_S3.h
    ;-D ST7789_DRIVER=1                            ; Select ST7789 driver
    ;-D TFT_WIDTH=320                              ; Set TFT size
    ;-D TFT_HEIGHT=170
    ;-D TFT_MISO=8                                ; Define SPI pins
    ;-D TFT_MOSI=9
    ;-D TFT_SCLK=18
    ;-D TFT_CS=6
    ;-D TFT_DC=7                                  ; Data/Comand pin
    ;-D TFT_RST=5                                 ; Reset pin
    ;-D LOAD_GLCD=1                                ; Load Fonts
    ;-D SPI_FREQUENCY=27000000                     ; Set SPI frequency

Do you have the examples you can download? It was a really big file (around 500Mb), there’s about 25, “run out of the box” examples. I’m pretty sure that they have a download like that (on github) for your board if it’s not the exact same one I’m using. Pops right into platformio, open the project and select your environment (example).

Look for it here, GitHub - Xinyuan-LilyGO/TTGO-T-Display · GitHub, browse around and find your board.

I did find one or two of their examples that didn’t run, not sure why. But I was able to get enough information from the examples to create my own projects. The download had everything, all the libraries you need, the platformio.ini file.

(the github download was about 500Mb, but the actual project folder size in platformio is about 4mb, one of the downloads was about 3G, but not sure what the heck was in that one, looked like everything in the world)

I don’t know about that. The repo provides a custom board definition with

Can’t you just create a new folder boards in your project, then put the lilygo-t-displays3.json file inside

https://raw.githubusercontent.com/Xinyuan-LilyGO/T-Display-S3/refs/heads/main/boards/lilygo-t-displays3.json

Then just use

[env:ttgo-display-s3]
platform = espressif32@6.12.0
board = lilygo-t-displays3
framework = arduino
monitor_speed = 115200
lib_deps = bodmer/TFT_eSPI@^2.5.43
build_flags =
  -D ARDUINO_USB_CDC_ON_BOOT=1
  -D USER_SETUP_LOADED=1
  -include $PROJECT_LIBDEPS_DIR/$PIOENV/TFT_eSPI/User_Setups/Setup206_LilyGo_T_Display_S3.h

Additionally, the repo has its own TFT_eSPI library (https://github.com/Xinyuan-LilyGO/T-Display-S3/blob/main/lib/TFT_eSPI) and the config file has some interesting changes with regards to the current official TFT_eSPI, e.g. in the T-Display version

is not present in the official version

So it might pay off to just clone <GitHub - Xinyuan-LilyGO/T-Display-S3 · GitHub> and upload a firmware from there, as that uses the TFT_eSPI version contained in that repo. Update the platform version at maximum if there are compilation errors.

Hello Max,

Thanks for all that but I’m a little confused here. The version I downloaded is the one from my first post.

GitHub - Xinyuan-LilyGO/T-Display-S3 · GitHub with this version:

Remove invalid backlight control methods · Xinyuan-LilyGO/T-Display-S3@02f0e9d · GitHub

Which has this platformio configuration settings file as part of the github (code) download.

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and example
; 


[platformio]

; default_envs = Arduino_GFX_PDQgraphicstest
; default_envs = Arduino_GFXDemo
default_envs = factory
; default_envs = Sleep
; default_envs = lv_demos
; default_envs = nes
; default_envs = sd
; default_envs = tft
; default_envs = TFT_Rainbow
; default_envs = touch_test
; default_envs = usb_hid_pad
; default_envs = ota
; default_envs = SerialExample
; default_envs = T-Display-S3-MIDI
; default_envs = T-Display-S3-Piano
; default_envs = ImageScroll
; default_envs = GetBatteryVoltage
; default_envs = PokerS3
; default_envs = PCBClock
; default_envs = WIFI_Audio_I2S
; default_envs = CapacitiveTouch

src_dir = examples/${platformio.default_envs}
boards_dir = ./boards

[env]
platform = espressif32@6.5.0
board = lilygo-t-displays3
framework = arduino

debug_tool = esp-builtin

; Use this when burning with USB CDC
upload_protocol = esptool

; When using ESP32-USB-JTAG debugging
; upload_protocol = esp-builtin

build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
; -UARDUINO_USB_CDC_ON_BOOT
-DDISABLE_ALL_LIBRARY_WARNINGS
-DARDUINO_USB_MODE=1
; Choose different options according to different driver chips
; Early use of CST328
-DTOUCH_MODULES_CST_MUTUAL
; Use CST816 by default
; -DTOUCH_MODULES_CST_SELF

[env:Arduino_GFX_PDQgraphicstest]
lib_ignore =
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:Arduino_GFXDemo]
lib_ignore =
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:factory]
lib_ignore =
TFT_eSPI
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5

[env:lv_demos]
build_flags =   ${env.build_flags}
lib_ignore =
TFT_eSPI
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5

[env:nes]
lib_ignore =
TFT_eSPI
Adafruit MPR121
PCF8575 library
PCA95x5
lvgl

[env:sd]
lib_ignore =
TFT_eSPI
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:tft]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:Sleep]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:TFT_Rainbow]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:ImageScroll]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:touch_test]
extends = env
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:SerialExample]
lib_ignore =
TFT_eSPI
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:MPR121TouchSensor]
lib_ignore =
TFT_eSPI
GFX Library for Arduino
arduino-nofrendo
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:I2CScan]
lib_ignore =
TFT_eSPI
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:usb_hid_pad]
build_flags =   -DARDUINO_USB_MODE=0
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:ota]
upload_protocol = espota
; Change to the IP address of the board
upload_port = 192.168.36.172

lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

[env:T-Display-S3-MIDI]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
DabbleESP32
lvgl

[env:T-Display-S3-Piano]
build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
-DDISABLE_ALL_LIBRARY_WARNINGS
-DARDUINO_USB_MODE=0
-DTOUCH_MODULES_CST_MUTUAL
lib_deps =
lovyan03/LovyanGFX
lib_ignore =
GFX Library for Arduino
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

[env:GetBatteryVoltage]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:PokerS3]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:PCBClock]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
[env:WIFI_Audio_I2S]

[env:CapacitiveTouch]
lib_ignore =
GFX Library for Arduino
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl
TouchLib

[env:T-Display-S3-Queue]
build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
-DDISABLE_ALL_LIBRARY_WARNINGS
-DTOUCH_MODULES_CST_MUTUAL
lib_deps =
lovyan03/LovyanGFX
lib_ignore =
GFX Library for Arduino
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

[env:T-Display-S3-Gingoduino]
build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
-DDISABLE_ALL_LIBRARY_WARNINGS
-DTOUCH_MODULES_CST_MUTUAL
lib_deps =
lovyan03/LovyanGFX
lib_ignore =
GFX Library for Arduino
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

[env:T-Display-S3-Piano-Debug]
build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
-DDISABLE_ALL_LIBRARY_WARNINGS
-DTOUCH_MODULES_CST_MUTUAL
lib_deps =
lovyan03/LovyanGFX
lib_ignore =
GFX Library for Arduino
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

[env:T-Display-S3-BLE-Receiver]
build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
-DDISABLE_ALL_LIBRARY_WARNINGS
-DTOUCH_MODULES_CST_MUTUAL
lib_deps =
lovyan03/LovyanGFX
lib_ignore =
GFX Library for Arduino
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

[env:T-Display-S3-BLE-Sender]
build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
-DDISABLE_ALL_LIBRARY_WARNINGS
-DTOUCH_MODULES_CST_MUTUAL
lib_deps =
lovyan03/LovyanGFX
lib_ignore =
GFX Library for Arduino
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

[env:T-Display-S3-USB-Device]
build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
-DDISABLE_ALL_LIBRARY_WARNINGS
-DARDUINO_USB_MODE=0
-DTOUCH_MODULES_CST_MUTUAL
lib_deps =
lovyan03/LovyanGFX
lib_ignore =
GFX Library for Arduino
TFT_eSPI
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

[env:T-Display-S3-Music-Explorer]
build_flags =
-DLV_LVGL_H_INCLUDE_SIMPLE
-DARDUINO_USB_CDC_ON_BOOT=1
-DDISABLE_ALL_LIBRARY_WARNINGS
-DTOUCH_MODULES_CST_MUTUAL
lib_deps =
sauloverissimo/gingoduino
lib_ignore =
GFX Library for Arduino
LovyanGFX
arduino-nofrendo
Adafruit MPR121
DabbleESP32
PCF8575 library
PCA95x5
lvgl

So what exactly should my platformio.ini file consist of? Obviously I’m completely missing something here as I thought I’d downloaded, cloned and built in platformio the latest github version?

For the first test, you don’t need to change any file at all. Simple use the project environment switcher to switch to the provided ImageScroll environment and try to upload it.

Hello Max,

Thanks for this, I now have a display working….big step forward!

I removed my example project from the platformio IDE and left the T-Display-S3-main in the workspace.

In the platformio.ini file I un-commented various examples to test and directed the Switch PlatformIO Project Environment to match accordingly after I’d saved the platformio.ini file.

Examples, Arduino_GFX PDQgraphistest, Arduino_GFXDemo, tft, TFT_Rainbow, ImageScroll, PokerS3 all work fine.

However, even though PCBClock builds and downloads correctly it doesn’t seem to work and remains elusive? The screen still has the last example/displays the last downloaded file?

[platformio]

; default_envs = Arduino_GFX_PDQgraphicstest

; default_envs = Arduino_GFXDemo

;;default_envs = factory

; default_envs = Sleep

;; default_envs = lv_demos

; default_envs = nes

; default_envs = sd

; default_envs = tft

; default_envs = TFT_Rainbow

; default_envs = touch_test

; default_envs = usb_hid_pad

; default_envs = ota

; default_envs = SerialExample

; default_envs = T-Display-S3-MIDI

;; default_envs = T-Display-S3-Piano

; default_envs = ImageScroll

; default_envs = GetBatteryVoltage

; default_envs = PokerS3

 default_envs = PCBClock

; default_envs = WIFI_Audio_I2S

; default_envs = CapacitiveTouch

src_dir = examples/${platformio.default_envs}

boards_dir = ./boards

Here is the Upload output:

Processing PCBClock (platform: espressif32@6.5.0; board: lilygo-t-displays3; framework: arduino)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lilygo-t-displays3.html
PLATFORM: Espressif 32 (6.5.0) > T-DisplayS3
HARDWARE: ESP32S3 240MHz, 320KB RAM, 16MB Flash
DEBUG: Current (esp-builtin) External (cmsis-dap, esp-bridge, esp-builtin, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:

framework-arduinoespressif32 @ 3.20014.231204 (2.0.14)

tool-esptoolpy @ 1.40501.0 (4.5.1)

tool-mkfatfs @ 2.0.1

tool-mklittlefs @ 1.203.210628 (2.3)

tool-mkspiffs @ 2.230.0 (2.30)

tool-openocd-esp32 @ 2.1100.20220706 (11.0)

toolchain-riscv32-esp @ 8.4.0+2021r2-patch5

toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Converting PCBClock.ino
LDF: Library Dependency Finder → 

LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 40 compatible libraries
Scanning dependencies…
Dependency Graph
|-- TFT_eSPI @ 2.5.43
|-- WiFi @ 2.0.0
Building in release mode
Compiling .pio\build\PCBClock\src\PCBClock.ino.cpp.o
Retrieving maximum program size .pio\build\PCBClock\firmware.elf
Checking size .pio\build\PCBClock\firmware.elf
Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
RAM:   [=         ]  14.5% (used 47424 bytes from 327680 bytes)
Flash: [=====     ]  48.1% (used 3153193 bytes from 6553600 bytes)
Configuring upload protocol…
AVAILABLE: cmsis-dap, esp-bridge, esp-builtin, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port…
Auto-detected: COM10
Uploading .pio\build\PCBClock\firmware.bin
esptool.py v4.5.1
Serial port COM10
Connecting…
Chip is ESP32-S3 (revision v0.2)
Features: WiFi, BLE
Crystal is 40MHz
MAC: e0:72:a1:a1:09:3c
Uploading stub…
Running stub…
Stub running…
Changing baud rate to 921600
Changed.
Configuring flash size…
Flash will be erased from 0x00000000 to 0x00003fff…
Flash will be erased from 0x00008000 to 0x00008fff…
Flash will be erased from 0x0000e000 to 0x0000ffff…
Flash will be erased from 0x00010000 to 0x00311fff…
Compressed 15104 bytes to 10401…
Writing at 0x00000000… (100 %)
Wrote 15104 bytes (10401 compressed) at 0x00000000 in 0.3 seconds (effective 396.7 kbit/s)…
Hash of data verified.
Compressed 3072 bytes to 146…
Writing at 0x00008000… (100 %)
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.1 seconds (effective 332.5 kbit/s)…
Hash of data verified.
Compressed 8192 bytes to 47…
Writing at 0x0000e000… (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 510.5 kbit/s)…
Hash of data verified.
Compressed 3153552 bytes to 1386190…
Writing at 0x00010000… (1 %)
Writing at 0x0001ba4f… (2 %)
Writing at 0x00024631… (3 %)
Writing at 0x0002fb7c… (4 %)
Writing at 0x0003a814… (5 %)
Writing at 0x00042edb… (7 %)
Writing at 0x0004f54d… (8 %)
Writing at 0x0005875c… (9 %)
Writing at 0x00063d66… (10 %)
Writing at 0x0006e9ec… (11 %)
Writing at 0x00076b7a… (12 %)
Writing at 0x00081afc… (14 %)
Writing at 0x0008c830… (15 %)
Writing at 0x00096863… (16 %)
Writing at 0x000a2c71… (17 %)
Writing at 0x000aa675… (18 %)
Writing at 0x000b5a6d… (20 %)
Writing at 0x000c0739… (21 %)
Writing at 0x000c90fd… (22 %)
Writing at 0x000d5ece… (23 %)
Writing at 0x000de6c5… (24 %)
Writing at 0x000e9b61… (25 %)
Writing at 0x000f4890… (27 %)
Writing at 0x000fcdbc… (28 %)
Writing at 0x0010922c… (29 %)
Writing at 0x001123b9… (30 %)
Writing at 0x0011da4b… (31 %)
Writing at 0x001287b9… (32 %)
Writing at 0x00130ad8… (34 %)
Writing at 0x0013c570… (35 %)
Writing at 0x0014733f… (36 %)
Writing at 0x00153335… (37 %)
Writing at 0x0015e78b… (38 %)
Writing at 0x001678f2… (40 %)
Writing at 0x001753da… (41 %)
Writing at 0x0017e3c4… (42 %)
Writing at 0x0018a370… (43 %)
Writing at 0x00195618… (44 %)
Writing at 0x0019f834… (45 %)
Writing at 0x001acca5… (47 %)
Writing at 0x001b51b9… (48 %)
Writing at 0x001c1468… (49 %)
Writing at 0x001cc147… (50 %)
Writing at 0x001d8238… (51 %)
Writing at 0x001e34a9… (52 %)
Writing at 0x001ec689… (54 %)
Writing at 0x001fa8c2… (55 %)
Writing at 0x0020357f… (56 %)
Writing at 0x0020ef26… (57 %)
Writing at 0x0021a3bf… (58 %)
Writing at 0x0022539b… (60 %)
Writing at 0x00231db8… (61 %)
Writing at 0x0023ac84… (62 %)
Writing at 0x00247bd8… (63 %)
Writing at 0x00251d35… (64 %)
Writing at 0x0025e161… (65 %)
Writing at 0x0026942c… (67 %)
Writing at 0x0027416c… (68 %)
Writing at 0x0027ed98… (69 %)
Writing at 0x00284952… (70 %)
Writing at 0x0028a058… (71 %)
Writing at 0x0028fb63… (72 %)
Writing at 0x002950bd… (74 %)
Writing at 0x0029a263… (75 %)
Writing at 0x0029f24f… (76 %)
Writing at 0x002a407d… (77 %)
Writing at 0x002a8fd3… (78 %)
Writing at 0x002adef1… (80 %)
Writing at 0x002b317f… (81 %)
Writing at 0x002b81c6… (82 %)
Writing at 0x002bda08… (83 %)
Writing at 0x002c3139… (84 %)
Writing at 0x002c7e60… (85 %)
Writing at 0x002ccf77… (87 %)
Writing at 0x002d1e90… (88 %)
Writing at 0x002d737c… (89 %)
Writing at 0x002dc7dc… (90 %)
Writing at 0x002e214c… (91 %)
Writing at 0x002e7a22… (92 %)
Writing at 0x002ed167… (94 %)
Writing at 0x002f56de… (95 %)
Writing at 0x002fc5c3… (96 %)
Writing at 0x003031fe… (97 %)
Writing at 0x00308ce2… (98 %)
Writing at 0x0030e523… (100 %)
Wrote 3153552 bytes (1386190 compressed) at 0x00010000 in 25.9 seconds (effective 973.3 kbit/s)…
Hash of data verified.

Leaving…
Hard resetting via RTS pin…
======================================================== [SUCCESS] Took 41.54 seconds ========================================================

Environment    Status    Duration




PCBClock       SUCCESS   00:00:41.544
======================================================== 1 succeeded in 00:00:41.544 =======================================================

If I then choose an alternative example like ImageScroll, it works perfectly.

Any suggestions why?

Regards,

Degs

The PCBClock example requires you to fill in the WiFi credentials, did you do that?

DOH!!! Sometimes you just can’t see the trees in the forest :person_facepalming: Many Thanks Max for your patience and help.

Got it all working, the graphics for this version of the clock look amazing.

SO, in conclusion going forward I’ll just copy the platformio.ini configuration that’s suggested with the GitHub download information when I start on my own example project for this device.

On another note Max.

I have a self-balancing two wheeled device (you can’t really say it’s a robot) that I would like to ask many questions on how my well commented version of software is working and the effects I’m experiencing. My background is I’m a retired ex-Chartered Electrical Engineer enjoying learning and building new things. This particular project (knowing about P&ID etc) throws up some strange behaviours each time I power up the platform I’ve built.

Can you suggest a discussion community to share my coding and answer/explain some of the effects I’m seeing. Sometimes the platform is very stable for the ‘cheap’ components and sometimes it’s very erratic/unstable which mystifies me though I have my own conclusions. I’d just like someone more software proficient to review my coding etc?

Thanks once again Max