// U8g2 library is used for monochrome GLCD
#include <U8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(
  U8G2_R0,
  U8X8_PIN_NONE,  // reset
  22,             // clock (SCL)
  21              // data (SDA)
);

void setup() {
  // Init UART
  Serial.begin(115200);
  Serial.println("Hello, ESP32!");

  // Init LCD
  u8g2.begin();
  u8g2.enableUTF8Print();
}

void loop() {
  // clear the internal memory
  u8g2.clearBuffer();

  // choose a suitable font
  u8g2.setFont(u8g2_font_ncenB08_tr);
  // write something to the internal memory
  u8g2.drawStr(0, 10, "Hello!");

  // choose a farsi font
  u8g2.setFont(u8g2_font_samim_10_t_all);
  u8g2.drawUTF8(0, 30, "!ﻡﻼﺳ");

  // transfer internal memory to the display
  u8g2.sendBuffer();
  delay(1000);
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
oled1:GND
oled1:VCC
oled1:SCL
oled1:SDA