______________________________________________________________________________________________________________________________________________________________________________
______________________________________________________________________________________________________________________________________________________________________________

11 listopada 2025

WYŚWIETLACZ ST7789P3

 


Nietypowy wyświetlacz ST7789P3  284×73 pix – test i charakterystyka

 

 

Wprowadzenie

Zakupiłem ostatnio ciekawy wyświetlacz w rozsądnej cenie:

 

 

 

W świecie mikrokontrolerów i wyświetlaczy TFT czasami natrafiamy na perełki, które wyróżniają się nietypowymi parametrami. Takim właśnie egzemplarzem jest wyświetlacz ST7789P3 – sterownik znany, ale w zupełnie niestandardowym wykonaniu. W tym artykule omówię ten ciekawy wyświetlacz i pokażę, jak go uruchomić z ESP32.

Parametry techniczne



SterownikST7789P3
Rozdzielczość284 × 73 pikseli
InterfejsSPI
Kolory16-bit (65K kolorów)
Wymiary aktywne  ~61.0 × 15.7 mm
PodświetlenieLED, 3.3V
Napięcie zasilania3.3V

Uwaga: Rozdzielczość 284×73 pikseli jest nietypowa dla sterowników ST7789, które zazwyczaj obsługują standardowe rozdzielczości jak 240×240 czy 135×240. Ten "wąski i szeroki" format sprawia, że wyświetlacz idealnie nadaje się do aplikacji wymagających pasków stanu, wskaźników czy minimalistycznych interfejsów.

Podłączenie do ESP32

Konfiguracja połączeń z mikrokontrolerem ESP32 przedstawia się następująco:

cpp
#define TFT_CS            15  // Chip Select
#define TFT_RST            4  // Reset
#define TFT_DC              2  // Data/Command
#define TFT_MOSI         23  // MOSI (SDA)
#define TFT_SCLK         18  // Clock (SCK)
#define TFT_BACKLIGHT  5  // Podświetlenie

Schemat połączeń:

  • VCC → 3.3V ESP32

  • GND → GND ESP32

  • CS    → GPIO15

  • RST  → GPIO4

  • DC    → GPIO2

  • SDA  → GPIO23

  • SCK  → GPIO18

  • BL     → GPIO5

Kluczowa różnica: podświetlenie aktywne stanem LOW

UWAGA! To najważniejsza informacja dla osób mających problemy z uruchomieniem tego wyświetlacza:

cpp
pinMode(TFT_BACKLIGHT, OUTPUT);
digitalWrite(TFT_BACKLIGHT, LOW);   // AKTYWACJA podświetlenia

W przeciwieństwie do większości standardowych wyświetlaczy ST7789, gdzie podświetlenie aktywowane jest stanem HIGH, w modelu ST7789P3 podświetlenie wymaga stanu LOW. To częsty powód, dla którego wiele osób sądzi, że ma uszkodzony egzemplarz – podświetlenie po prostu nie świeci, mimo poprawnego podłączenia.

Inicjalizacja w Arduino IDE

Do obsługi wyświetlacza wykorzystaliśmy bibliotekę Adafruit_ST7789 z następującą konfiguracją:

cpp
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>

#define TFT_WIDTH 284
#define TFT_HEIGHT 76

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  pinMode(TFT_BACKLIGHT, OUTPUT);
  digitalWrite(TFT_BACKLIGHT, LOW); // Włącz podświetlenie
  
  tft.init(TFT_HEIGHT, TFT_WIDTH); // Uwaga: wysokość, szerokość
  tft.setRotation(1);              // Obrót 90°
  tft.fillScreen(ST77XX_BLACK);
}

Ważne: W funkcji init() podajemy najpierw wysokość (76), a potem szerokość (284), a dopiero setRotation(1) zapewnia prawidłową orientację poziomą.

Teraz niestety będziemy mieli obraz w negatywie. Musimy zmienić go na pozytyw. To znaczy, w sekcji Viod Setup () musimy dodać:

  tft.invertDisplay(false);

 

Wyzwania i rozwiązania

Podczas konfiguracji napotkałem kilka wyzwań:

  1. Nietypowa rozdzielczość - wymagała ręcznego zdefiniowania wymiarów

  2. Orientacja - konieczność użycia setRotation(1) dla pozycji poziomej

  3. Podświetlenie - odwrotna polaryzacja niż w standardowych modelach

  4. Optymalizacja animacji - konieczność minimalizowania mrugania poprzez częściowe odświeżanie

Przykładowe zastosowania

Dzięki nietypowym proporcjom, wyświetlacz idealnie nadaje się do:

  • Pasków stanu i wskaźników progresu 

  • Miniaturowych konsoli do debugowania 

  • Wyświetlaczy parametrów w projektach audio a szczególnie jako wyświetlacze do zasilaczy

  • Interface'ów dla czujników środowiskowych

  • Projektów wearable tech (ze względu na wąski format) 

Podsumowanie

ST7789P3 w rozdzielczości 284×73 to ciekawa alternatywa dla standardowych wyświetlaczy TFT. Pomimo początkowych wyzwań konfiguracyjnych, oferuje unikalne możliwości dla niszowych aplikacji. Kluczowe dla sukcesu jest pamiętanie o odwróconej polaryzacji podświetlenia - bez tej wiedzy uruchomienie wyświetlacza może być frustrującym doświadczeniem.

Czy warto? Dla projektów wymagających kompaktowego, poziomego wyświetlacza - zdecydowanie tak! To dowód na to, że nawet znane sterowniki mogą kryć w sobie nietypowe implementacje wartexploration. Do tego ta cena!

Napisałem prosty program demonstrujący podstawowe możliwości wyświetlacza a za razem testujący go. 

 


W rzeczywistości kolory są inne. Są pięknie nasycone i ostre. Niestety, mój aparat ma inne zdanie...

Pliki do pobrania: Pełny kod demo dostępny jest w repozytorium projektu. Pamiętaj o autorze i wspomnij o nim gdy będziesz rozpowszechniał ten program i projekt :) Dziękuję.

Test i demo wyświetlacza ST7789P3 -link