Mein Kampf mit dem LilyGO T-Display S3

🖥️ From Flickering Lines to a Perfect Dashboard

Vom Flackern zum perfekten Dashboard – Wie ich das LilyGO T-Display S3 gezähmt habe

1000059583.jpg

Introduction / EinfĂźhrung

When I started building a small dashboard for my Blurt and Hive stats, I didn’t expect it to turn into a mini adventure in electronics and debugging.
My goal was simple: display the Blurt and Hive prices, show the latest post stats, and monitor my witness status — all on a LilyGO T-Display S3.


Als ich mein kleines Dashboard fĂźr Blurt und Hive bauen wollte, ahnte ich nicht, dass daraus ein kleines Abenteuer in Sachen Elektronik werden wĂźrde.
Mein Ziel war einfach: Blurt- und Hive-Kurse anzeigen, die neuesten Posts und meinen Witness-Status – alles auf einem LilyGO T-Display S3.


The first upload went smoothly until I connected the USB cable.
A bright vertical stripe appeared immediately, and only after five seconds did the rest of the screen show up.
No error messages, just a confused display.
At that point, I knew this was not a software bug, it was an initialization problem.


Der erste Upload lief problemlos, bis ich das USB-Kabel anschloss.
Nach einer halben Sekunde erschien ein heller Streifen auf der rechten Seite, und erst fßnf Sekunden später der Rest des Bildes.
Keine Fehlermeldung, nur ein verwirrtes Display.
Mir war klar: Das ist kein Softwarefehler, das ist ein Initialisierungsproblem.


The Problem – Ghost Lines and Missing Pixels / Das Problem – Geisterlinien und fehlende Pixel

At first, I tried all the usual suspects: rotation settings, SPI speed, and even re-flashing the firmware.
But no matter what I did, the screen always showed that annoying right-hand bar and strange timing issues.
I even noticed that the right half of the display didn’t respond correctly to color fills, as if the buffer stopped at pixel 240 instead of 320.


Ich dachte zuerst an die ßblichen Verdächtigen:
Rotation, SPI-Geschwindigkeit und Neu-Flashen.
Aber egal, was ich machte, der rechte Balken blieb.
Dann fiel mir auf, dass der rechte Teil des Displays gar nicht richtig zeichnete,
als ob das Speicherfenster bei Pixel 240 endete.

image-1761833221550.jpg

image-1761840075502.jpg


Investigation / Fehlersuche

So, I ran some test sketches.
One of them simply drew a white frame:

tft.fillScreen(TFT_BLACK);
tft.drawRect(0, 35, 240, 170, TFT_WHITE);

That’s when I discovered that everything beyond x=240 was invisible, a clear sign of incorrect initialization for this ST7789 controller.
It seemed that the screen memory wasn’t properly reset at startup, and part of the driver still “remembered” its previous state.

Also schrieb ich Testsketche, die nur einfache Linien oder Rechtecke zeigten.
Dabei stellte ich fest, dass alles rechts von x=240 einfach schwarz blieb,
ein klares Zeichen dafĂźr, dass das Display nicht korrekt initialisiert war.
Teile des internen RAMs waren offenbar in einem undefinierten Zustand.

The Fix / Die LĂśsung

After several experiments, I finally found the correct sequence:

1️⃣ A hard reset of the display
2️⃣ A ST7789 command 0x13 (normal display mode)
3️⃣ Immediate backlight activation before any drawing
4️⃣ Then re-initialization with the correct rotation (USB on the right)

Nach einigen Experimenten fand ich die richtige Reihenfolge:

1️⃣ Hard-Reset des Displays
2️⃣ Kommando 0x13 für den Normalmodus
3️⃣ Backlight sofort aktivieren, bevor irgendetwas gezeichnet wird
4️⃣ Rotation 2, damit der USB-Anschluss rechts ist

Here’s the short reset code that brought the panel back to life:

Hier der kleine Reset-Sketch, der das Display wiederbelebt hat:

#include <TFT_eSPI.h>

TFT_eSPI tft = TFT_eSPI();

void setup() {
  tft.init();
  delay(100);
  tft.writecommand(0x13);
  delay(100);
  tft.fillScreen(TFT_BLACK);
  delay(500);
  tft.init();
  tft.setRotation(2);
  tft.setTextColor(TFT_WHITE, TFT_BLACK);
  tft.setTextSize(3);
  tft.setCursor(80, 150);
  tft.println("RESET");
}

void loop() {} 

After running this once, the panel was completely clean, with no ghost lines or flickering.
Then I uploaded my main dashboard code, and everything worked instantly.

Nach einmaligem AusfĂźhren war das Display komplett sauber, ohne Streifen oder Flackern.
Dann lud ich meinen Haupt-Dashboard-Code hoch und alles funktionierte auf Anhieb.

The Result / Das Ergebnis

The dashboard now boots instantly, connects to Wi-Fi, fetches the data from Blurt, Hive, and CoinGecko,
and displays everything neatly:

Blurt & Hive prices

Latest post votes and payout

Witness status with live rank


Das Dashboard startet sofort, verbindet sich mit dem WLAN,
ruft automatisch die Daten von Blurt, Hive und CoinGecko ab
und zeigt alles Ăźbersichtlich an:

Blurt- und Hive-Kurse

Neueste Votes und Payouts

Witness-Status inklusive Rang

No more visual artifacts or delay, just clean, reliable data.
Keine Streifen, keine VerzĂśgerung, nur klare Daten in Echtzeit.

Conclusion / Fazit

Sometimes a tiny missing command can make a big difference.
The LilyGO T-Display S3 is a great little device, but it definitely has its quirks.
Once the backlight timing and reset sequence were fixed, it turned into a stable, crisp dashboard for my blockchain stats.

Manchmal ist es nur ein einziger fehlender Befehl, der alles verändert.
Das LilyGO T-Display S3 ist ein tolles Gerät, aber mit kleinen Eigenheiten.
Sobald die Backlight-Steuerung und die Initialisierung stimmen, läuft es stabil und zuverlässig.

Now I can keep an eye on Blurt, Hive, and my witness status right on my desk, no PC needed.
And best of all: I finally tamed the T-Display. 😄

Jetzt kann ich meine Blurt- und Hive-Daten direkt auf dem Schreibtisch verfolgen,
und mein Witness-Rang ist immer im Blick.
Ein kleines Projekt mit großem Lerneffekt und endlich ein Display, das tut, was es soll.
😊

Final Thoughts / Abschließende Gedanken

It’s not perfect, but it works — and for someone who had no clue about this stuff, it’s not bad at all.
Okay, I had a bit of help from ChatGPT, otherwise I would have been completely lost. 😅

Es ist nicht perfekt, aber es läuft, und fßr jemanden, der davon keine Ahnung hatte, ist es gar nicht so schlecht.
Okay, ich hatte Hilfe von ChatGPT, sonst wäre ich aufgeschmissen gewesen.
😅

Thanks for Reading / Danke fĂźrs Lesen

Thanks for reading and see you on the chain!
Danke fßrs Lesen und bis zum nächsten Beitrag!


Banner.jpg


Dein Hornet on Tour
Your Hornet on Tour

Hornet on Tour

Instagram: hornet_on_tour
Twitter: OnHornet
Photo: Hornet on Tour

Translated with www.DeepL.com/Translator (free version)



0
0
0.000
2 comments
avatar

Cool, hast du dich auch schon an LoraWAN gewagt?

0
0
0.000
avatar

Leider nein noch nicht wäre, glaube ich auch interessant. Mal schauen wann ich dafßr Zeit finde.

0
0
0.000