Example Code for Arduino-Chinese Font Display

Last revision 2026/01/18

This article guides readers through the process of displaying Chinese fonts on an Arduino setup, detailing hardware and software preparations, wiring configurations, and providing example code for execution.

Hardware Preparation

  • FireBeetle ESP32-E (or similar) x 1
  • 1.8Inch 128×160 TFT LCD Display with MicroSD Card Slot x1
  • Wires

Software Preparation

Wiring Diagram

The following figure shows two ways of connection: SPI and GDI.

Connection

Other Preparation Work

  1. For using GDI, please make sure your controller has GDI interface.
  2. It is recommended to use Arduino version 1.8.10 and above.
  3. If the SD card slot is not well connected, the initialization may fail, and it will succeed after unplugging and plugging again.
  4. Arduino UNO is not recommended for memory reasons.
  5. All the Demos of this product are stored in the file of DFRobot_GDL->ST7735_128x160-.
  6. Before burning the Demo, please open the corresponding substantiation function (DFRobot_ST7789_128x160_HW_SPI)

Note

Sample Code

#include "DFRobot_GDL.h"
/*M0*/
#if defined ARDUINO_SAM_ZERO
#define TFT_DC  7
#define TFT_CS  5
#define TFT_RST 6
/*ESP32 ESP8266*/
#elif defined(ESP32)
#define TFT_DC  D2
#define TFT_CS  D6
#define TFT_RST D3
/*ESP8266*/
#elif defined(ESP8266)
#define TFT_DC  D4
#define TFT_CS  D6
#define TFT_RST D5
/* AVR series mainboard */
#else
#define TFT_DC  2
#define TFT_CS  3
#define TFT_RST 4
#endif

DFRobot_ST7735_128x160_HW_SPI screen(/*dc=*/TFT_DC,/*cs=*/TFT_CS,/*rst=*/TFT_RST);
/* M0 mainboard DMA transfer */
//DFRobot_ST7735_128x160_DMA_SPI screen(/*dc=*/TFT_DC,/*cs=*/TFT_CS,/*rst=*/TFT_RST);



void setup() {
  Serial.begin(115200);
  screen.begin();
}

void loop() {
  screen.setTextSize(4);
  screen.fillScreen(COLOR_RGB565_BLACK);
  screen.setFont(&SIMKAIFont12pt);
  screen.setCursor(/*x=*/10,/*y=*/120);
  screen.setTextColor(COLOR_RGB565_BLUE); 
  screen.setTextWrap(true);
  screen.print("你好");
  delay(2000);
  screen.fillScreen(COLOR_RGB565_BLACK);
  screen.setFont(&SIMKAIFont18pt);
  screen.setCursor(/*x=*/32,/*y=*/64);
  screen.setTextColor(COLOR_RGB565_RED);
  screen.setTextWrap(true);
  screen.print("你好");
  delay(2000);

  screen.fillScreen(COLOR_RGB565_BLACK);
  screen.setFont(&SIMKAIFont24pt);
  screen.setCursor(/*x=*/32,/*y=*/64);
  screen.setTextColor(COLOR_RGB565_BLUE);
  screen.setTextWrap(true);
  screen.print("你好");
  delay(2000);

  screen.fillScreen(COLOR_RGB565_BLACK);
  screen.setFont(&SIMKAIFont36pt);
  screen.setCursor(/*x=*/32,/*y=*/64);
  screen.setTextColor(COLOR_RGB565_WHITE);
  screen.setTextWrap(true);
  screen.print("你好");
  delay(2000);

  screen.fillScreen(COLOR_RGB565_BLACK);
  screen.setFont(&SIMKAIFont48pt);
  screen.setCursor(/*x=*/32,/*y=*/64);
  screen.setTextColor(COLOR_RGB565_YELLOW);
  screen.setTextWrap(true);
  screen.print("你好");
  delay(2000);

}

Result

0928-3

Was this article helpful?

TOP