ST7789V 1.14" IPS TFT Screen | M5Stack StickC PLUS2 | 135×240
ST7789V 1.14-Inch IPS TFT Replacement Screen for M5Stack StickC PLUS2 Keep your M5Stack StickC PLUS series running at its best with this precision-matched 1.14-inch IPS TFT LCD rep lacement screen. Driven by the industry-proven ST7789V controller, this display delivers vivid 135×240 full-color output across all viewing angles. Whether you're restoring a damaged screen or sourcing a spare for your M5StickC PLUS2 development kit, this drop-in replacement is engineered for exact hardware compatibility — same FPC pinout, same glass dimensions, same software stack. The display uses a toughened IPS panel available from both BOE and JDI suppliers. Both versions are fully hardware- and software-compatible and interchangeable, so you can solder either without code changes. The 4-line SPI interface connects directly to the host MCU at 3.3V logic, and the single-LED backlight keeps power draw at a lean 20mA. Technical Specifications Parameter Value Screen Size 1.14 inches Panel Type IPS LCD (High-Definition) Resolution 135(H) × RGB × 240(V) pixels Driver IC ST7789V Communication Interface 4-Line SPI Display Colors Full Color (262K colors) Active Display Area 14.864(H) × 24.912(V) mm Overall Dimensions 17.6(H) × 31.0(V) × 1.6(D) mm Pixel Size 0.1101(H) × 0.1038(V) mm Solder Connector (FPC) 13-Pin, 0.7mm pitch (solder type) Plug Connector (FPC) 8-Pin, 0.5mm pitch (plug type) Glass Type Toughened glass (BOE or JDI, fully compatible) Viewing Angle All View (IPS technology) Operating Voltage 3.3V Operating Current 20mA Backlight Type 1× LED Operating Temperature -20°C to +70°C Board Layout & Label Guide The replacement module is a direct board-level match for the M5StickC PLUS2 display assembly. Key connector and layout details: Top FPC (13-Pin, 0.7mm pitch, solder type): Power rails (VCC 3.3V, GND), SPI data lines (MOSI/MISO/SCLK), chip-select (CS), data/command (DC), reset (RST), and backlight enable (BL). Matches the M5StickC PLUS2 mainboard pad layout. Bottom FPC (8-Pin, 0.5mm pitch, plug type): Secondary connector for touch or backlight control on extended variants. Active Area: Centered within the 17.6 × 31.0mm glass outline. The 14.864 × 24.912mm active zone provides the full 135×240 pixel canvas. Glass Supplier (BOE vs JDI): Both toughened glass variants ship with identical electrical characteristics. No firmware or driver changes needed — swap freely between suppliers. Driver IC (ST7789V): Located on the FPC. Communicates via 4-wire SPI (MOSI, SCLK, CS, DC). Reset line (RST) is active-low. Supports 16-bit (RGB565) and 18-bit (RGB666) color depth. Backlight LED: Single white LED integrated into the light guide panel. Brightness controlled via PWM on the BL pin. No Exposed Solder Joints on Glass: All electrical connections route through the FPC ribbon. The glass edges are sealed — do not apply mechanical stress near the FPC attachment zones. Application Scenarios 1. Direct Screen Replacement on M5StickC PLUS2 The most common use case — replacing a cracked, dead, or dim screen on an M5StickC PLUS series device. No code changes required; the ST7789V driver is already supported by the M5StickCPlus2 library. // Existing M5StickC PLUS2 code continues to work after screen swap #include void setup() { auto cfg = M5.config(); M5.begin(cfg); M5.Lcd.setRotation(3); M5.Lcd.fillScreen(BLACK); M5.Lcd.setTextSize(2); M5.Lcd.setTextColor(GREEN); M5.Lcd.setCursor(10, 60); M5.Lcd.println("Screen OK!"); } void loop() { M5.update(); } 2. Custom ESP32 SPI Display Driver (TFT_eSPI) Use this screen as a standalone SPI display on any ESP32 board with the popular TFT_eSPI library. Define pin assignments in User_Setup.h and use full graphics API immediately. // User_Setup.h (TFT_eSPI) #define ST7789_DRIVER #define TFT_WIDTH 135 #define TFT_HEIGHT 240 #define TFT_MOSI 15 #define TFT_SCLK 13 #define TFT_CS 5 #define TFT_DC 23 #define TFT_RST 18 #define TFT_BL 4 #define TFT_BACKLIGHT_ON HIGH #define SPI_FREQUENCY 40000000 // main.ino #include TFT_eSPI tft = TFT_eSPI(); void setup() { pinMode(TFT_BL, OUTPUT); digitalWrite(TFT_BL, HIGH); tft.init(); tft.setRotation(1); tft.fillScreen(TFT_BLACK); tft.setTextColor(TFT_WHITE, TFT_BLACK); tft.drawString("Hello ST7789V!", 10, 10, 2); } 3. MicroPython / UIFlow Display Output Drive the screen from MicroPython on an M5Stack ATOM Lite or compatible ESP32 board using the st7789 library. import st7789 import vga1_bold_16x32 as font from machine import Pin, SPI spi = SPI(2, baudrate=40000000, sck=Pin(13), mosi=Pin(15)) display = st7789.ST7789( spi, 135, 240, reset=Pin(18, Pin.OUT), cs=Pin(5, Pin.OUT), dc=Pin(23, Pin.OUT), backlight=Pin(4, Pin.OUT), rotation=1 ) display.init() display.fill(st7789.BLACK) display.text(font, "ST7789V Ready", 5, 100, st7789.WHITE, st7789.BLACK) 4. Real-Time Sensor Dashboard on M5Stack Core2 Pair this display concept with an M5Stack Core2 to build a dual-screen IoT monitoring station. The Core2 handles sensor logic while the StickC PLUS2 with this screen shows a secondary data readout. // Display live temperature on a compact StickC PLUS2 screen #include float temperature = 0.0; void setup() { M5.begin(); M5.Lcd.setRotation(3); M5.Lcd.fillScreen(BLACK); M5.Lcd.setTextFont(4); M5.Lcd.setTextColor(YELLOW); } void loop() { M5.update(); temperature = M5.Imu.getTemp(); // Internal temperature sensor M5.Lcd.fillScreen(BLACK); M5.Lcd.setCursor(10, 40); M5.Lcd.printf("Temp: %.1f C", temperature); delay(1000); } 5. Cardputer Display Module Prototyping The M5Stack Cardputer-Adv uses the same ST7789V driver at 135×240 resolution. Prototype display layouts on a StickC PLUS2 first, then transfer code directly — the display dimensions and SPI command set are identical. // Shared display layout code (works on both StickC PLUS2 and Cardputer-Adv) #include TFT_eSPI tft = TFT_eSPI(); void drawStatusBar(String label, int value, uint16_t color) { tft.fillRect(0, 0, 135, 20, TFT_DARKGREY); tft.setTextColor(color, TFT_DARKGREY); tft.setTextSize(1); tft.setCursor(4, 5); tft.printf("%s: %d", label.c_str(), value); } void setup() { tft.init(); tft.setRotation(1); tft.fillScreen(TFT_BLACK); drawStatusBar("RSSI", -67, TFT_GREEN); } 6. Low-Power Wearable Display Node The 20mA backlight current and 3.3V operating voltage make this screen suitable for battery-powered wearable builds. Combine with deep-sleep cycling to extend runtime significantly. // Deep-sleep display update pattern (ESP32 + ST7789V) #include #include TFT_eSPI tft = TFT_eSPI(); #define SLEEP_DURATION_US (30 * 1000000ULL) // 30 seconds void setup() { tft.init(); tft.setRotation(1); tft.fillScreen(TFT_BLACK); tft.setTextColor(TFT_CYAN); tft.setTextSize(2); tft.setCursor(10, 60); tft.println("Wakeup!"); delay(3000); // Show for 3 seconds // Turn off backlight before sleep pinMode(4, OUTPUT); digitalWrite(4, LOW); esp_sleep_enable_timer_wakeup(SLEEP_DURATION_US); esp_deep_sleep_start(); } void loop() {} Packing List 1× 1.14-inch IPS TFT LCD Screen Module (ST7789V, 135×240, FPC connector) Note: This is a bare screen module. No PCB adapter, no headers, no cables included. Compatible with M5StickC PLUS2 board layout. Glass supplier (BOE or JDI) may vary — both are fully compatible. FAQ Q1: Is this screen compatible with the original M5StickC PLUS (not PLUS2)? A: The M5StickC PLUS and PLUS2 both use a 1.14-inch 135×240 ST7789V-driven display with the same FPC layout. However, the mechanical fit depends on the chassis. Electrically, the screens are identical — verify your board revision before ordering. Q2: BOE vs JDI glass — which one will I receive? A: Both are in stock, and the shipped unit may be from either supplier depending on current inventory. Both variants are electrically and software-identical. You do not need to change any code or driver configuration based on the glass supplier. Q3: What SPI speed does the ST7789V support? A: The ST7789V supports SPI clock rates up to 80MHz theoretically, but most ESP32 implementations run stably at 40MHz. TFT_eSPI defaults to 40MHz for this panel, which is optimal for smooth animation without communication errors. Q4: Can I use this screen with Arduino (AVR-based boards like UNO or Nano)? A: Yes, but with limitations. AVR boards lack the SPI speed of ESP32. Expect slower refresh rates (~5–10 fps) due to the 8MHz SPI maximum on most AVR chips. Use the Adafruit ST7789 library with hardware SPI for best results. Q5: Does the replacement screen include a touch layer? A: No. This is a display-only module — it has no capacitive or resistive touch layer. If your project requires touch input, look for a display module with an integrated touch controller such as FT6336. Q6: What color depth does the ST7789V support? A: The ST7789V supports 12-bit (RGB444), 16-bit (RGB565), and 18-bit (RGB666) color depth modes. Most libraries default to 16-bit RGB565 (65K colors), which is a good balance of color quality and SPI bus efficiency. Full 262K colors require 18-bit mode. Q7: What tools do I need to replace the screen on my M5StickC PLUS2? A: You need a plastic spudger or pry tool to open the StickC PLUS2 shell, tweezers for handling the FPC ribbon, and optionally a hot air station (around 80°C) to loosen the adhesive around the display frame. Avoid sharp metal tools near the FPC attachment points. Q8: Will the M5Stack UIFlow / MicroPython firmware automatically detect the replacement screen? A: Yes. The M5StickC PLUS2 factory firmware and UIFlow runtime detect the display by its hardware connection, not by an identifier chip. Since this replacement uses the same ST7789V driver and FPC pinout, the display will work out-of-the-box with all official M5Stack firmware after installation.