Tentokrát jsem vyzkoušel malý monochromatický grafický displej OPEN-SMART 1,8″ LCD 128×64 s řadičem ST7567. Rozlišením připomíná běžné malé OLED displeje, místo OLED technologie ale používá klasický LCD panel.
Na displeji mě zaujal hlavně nízký odběr – bez podsvícení jsem naměřil pouze 0,6 mA. Můj kus jsem získal s demontovaným podsvícením a při běžném okolním světle je obraz velmi dobře vidět, takže podsvícení nakonec ani nepotřebuji.
Pro první test jsem displej připojil k desce LOLIN D1 mini s ESP8266 a ovládal ho pomocí knihovny U8g2.

Základní parametry
Displej používá řadič ST7567 a komunikuje pomocí čtyřvodičového SPI. Napájení i logické úrovně jsou 3,3 V, takže se k ESP8266 hodí bez nutnosti převodníku úrovní.
| Parametr | Hodnota |
|---|---|
| Typ | Monochromatický LCD |
| Úhlopříčka | 1,8″ |
| Rozlišení | 128 × 64 bodů |
| Řadič | ST7567 |
| Komunikace | 4vodičové SPI |
| Napájení | 3,3 V |
| Logické úrovně | 3,3 V |
| Rozměry modulu | 47,6 × 37 mm |
| Podsvícení | Bílé |
Standardní verze modulu obsahuje bílé podsvícení, které se zapíná připojením vývodu LED na GND.
Vývody displeje
Na modulu jsou vyvedené všechny signály potřebné pro SPI komunikaci.
| Vývod | Funkce |
|---|---|
GND | Zem |
3V3 | Napájení 3,3 V |
SCK | Hodinový signál SPI |
SDI | Datový vstup displeje – MOSI |
DC | Přepínání mezi příkazem a daty |
CS | Výběr displeje |
RST | Reset displeje |
LED | Podsvícení |
Displej pouze přijímá data, takže signál MISO zde není potřeba.

Připojení k ESP8266
Pro test jsem použil LOLIN D1 mini ESP8266. Je to 3,3 V deska, takže ji můžeme s displejem propojit přímo.
Pro datovou komunikaci jsem využil hardwarové SPI ESP8266.
Zapojení je následující:
| LCD | ESP8266 GPIO | Klasické označení D1 mini |
|---|---|---|
GND | GND | G |
3V3 | 3,3 V | 3V3 |
SCK | GPIO14 | D5 |
SDI | GPIO13 | D7 |
CS | GPIO15 | D8 |
DC | GPIO5 | D1 |
RST | GPIO4 | D2 |
LED | GND | volitelné podsvícení |
U mojí verze D1 mini jsou přímo na desce vytištěná čísla GPIO, proto v programu používám přímo čísla 14, 13, 15, 5 a 4. U jiných verzí desky se častěji setkáme s označením D1 až D8.

Podpora ESP8266 v Arduino IDE
Pokud ještě ESP8266 v Arduino IDE nemáme, musíme nejprve nainstalovat jeho podporu.
Do Soubor → Předvolby… → Další URL pro manager desek přidáme:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
Potom ve správci desek vyhledáme esp8266 a balík nainstalujeme.
Pro D1 mini potom vybereme desku:
LOLIN(WEMOS) D1 R2 & mini
Tato varianta je přímo součástí ESP8266 Arduino Core.
Knihovna U8g2
Pro ovládání displeje jsem použil knihovnu U8g2, kterou lze jednoduše nainstalovat přes správce knihoven Arduino IDE.
Výhodou je, že knihovna obsahuje přímo podporu varianty ST7567 OS12864, takže není potřeba upravovat ovladač nebo hledat nějakou speciální knihovnu. Oficiální seznam podporovaných displejů U8g2 obsahuje ST7567 OS12864.
V programu používám konstruktor:
U8G2_ST7567_OS12864_F_4W_HW_SPI
4W_HW_SPI znamená použití čtyřvodičové komunikace přes hardwarové SPI.
Zkušební program
Pro první test stačí na displeji zobrazit několik textů, rámeček a čáru. Tím se zároveň ověří komunikace a základní funkce displeje.
///////////////////////ST7567_LCD_TEST fw v.0.1 //////////////////////////////
///////////////////////16.8.2026 /////////////////////////////////////////////
///////////////////////www.michaluvbrloh.cz//////////////////////////////////
#include <Arduino.h> //základní funkce Arduino
#include <SPI.h> //hardwarová SPI komunikace
#include <U8g2lib.h> //ovládání grafického LCD
const byte LCD_CS = 15; //CS displeje - GPIO15
const byte LCD_DC = 5; //data/příkaz - GPIO5
const byte LCD_RST = 4; //reset displeje - GPIO4
// SCK = GPIO14
// MOSI = GPIO13
U8G2_ST7567_OS12864_F_4W_HW_SPI displej(
U8G2_R2,
LCD_CS,
LCD_DC,
LCD_RST
);
/////////////////////////////po spuštění///////////////////////////////////////////////////////////////////////////////////////
void setup()
{
displej.begin(); //inicializace displeje
displej.setContrast(0); //nastavení kontrastu
vypisTest(); //zobraz testovací obrazovku
}
/////////////////////////////hlavní smyčka/////////////////////////////////////////////////////////////////////////////////////
void loop()
{
//testovací obraz zůstává stále zobrazený
}
/////////////////////////////test displeje/////////////////////////////////////////////////////////////////////////////////////
void vypisTest()
{
displej.clearBuffer(); //vymaž obrazovou paměť
displej.drawFrame(0, 0, 128, 64); //rámeček kolem displeje
displej.setFont(u8g2_font_7x14B_tf);
displej.drawStr(17, 18, "ST7567 TEST");
displej.setFont(u8g2_font_6x10_tf);
displej.drawStr(13, 34, "LOLIN D1 mini");
displej.drawHLine(10, 41, 108); //vodorovná čára
displej.drawStr(26, 55, "Displej OK!");
displej.sendBuffer(); //odešli obraz do displeje
}
Po nahrání programu se zobrazí rámeček a několik řádků textu.

Kontrast
Při prvním spuštění je důležité správné nastavení kontrastu. Mně fungovala hodnota:
displej.setContrast(0);
Pokud by byl displej příliš tmavý, světlý nebo byla vidět téměř celá plocha, stojí za to právě tuto hodnotu změnit.
Kontrast je vhodné nastavit až podle konkrétního kusu displeje a podmínek, ve kterých bude používán.
Otočení obrazu
Po prvním spuštění jsem měl obraz vzhůru nohama. U8g2 naštěstí umožňuje orientaci změnit přímo při vytvoření objektu displeje.
Původní nastavení:
U8G2_R0
jsem nahradil za:
U8G2_R2
U8G2_R2 otočí obraz o 180°. Pokud je displej v projektu namontovaný opačně, stačí použít zpět U8G2_R0.
Není tedy potřeba ručně přepočítávat souřadnice jednotlivých prvků.
Zobrazení grafiky
Protože jde o grafický displej, nejsme omezeni pouze na předem dané textové znaky. Knihovna U8g2 umí kromě velkého množství fontů kreslit například čáry, rámečky, kružnice nebo bitmapové obrázky.
Například rámeček přes téměř celý displej vytvoří:
displej.drawFrame(0, 0, 128, 64);
Vodorovnou čáru:
displej.drawHLine(10, 41, 108);
A text:
displej.setFont(u8g2_font_6x10_tf);
displej.drawStr(10, 20, "Ahoj");
Při rozlišení 128 × 64 bodů je už dost prostoru například pro jednoduchá menu, hodnoty ze senzorů, grafy, ikony nebo stavové obrazovky.
Podsvícení
Modul je z výroby vybaven bílým podsvícením, které lze zapnout připojením pinu LED na zem.
Při testování jsem ale zjistil, že za běžného osvětlení je LCD pěkně čitelné i bez něj. Jelikož má můj displej podsvícení demontované, vůbec ho řešit nebudu.
Závěr
OPEN-SMART 1,8″ LCD s řadičem ST7567 se podařilo s ESP8266 rozchodit bez větších problémů. Stačí několik vodičů, 3,3 V napájení a knihovna U8g2, která má pro tento displej přímo připravenou podporu.
Displej nabízí rozlišení 128 × 64 bodů, takže na něm lze kromě textu zobrazovat i jednoduchou grafiku. Při testu jsem narazil jen na potřebu nastavit kontrast a otočit obraz o 180°, obojí ale U8g2 řeší jedním příkazem.
Příjemným překvapením pro mě byla hlavně dobrá čitelnost bez podsvícení. Pokud nebude zařízení používané ve tmě, nemusí být podsvit vůbec potřeba.
Tento LCD modul zakoupíte na Laskakit.cz, přímý odkaz je ZDE.
Další díly ze začátečnické série o modulech najdete ZDE.
