Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D: Examples, Pinouts, and Specs

Image of 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D
Cirkit Designer LogoDesign with 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in Cirkit Designer

Introduction

The 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D (Adafruit Part ID: 2050) is a versatile display module designed for embedded systems and graphical user interface (GUI) applications. It features a 3.5-inch TFT display with a resolution of 320x480 pixels, a resistive touchscreen for user interaction, and an integrated MicroSD card socket for external storage. This component is ideal for projects requiring vibrant graphics, touch input, and data storage, such as IoT devices, handheld controllers, and portable displays.

Explore Projects Built with 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Raspberry Pi 3B Powered 15.6-inch Touchscreen Display with USB Type-C Power Delivery
Image of Pi Touch Screen Kiosk: A project utilizing 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in a practical application
This circuit powers a 15.6-inch capacitive touch display and a Raspberry Pi 3B using a USB Type C power delivery breakout and two buck converters. The Raspberry Pi connects to the display via HDMI and USB for touch functionality, while the power delivery breakout provides regulated power to both the display and the Raspberry Pi through the buck converters.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Controlled TFT Touchscreen Interface
Image of Tablero Moto: A project utilizing 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in a practical application
This circuit connects an Arduino Mega 2560 microcontroller to a 3.5-inch 480x320 TFT LCD display. The Arduino provides power, ground, and digital signals to control the display, including data lines for pixel information and control lines for reset, write, and command/data selection. The embedded code initializes the display and configures the Arduino's pins for communication, likely to create a user interface or visual output for a project.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-C6 and ST7735S Display: Wi-Fi Controlled TFT Display Module
Image of ESP32-C6sm-ST7735: A project utilizing 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in a practical application
This circuit features an ESP32-C6 microcontroller interfaced with a China ST7735S 160x128 TFT display. The ESP32-C6 controls the display via SPI communication, providing power, ground, and control signals to render graphics and text on the screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32F103C8T6-Based Spectral Sensor with ST7735S Display and Pushbutton Control
Image of ColorSensor: A project utilizing 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in a practical application
This circuit features an STM32F103C8T6 microcontroller interfaced with a China ST7735S 160x128 display and two spectral sensors (Adafruit AS7262 and AS7261). It also includes two pushbuttons for user input, with the microcontroller managing the display and sensor data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Pi Touch Screen Kiosk: A project utilizing 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in a practical application
Raspberry Pi 3B Powered 15.6-inch Touchscreen Display with USB Type-C Power Delivery
This circuit powers a 15.6-inch capacitive touch display and a Raspberry Pi 3B using a USB Type C power delivery breakout and two buck converters. The Raspberry Pi connects to the display via HDMI and USB for touch functionality, while the power delivery breakout provides regulated power to both the display and the Raspberry Pi through the buck converters.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Tablero Moto: A project utilizing 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in a practical application
Arduino Mega 2560 Controlled TFT Touchscreen Interface
This circuit connects an Arduino Mega 2560 microcontroller to a 3.5-inch 480x320 TFT LCD display. The Arduino provides power, ground, and digital signals to control the display, including data lines for pixel information and control lines for reset, write, and command/data selection. The embedded code initializes the display and configures the Arduino's pins for communication, likely to create a user interface or visual output for a project.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32-C6sm-ST7735: A project utilizing 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in a practical application
ESP32-C6 and ST7735S Display: Wi-Fi Controlled TFT Display Module
This circuit features an ESP32-C6 microcontroller interfaced with a China ST7735S 160x128 TFT display. The ESP32-C6 controls the display via SPI communication, providing power, ground, and control signals to render graphics and text on the screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ColorSensor: A project utilizing 3.5" TFT 320x480 + Touchscreen Breakout Board w/MicroSD Socket - HX8357D in a practical application
STM32F103C8T6-Based Spectral Sensor with ST7735S Display and Pushbutton Control
This circuit features an STM32F103C8T6 microcontroller interfaced with a China ST7735S 160x128 display and two spectral sensors (Adafruit AS7262 and AS7261). It also includes two pushbuttons for user input, with the microcontroller managing the display and sensor data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Embedded systems with graphical user interfaces
  • IoT dashboards and control panels
  • Portable gaming devices
  • Data visualization and monitoring systems
  • Educational and prototyping projects

Technical Specifications

Key Technical Details

Parameter Value
Display Type TFT LCD
Screen Size 3.5 inches
Resolution 320x480 pixels
Controller IC HX8357D
Touchscreen Type Resistive
Interface SPI
Operating Voltage 3.3V logic (5V-tolerant inputs)
Backlight Voltage 3.2V (typical)
Backlight Current 20mA (typical)
MicroSD Socket Yes
Dimensions 56mm x 85mm x 4mm

Pin Configuration and Descriptions

The breakout board has multiple pins for power, data, and control. Below is the pinout:

Power and Control Pins

Pin Name Description
VIN Input voltage (3.3V to 5V). Powers the display and logic.
GND Ground connection.
3V3 3.3V output from the onboard regulator.
RESET Reset pin for the display. Active low.
CS Chip Select for the display. Active low.
DC Data/Command pin. High for data, low for commands.
MOSI SPI Master Out Slave In (data input to the display).
SCK SPI Clock.
MISO SPI Master In Slave Out (used for MicroSD card communication).
T_CS Chip Select for the touchscreen controller. Active low.
T_IRQ Interrupt pin for the touchscreen.

Touchscreen and MicroSD Pins

Pin Name Description
T_MOSI SPI MOSI for the touchscreen controller.
T_MISO SPI MISO for the touchscreen controller.
T_SCK SPI Clock for the touchscreen controller.
SD_CS Chip Select for the MicroSD card. Active low.

Usage Instructions

Connecting the Display to an Arduino UNO

To use the 3.5" TFT 320x480 + Touchscreen Breakout Board with an Arduino UNO, follow these steps:

  1. Wiring the Display: Connect the pins of the breakout board to the Arduino UNO as shown below:

    Breakout Pin Arduino Pin
    VIN 5V
    GND GND
    CS D10
    DC D9
    MOSI D11
    SCK D13
    RESET D8
    T_CS D4
    T_IRQ D3
    SD_CS D5
  2. Install Required Libraries:

    • Install the Adafruit_GFX and Adafruit_HX8357 libraries from the Arduino Library Manager.
    • For touchscreen functionality, install the Adafruit_STMPE610 library.
    • For MicroSD card functionality, install the SD library.
  3. Example Code: Below is an example sketch to initialize the display and draw basic graphics:

    #include <Adafruit_GFX.h>       // Core graphics library
    #include <Adafruit_HX8357.h>   // HX8357 driver
    #include <Adafruit_STMPE610.h> // Touchscreen driver
    #include <SPI.h>               // SPI library
    
    // Define pins
    #define TFT_CS   10  // Chip select for the display
    #define TFT_DC   9   // Data/Command pin
    #define TFT_RST  8   // Reset pin
    #define TOUCH_CS 4   // Chip select for touchscreen
    
    // Initialize display and touchscreen
    Adafruit_HX8357 tft = Adafruit_HX8357(TFT_CS, TFT_DC, TFT_RST);
    Adafruit_STMPE610 touch = Adafruit_STMPE610(TOUCH_CS);
    
    void setup() {
      // Initialize serial communication
      Serial.begin(9600);
      Serial.println("Initializing...");
    
      // Initialize the display
      tft.begin();
      tft.fillScreen(HX8357_BLACK);
      tft.setCursor(0, 0);
      tft.setTextColor(HX8357_WHITE);
      tft.setTextSize(2);
      tft.println("Hello, HX8357!");
    
      // Initialize the touchscreen
      if (!touch.begin()) {
        Serial.println("Touchscreen not found!");
        while (1);
      }
      Serial.println("Touchscreen initialized.");
    }
    
    void loop() {
      // Check for touch input
      if (touch.touched()) {
        TS_Point p = touch.getPoint();
        Serial.print("Touch at: ");
        Serial.print(p.x);
        Serial.print(", ");
        Serial.println(p.y);
      }
    }
    

Important Considerations

  • Ensure the display is powered with a stable voltage (3.3V or 5V).
  • Use level shifters if interfacing with 5V logic systems to avoid damaging the display.
  • Avoid touching the screen with sharp objects to prevent damage to the resistive layer.
  • Format the MicroSD card as FAT16 or FAT32 for compatibility.

Troubleshooting and FAQs

Common Issues

  1. The display does not turn on:

    • Verify all connections are secure and correct.
    • Ensure the VIN pin is receiving 3.3V or 5V.
    • Check if the RESET pin is properly connected.
  2. Touchscreen is unresponsive:

    • Confirm the T_CS and T_IRQ pins are correctly connected.
    • Ensure the Adafruit_STMPE610 library is installed and initialized.
  3. MicroSD card is not detected:

    • Verify the SD_CS pin connection.
    • Ensure the MicroSD card is formatted as FAT16 or FAT32.
  4. Graphics appear distorted or incorrect:

    • Check the SPI connections (MOSI, SCK, CS, DC).
    • Ensure the correct driver (Adafruit_HX8357) is being used.

Tips for Troubleshooting

  • Use a multimeter to check for continuity and proper voltage levels.
  • Test the display with example sketches from the Adafruit_HX8357 library.
  • Refer to the Adafruit forums for additional support and community advice.