Overview

The HX8357 (specifically variants HX8357-C and HX8357-D) is a single-chip 320x480 resolution 65K/262K-color TFT LCD controller/driver manufactured by Himax Technologies. Commonly mounted on 3.5-inch color TFT breakout boards, Adafruit FeatherWings, and Raspberry Pi display HATs, it drives full 320×480320 \times 480 HVGA graphics displays.

Integrating an internal 460.8 KB Graphic RAM (GRAM) frame buffer, digital gamma control, and timing generators, the HX8357 supports both high-speed 4-wire SPI (up to 30 MHz) and 8-bit / 16-bit 8080-parallel bus interfaces. It is natively supported by Adafruit_GFX, TFT_eSPI, and ESPHome.

Quick reference

Operating voltage (VIN)3.3 V to 5.0 V DC (breakout module with 3.3V LDO regulator)
IC supply voltage (VDD)2.4 V to 3.3 V DC (3.3 V nominal)
Interface4-Wire SPI (up to 30 MHz) or 8-Bit / 16-Bit Parallel 8080
Resolution320×480320 \times 480 pixels (HVGA 3.5" display format)
Color depth16-bit RGB565 (65,53665,536 colors) / 18-bit (262,144262,144 colors)
Onboard GRAM460.8 KB internal frame buffer
Backlight controlPWM-dimmable LED backlight pin (LITE / LED)

Pinout (SPI Mode Breakout Header)

PinNameTypeDescription
1VINPowerSupply power input (+3.3 V to +5.0 V DC)
2GNDPowerGround reference (0 V)
3CSDigital InputActive-Low SPI Chip Select
4C/D / DCDigital InputCommand / Data select pin (Low = Command, High = Data)
5RSTDigital InputActive-Low hardware reset pin
6MOSI / SDIDigital InputSPI Master Output Slave Input
7SCK / CLKDigital InputSPI Serial Clock
8MISO / SDODigital OutputSPI Master Input Slave Output (Data Read)
9LITE / LEDDigital InputBacklight anode power control (PWM dimmable)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply Voltage (Module)VVINV_{VIN}3.33.3 / 5.05.5VPower rail with LDO
Logic I/O VoltageVIOV_{IO}1.653.33.3V3.3V logic (5V requires level shifters)
Logic Current (Logic Only)IlogicI_{logic}1015mAActive display drawing
Backlight LED CurrentIledI_{led}100150mA100% LED backlight brightness
Max SPI Clock FrequencyfSPIf_{SPI}02430MHzSPI write operations
Display Frame RateFPSFPS306090HzProgrammable internal refresh

Display Orientation & Color Formats

  • RGB565 16-Bit Color Format: 5 bits Red, 6 bits Green, 5 bits Blue.
  • Display Rotation Modes:
    • 0: Portrait (320×480320 \times 480, connector at bottom).
    • 1: Landscape (480×320480 \times 320, connector at right).
    • 2: Reverse Portrait (320×480320 \times 480, connector at top).
    • 3: Reverse Landscape (480×320480 \times 320, connector at left).

Wiring (SPI Interface Mode)

HX8357 PinArduino Uno (via Level Shifter)ESP32Notes
VIN5V / 3.3V3.3VPower rail
GNDGNDGNDSystem ground
CSDigital D10GPIO 15SPI Chip Select
DCDigital D9GPIO 2Command/Data Select
RSTDigital D8GPIO 4Hardware Reset
MOSIDigital D11GPIO 23SPI MOSI
SCKDigital D13GPIO 18SPI Clock
LITE3.3V / 5VGPIO 5PWM Backlight Dimming

Example (Adafruit_HX8357 Library)

cpp
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_HX8357.h>

#define TFT_CS   15
#define TFT_DC   2
#define TFT_RST  4

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

void setup() {
  Serial.begin(115200);
  Serial.println("HX8357 320x480 TFT Display Test");

  tft.begin(HX8357D); // Initialize HX8357D variant
  tft.setRotation(1); // Landscape 480x320

  tft.fillScreen(HX8357_BLACK);
  tft.setTextColor(HX8357_WHITE);
  tft.setTextSize(3);
  tft.setCursor(20, 20);
  tft.println("VoltDocs TFT");

  tft.drawRect(20, 80, 440, 200, HX8357_BLUE);
  tft.fillCircle(240, 180, 50, HX8357_RED);
}

void loop() {
  // Main display loop
}

Common mistakes

  • Selecting wrong driver sub-variant (HX8357-B vs HX8357-D): HX8357-C and HX8357-D have different initialization command sequence registers than earlier HX8357-B chips. Ensure tft.begin(HX8357D) is selected in software.
  • Connecting 5V logic directly without level shifters: While module VIN accepts 5V, the HX8357 logic signals (CS, DC, MOSI, SCK) are 3.3V logic max.

Notes

  • HX8357 vs ILI9341 vs ILI9488: HX8357 and ILI9488 drive 3.5" 320×480320 \times 480 displays; ILI9341 drives 2.2" to 2.8" 240×320240 \times 320 displays.

Assets & downloads