Skip to content

gen4-ESP32 Series

Description

The gen4-ESP32 Series of Intelligent Display Modules, is designed and manufactured by 4D Systems.

These display modules are available in 2.4", 2.8", 3.2" and 3.5", offering an SPI Interface between the ESP32-S3R8 Processor, and the TFT LCD Displays. The 2.4", 2.8" and 3.5" displays are IPS TFT LCD's, and the 3.2" is a TN TFT LCD.

Available in Non-Touch, Capacitive Touch, and Capacitive Touch with Cover Lens Bezel (CLB). Resistive Touch is not available at this time due to space constrains on the PCB for an RTP controller.

The ESP32-S3R8 Processor makes available multiple GPIO which include UART, SPI, I2C, PWM and Analog functionality, while also serving interfaces for the LCD Touch screen, Quad SPI Flash, microSD Card, and Native USB-C.

The user interface to the gen4-ESP32 series is a 30-pin FPC/ZIF socket, designed for a 30-way 0.5mm pitch FFC cable, for easy and simple connection to an application or motherboard, or for connecting to accessory boards for a range of functionality advancements.

This series of boards is compatible with the 4D Systems Workshop4 IDE, utilising the Espressif compiler and 4D Systems purpose built libraries, allowing a feature rich design and programming experience.

Any code designed and written to run on other 4D Systems display modules, such as modules featuring Goldelox, Picaso, Pixxi or Diablo16 Graphics Processors, are unfortunately not compatible with the gen4-ESP32 range due to being a totally different processor family. However, please contact 4D Systems Support Team for assistance if you are planning on migrating from a different 4D Systems display model, as there are some similarities between them - such as the graphics, however a majority of the coding will have to be adapted.

From a mechanical perspective, these gen4-ESP32 modules are physically the same mounting size as other gen4 products by 4D Systems. The only difference is the circuitry used. Overall thickness of these gen4-ESP32 modules are greater than other gen4 products, due to the USB-C connector. Typically, where ever a different gen4 module had been mounted, a gen4-ESP32 module could fit in the same location.

gen4-ESP32-32CT-CLB - Front

gen4-ESP32-32CT-CLB Front

gen4-ESP32-32CT-CLB - Rear

gen4-ESP32-32CT-CLB Rear

gen4-ESP32-32CT - Front

gen4-ESP32-32CT Front

gen4-ESP32-32CT - Rear

gen4-ESP32-32CT Rear

Features

  • Powerful ESP32 Graphics Processor by Espressif.
  • 240x320 resolution displays for 2.4", 2.8", and 3.2", while a 320x480 resolution display for 3.5", utilising RGB-565 colours.
  • IPS TFT LCD display for 2.4", 2.8" and 3.5" and TN TFT LCD display for 3.2".
  • Available in non-Touch, Capacitive Touch, and Capacitive Touch with Cover Lens Bezel (CLB).
  • 16MB of External Quad SPI Flash.
  • 8MB of Internal Octal SPI PSRAM.
  • Up to 20 GPIO of which
    • Capable of SPI (2 Channels), I2C (2 Channels), UART (3 Channels), Digital Input/Output, Analog Input (2 Channels) and other ESP32-S3 supported IO functions.
    • 2 GPIO dedicated to Native USB-C functionality (GPIO19/20) unless that is hardware disabled, it is then available as GPIO.
    • 1 GPIO available after boot (GPIO0), strapping pin.
    • 2 GPIO available if the UART is not required (GPIO43/44)
  • Serial UART (GPIO43/44), and up to 3 more UART's available by utilising available GPIO.
  • 30pin FPC connection, for all signals, power, communications, GPIO and UART programming.
  • Push/Pull micro-SD memory card connector for multimedia storage and data logging purposes.
  • Display full colour images, animations, icons and video clips.
  • 4.0V to 6.0V range operation (single supply).
  • 4x mounting tabs with 3.2mm holes for mechanical mounting using M3 screws (non CLB models only).
  • 3M Adhesive around perimeter of Cover Lens Bezel for mounting the CTP-CLB model.
  • RoHS and REACH compliant.
  • CE/EMC and UKCA compliance pending.
  • PCB is UL 94V-0 Flammability Rated.

  • Module dimensions:
    • (2.4" non-Touch): 78.4 x 44.8 x 11.3mm
    • (2.4" Capacitive Touch): 78.4 x 44.8 x 12.4mm
    • (2.4" Capacitive Touch w/ CLB): 79.0 x 58.7 x 12.4mm
    • (2.8" non-Touch): 87.3 x 52.1 x 11.5mm
    • (2.8" Capacitive Touch): 87.3 x 52.1 x 12.6mm
    • (2.8" Capacitive Touch w/ CLB): 87.6 x 67.2 x 12.6mm
    • (3.2" non-Touch): 95.7 x 57.14 x 12.9mm
    • (3.2" Capacitive Touch): 95.7 x 57.1 x 13.6mm
    • (3.2" Capacitive Touch w/ CLB): 98.8 x 72.6 x 13.6mm
    • (3.5" non-Touch): 101.1 x 56.6 x 12.4mm
    • (3.5" Capacitive Touch): 101.1 x 56.6 x 13.1mm
    • (3.5" Capacitive Touch w/ CLB): 104.2 x 72.1 x 13.1mm
  • Weighing (approximately):
    • (2.4" non-Touch): ~ 21g
    • (2.4" Capacitive Touch): ~ 26g
    • (2.4" Capacitive Touch w/ CLB): ~ 30g
    • (2.8" non-Touch): ~ 29g
    • (2.8" Capacitive Touch): ~ 36g
    • (2.8" Capacitive Touch w/ CLB): ~ 41g
    • (3.2" non-Touch): ~ 32g
    • (3.2" Capacitive Touch): ~ 48g
    • (3.2" Capacitive Touch w/ CLB): ~ 54g
    • (3.5" non-Touch): ~ 37g
    • (3.5" Capacitive Touch): ~ 47g
    • (3.5" Capacitive Touch w/ CLB): ~ 54g

Hardware Overview

Hardware Overview

Hardware Layout (2.8" CTP Module depicted)

Pin Symbol I/O Description
1 GND P Supply Ground
2 GPIO17 I/O/A General Purpose Input/Output capable of Analog, 3.3V logic.
3 GPIO18 I/O/A General Purpose Input/Output capable of Analog, 3.3V logic.
4 GPIO16 I/O/A General Purpose Input/Output pin capable of Analog, 3.3V logic
5 GPIO15 I/O/A General Purpose Input/Output pin capable of Analog, 3.3V logic
6 GPIO48 I/O General Purpose Input/Output pin, 3.3V logic
7 GPIO47 I/O General Purpose Input/Output pin, 3.3V logic
8 GPIO38 I/O General Purpose Input/Output pin, 3.3V logic
9 GPIO39 I/O General Purpose Input/Output pin, 3.3V logic
10 GPIO40 I/O General Purpose Input/Output pin, 3.3V logic
11 GPIO6 I/O/A General Purpose Input/Output pin capable of Analog, 3.3V logic
12 GPIO5 I/O/A General Purpose Input/Output pin capable of Analog, 3.3V logic
13 GPIO3 I/O/A General Purpose Input/Output pin capable of Analog, 3.3V logic
14 GPIO45 I/O General Purpose Input/Output pin, 3.3V logic
15 GPIO46 I/O General Purpose Input/Output pin, 3.3V logic
16 GPIO20* I/O/A N/C unless hardware mod, then General Purpose Input/Output pin capable of Analog, 3.3V logic
17 GPIO19* I/O/A N/C unless hardware mod, then General Purpose Input/Output pin capable of Analog, 3.3V logic
18 GPIO11* - N/C unless hardware mod, then General Purpose Input/Output pin, 3.3V logic
19 GPIO0 I/O Available after boot, GPIO0 is used for Programming and Boot Strapping. General Purpose Input/Output, 3.3V logic
20 3.3V P 3.3V Output for User, connected to system 3.3V bus. Excessive draw will affect system stability. 100mA-200mA draw should be OK
21 GND P Supply Ground
22 EN-RST I Master Reset/Enable signal. Internally pulled up to 3.3V via a 10K resistor. Low will disable the chip, High will activate the chip. Used by a UART programmer for programming sequence.
23 U0RXD I Asynchronous Serial Receive pin, 3.3V TTL level. Connect this pin to the Transmit (Tx) signal of other serial devices. Used in conjunction with the U0TXD pin for UART programming. This pin is 3.3V Logic only. (GPIO44)
24 U0TX0 O Asynchronous Serial Transmit pin, 3.3V TTL level. Connect this pin to the Receive (Rx) signal of other serial devices. Used in conjunction with the U0RXD pin for UART programming. This pin is 3.3V Logic only. (GPIO43)
25 GND P Supply Ground
26 5V IN P Main Voltage Supply +ve input pin. Reverse polarity protected. The range is 4.0V to 6.0V, nominal 5.0V.
27 5V IN P Main Voltage Supply +ve input pin. Reverse polarity protected. The range is 4.0V to 6.0V, nominal 5.0V.
28 5V IN P Main Voltage Supply +ve input pin. Reverse polarity protected. The range is 4.0V to 6.0V, nominal 5.0V.
29 5V IN P Main Voltage Supply +ve input pin. Reverse polarity protected. The range is 4.0V to 6.0V, nominal 5.0V.
30 GND P Supply Ground

Note

  1. I = Input, O = Output, P = Power, A = Analog Input
  2. It is recommended to connect 2 or more 5V IN pins to a stable 5V DC power supply, as well as 2 or more GND pins.
  3. Please refer to the Espressif ESP32-S3 datasheet for specific detail on the capability of the ESP32-S3 GPIO, in conjunction with the schematic of this module.

Hardware Interface - Pins

This section describes in detail the hardware interface pins of the module.

Serial Ports - 3.3V TTL Level

The gen4-ESP32 Series has a single dedicated serial UART, which is broken out to the 30-way FFC connector on this module (Pins 23 and 24). The module is capable of turning the available native GPIO into more serial UART's also, based on the functionality of the ESP32-S3 processor. Please refer to the ESP32-S3 Espressif Datasheet for more detail.

Depending on which on-board peripherals are used, multiple additional UARTS could be configured on the spare GPIO pins.

The module can be programmed over UART (rather than native USB-C) utilising the U0RXD/U0TXD pins, in conjunction with EN-RST and GPIO0.

I2C Port - 3.3V TTL Level

The gen4-ESP32 Series has 2 pins earmarked as I2C pins (Pins 2 and 3) which have pull-up resistors installed on the PCB, and the pins are available on the 30-way FFC connector, however other GPIO can be used for I2C also instead, just external pull-up resistors will be required. The earmarked pins can be utilised by the User for general purpose I2C devices, or as General Purpose IO and is not shared with any on-board components, so is free to be used as required.

SPI Port - 3.3V TTL Level

The gen4-ESP32 Series has a dedicated SPI port for the micro-SD connector, which is not otherwise accessible to the User on the 30 way FFC connector, but additional SPI buses can be set up using the spare GPIO pins to use as is required by the User.

General Purpose I/O

There are 20 general-purpose Input/Output (GPIO) pins available to the user. Many of these can be configured to be SPI, I2C and UART, amongst other configurations. Please refer to the Espressif ESP32-S3 datasheet for more specific information.

Pin Name Digital Input Digital Output Analog Read SPI-2/3 I2C-1/2 I2S Pulse Counter PWM-0/1 UART
GPIO17 Yes Yes Yes Yes Yes Yes Yes Yes Yes
GPIO18 Yes Yes Yes Yes Yes Yes Yes Yes Yes
GPIO16 Yes Yes Yes Yes Yes Yes Yes Yes Yes
GPIO15 Yes Yes Yes Yes Yes Yes Yes Yes Yes
GPIO48 Yes Yes Yes Yes Yes Yes Yes Yes
GPIO47 Yes Yes Yes Yes Yes Yes Yes Yes
GPIO38 Yes Yes Yes Yes Yes Yes Yes Yes
GPIO39 Yes Yes Yes Yes Yes Yes Yes Yes
GPIO40 Yes Yes Yes Yes Yes Yes Yes Yes
GPIO6 Yes Yes Yes Yes Yes Yes Yes Yes Yes
GPIO5 Yes Yes Yes Yes Yes Yes Yes Yes Yes
GPIO3 Yes Yes Yes Yes Yes Yes Yes Yes Yes
GPIO45 Yes Yes Yes Yes Yes Yes Yes Yes
GPIO46 Yes Yes Yes Yes Yes Yes Yes Yes
GPIO20 Yes** Yes** Yes** Yes** Yes* Yes* Yes* Yes* Yes*
GPIO19 Yes** Yes** Yes** Yes** Yes* Yes* Yes* Yes* Yes*
GPIO11 Yes** Yes** Yes** Yes** Yes* Yes* Yes* Yes* Yes*
GPIO0 Yes Yes Yes Yes Yes Yes Yes Yes
GPIO43 Yes* Yes* Yes* Yes* Yes (TX)
GPIO44 Yes* Yes* Yes* Yes* Yes (RX)
Channels ALL ALL 2x ADC 2x SPI 2x I2C 1x I2S 2x P.C. 2x PWM 2x UART

Note 1: GPIO marked with * are only available if the hardware is configured to do so, as by default they have other functions.
Note 2: GPIO marked with ** require hardware modifications to achieve, please refer to the Hardware Mods section for more detail.
Note 3: There are limited channels of each type of IO, all 20 GPIO's cannot be configured to all be Analog Input, or all 18 GPIO's be configured to be UART's - for example. Most GPIO pins are capable of taking on various configurations however.

Please refer to the Espressif ESP32-S3 datasheet and Technical Reference Manual for information on how to configure the GPIO for various functions, such as DI/DO, AO, I2C, UART and SPI, etc.

GPIO17

General purpose I/O pin, capable of Digital Input and Output, along with Analog Input. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO18

General purpose I/O pin, capable of Digital Input and Output, along with Analog Input. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO16

General purpose I/O pin, capable of Digital Input and Output, along with Analog Input. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO15

General purpose I/O pin, capable of Digital Input and Output, along with Analog Input. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO48

General purpose I/O pin, capable of Digital Input and Output. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO47

General purpose I/O pin, capable of Digital Input and Output. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO38

General purpose I/O pin, capable of Digital Input and Output. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO39

General purpose I/O pin, capable of Digital Input and Output. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO40

General purpose I/O pin, capable of Digital Input and Output. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO6

General purpose I/O pin, capable of Digital Input and Output, along with Analog Input. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO5

General purpose I/O pin, capable of Digital Input and Output, along with Analog Input. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO3

General purpose I/O pin, capable of Digital Input and Output, along with Analog Input. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO45

General purpose I/O pin, capable of Digital Input and Output. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO46

General purpose I/O pin, capable of Digital Input and Output. This pin is 3.3V tolerant only and 3.3V logic level. Can be configured for additional functionality such as SPI, I2C, UART etc. - please refer to Arduino-ESP32 documentation or ESP-IDF documentation.

GPIO20

By default, this pin is not available to the User, and is not hardware connected to the 30-way FFC connector. By default, this pin is used by the native USB-C port (USB D+). This can however be configured to be connected to the 30-way FFC connector if the USB-C port is not required. When modified in hardware (refer to the Hardware Mods section), this pin is a General Purpose I/O pin and can be utilised for Digital Input and Output, as well as Analog Input, amongst other native functionality. This pin is 3.3V tolerant only and 3.3V logic level.

GPIO19

By default, this pin is not available to the User, and is not hardware connected to the 30-way FFC connector. By default, this pin is used by the native USB-C port (USB D-). This can however be configured to be connected to the 30-way FFC connector if the USB-C port is not required. When modified in hardware (refer to the Hardware Mods section), this pin is a General Purpose I/O pin and can be utilised for Digital Input and Output, as well as Analog Input, amongst other functionality. This pin is 3.3V tolerant only and 3.3V logic level.

GPIO11

By default, this pin is not available to the User, and is not hardware connected to the 30-way FFC connector. By default, this pin is used for the RESET of the Touch Panel. This can however be configured to be connected to the 30-way FFC connector if this functionality is not required. When modified in hardware (refer to the Hardware Mods section), this pin is a General Purpose I/O pin and can be utilised for Digital Input and Output, as well as Analog Input, amongst other functionality. This pin is 3.3V tolerant only and 3.3V logic level.

GPIO0

Available after boot, GPIO0 is used for Programming via UART and for Boot Strapping. It can be used as a standard GPIO pin after boot, and is 3.3V tolerant only and 3.3V logic level. At start up, this pin must be pulled-up or allowed to float taking into account the weak internal pull-up (as is the default of this GPIO), which sets the boot up of the ESP32-S3 to be in SPI mode. This pin must not be pulled down externally during system boot, or the module will not boot correctly. This pin is also used by the UART Programmer (if utilised) which changes the boot mode into Download mode at the appropriate time. It is best to leave this pin unused where possible if it is not fully understood. Please refer to the Espressif documentation for more detail.

GPIO43

GPIO43 is used typically as the primary UART, TX pin. If a UART is not required on this pin, then it can be used for GPIO instead. It is capable of Digital Input and Output only. It is 3.3V tolerant only and 3.3V logic level.

GPIO44

GPIO44 is used typically as the primary UART, RX pin. If a UART is not required on this pin, then it can be used for GPIO instead. It is capable of Digital Input and Output only. It is 3.3V tolerant only and 3.3V logic level.

System Pins

5V IN (Module Voltage Input):

Module supply voltage input pins. At least two (however ideally four) of these pins should be connected to a stable supply voltage in the range of 4.0 Volts to 5.5 Volts DC. Nominal operating voltage is 5.0 Volts. Utilising 4 pins shares the current over the FFC cable, which is important for the larger size displays.

GND (Module Ground):

Device ground pins. At least two (ideally four) pins should be connected to the ground.

EN-RST (Module Enable/Disable/Reset):

This pin is connected to a 10K pull-up resistor, which is pulling the module to the enabled state by default. Pulling this pin to 0V will disable the module, and put it into a reset state. Pulling the pin High or floating (due to build in pull-up resistor) will enable the module. This pin is utilised when utilising the UART Programming method.

Accessing Other GPIO Pins - Hardware Mods Required

GPIO19

GPIO19 by default is USB-D-, part of the USB+/USB- combination for the Native USB-C port.

If there is no desire to utilise the onboard USB-C connector, or an external extension is going to be made utilising the 30-way FFC connector, or the pins are desired to be GPIO, it is possible to achieve with a small hardware modification. In order to access this pin on the 30-way FFC, a resistor needs to be removed (R26) and another needs to be added (R22) or a simple solder blob will suffice in this position.

If this is going to be a required modification for your end-product, and it will be used in a production application, it is possible to request 4D Systems to move this by default when you order the product. Please contact our Sales team with your requirements.

GPIO20

GPIO20 by default is USB-D+, part of the USB+/USB- combination for the Native USB-C port.

If there is no desire to utilise the onboard USB-C connector, or an external extension is going to be made utilising the 30-way FFC connector, or the pins are desired to be GPIO, it is possible to achieve with a small hardware modification. In order to access this pin on the 30-way FFC, a resistor needs to be removed (R25) and another needs to be added (R23) or a simple solder blob will suffice in this position.

If this is going to be a required modification for your end-product, and it will be used in a production application, it is possible to request 4D Systems to move this by default when you order the product. Please contact our Sales team with your requirements.

GPIO11

By default, this pin is not available to the User, and is not hardware connected to the 30-way FFC connector. By default, this pin is connected to the Touch Panels RESET pin.

If there is no requirement for touch (ie you have a non-Touch module), or this pin is required, and you plan on modifying the code/library to not utilise this pin, it can be redirected to the 30-way FFC by removing resistor R9, and adding it back into the position of Resistor R8 (or simply placing a solder blob).

If this is going to be a required modification for your end-product, and it will be used in a production application, it is possible to request 4D Systems to move this by default when you order the product. Please contact our Sales team with your requirements.

Module Features

The gen4-ESP32 Series is designed to accommodate a wide variety of applications. Some of the main features of the module are listed below.

ESP32-S3R8 Processor

The module is designed around the ESP32-S3R8 Processor from Espressif. This model of ESP32-S3 has 8MB of build in Octal SPI PSRAM, and utilises External Quad SPI Flash for application storage. Media is typically stored on a micro-SD card, however some types of media can be stored in SPI Flash, however it is very limited for capacity.

Chipsets used

The gen4-ESP32 Series of modules utilises a few chipsets from various manufacturers, in order for these modules to operate. Please refer to the Schematic for connection details.

  • The main processor is an Espressif ESP32-S3R8, as mentioned in the previous section.
  • For Capacitive Touch models, the chipset for the capacitive touch is I2C driven, and the chipset is found on the Display flex itself. These utilise Focaltech controllers for 2.4", 2.8", 3.2" and 3.5" models.
  • The Quad SPI Flash memory used on these modules, is the Giga-Devices GD25Q127C, which is 16MB in capacity, and interfaces to the ESP32-S3 on the same Octal/Quad SPI bus as the PSRAM which is built into the ESP32-S3R8 chipset itself.
  • The micro-SD card interface, while not a chipset, is still worthy of note. It utilises a dedicated 1-bit SPI bus from the ESP32-S3, which can be shared with the User if required. The micro-SD cards used must be SPI compatible due to the interface type - more detail below.

SD/SDHC Memory Cards

The gen4-ESP32 modules use off-the-shelf standard SDHC/SD/microSD memory cards with up to 4GB capacity usable with FAT16 formatting, and much higher with FAT32 formatting. For any FAT file-related operations, before the memory card can be used it must first be formatted. The formatting of the card can be done on any PC system with a card reader.

Cards with a FAT16 formatting (4GB or under partition) are capable of operating faster on this display module, compared to the same card (16GB for example) with a single FAT32 partition, due to the nature of FAT16 vs FAT32 file transfers. If your application media can fit inside a 4GB partition, it is recommended to use FAT16 to gain the maximal speed possible.

SD Card

RMPET, a 4D Systems Tool found in the Workshop4 IDE, is capable of repartitioning and formatting microSD cards for FAT16, to be the appropriate type and format. This tool should be used for all cards as it also employs an offset which is critical when using Industrial microSD cards which feature Read Disturb Prevention firmware, which is a special firmware inside the microSD card designed to prevent Read Disturb occurring on NAND based Flash media. Further, discussed in the note.

Note

  1. An SPI Compatible SDHC/SD/microSD card MUST be used. The gen4-ESP32 modules requires SPI mode to communicate with the SD card. If a non-SPI compatible SD card is used, then the processor will not be able to mount the card.
  2. Read disturbance is a well-known issue with flash memory devices, such as microSD cards, where reading data from a flash cell can cause the nearby cells in the same memory block to change over time. This issue can be prevented by using industrial-grade microSD cards with read disturb protection. Industrial-grade microSD cards have firmware that actively monitors the read operation and refreshes areas of memory that have high traffic and even move data around to prevent read disturb error from occurring. Furthermore, manufacturers may choose to implement read disturb protection on a specific part of the flash memory only, such that the beginning part of the memory might not be protected. The RMPET utility in Workshop4 is designed to create the first partition at an offset from the start of the microSD card to account for this situation. It is therefore recommended to always partition and format an industrial microSD card using the RMPET utility before using it with 4D Systems modules. Many commercial grade cards designed for Cameras etc, do not handle read disturb well at all, and therefore it is always recommended to use an Industrial grade microSD card with 4D modules. 4D offers one that is tried and tested, on our website.

microSD Socket Usage

On the 2.4" to 3.5" gen4-ESP32 modules is a Push-Pull microSD socket. The microSD card sits above the component level. To use this socket is simple if you follow these easy steps.

  • Position the microSD card in line with the microSD socket, above the components.
  • Push the microSD card into the socket, until it slides all the way in.

Please refer to the following animation for guidance:

Please refer to the following diagram for guidance:

Video Player

Sequence

FAT16 vs FAT32

FAT16 is capable of having a partition with up to 4GB capacity usable. While this might seem like a limitation, it still offers the best performance for small processor systems such as the ESP32-S3. Larger partitions are possible with FAT32 formatting, however smaller cluster size results, giving slightly worse performance.

For any FAT file-related operations, before the memory card can be used it must first be formatted correctly. Built into Workshop4 is a tool created by 4D, called RMPET (please refer to the Tools menu, in any Environment, inside the Workshop4 IDE). RMPET allows the User to easily partition and format microSD cards, to make their file system ready to be used with 4D Systems modules. The formatting of the card can be done on any Windows PC system with a card reader.

Display/Module Precautions

  • Avoid having to display the same image/object on the screen for lengthy periods. This can cause a burn-in which is a common problem with all types of display technologies. Blank the screen after a while or dim it very low by adjusting the contrast. Better still; implement a screen saver feature.
  • Moisture and water can damage the display. Moisture on the surface of a powered display should not cause any problems, however, if water is to enter the display either from the front or from the rear, or come in contact with the PCB, it will damage. Wipe off any moisture gently or let the display dry before usage. If using this display module in an environment where it can get wet, ensure an appropriate enclosure is used.
  • Dirt from fingerprint oil and fat can easily stain the surface of the display. Gently wipe off any stains with a soft lint-free cloth.
  • The performance of the display will degrade under high temperatures and humidity. Avoid such conditions when storing.
  • Do not tamper with the display flex cable that is connected to the control board. This may affect the connection between the display and the driving circuitry and cause failure.
  • Displays are susceptible to mechanical shock and any force exerted on the module may result in deformed zebra stripes, a cracked display cell and a broken backlight.
  • Always use the mounting holes on the module's to mount the display where possible, or mount using the CLB for CLB based modules.
  • Display modules have a finite life, which is typically dictated by the display itself, more specifically the backlight. The backlight contains LEDs, which fade over time. In the Specifications section is a figure for the typical life of the display, and the criteria are listed. The resistive Touch model features a touch-sensitive film over the display which is sensitive to pressure. When mounting the display module in an enclosure, you should not apply pressure to the surface of the display by the enclosure. It could result in false touches or the touch will simply not function at all.

Hardware Tools

The following hardware tools are required for full control of the gen4-ESP32 Display Modules.

4D-UPA

The 4D-UPA minimizes the connections and modules required for programming the gen4-ESP32 series via its UART - creating a single module with a micro USB interface, and DIP style pads for GPIO breakout of all the signals used on the gen4 Display interface, which is useful for development or final product use.

The GPIO naming convention on the 4D-UPA does not reflect the GPIO naming of the actual display module, due to the 4D-UPA being universal and able to be used with many 4D Products. Please review the 4D-UPA datasheet for information on mapping the GPIO naming from this module, with the GPIO naming on the 4D-UPA, to ensure you connect to the correct pins you desire.

Typically, a 4D-UPA should not be required for programming the gen4-ESP32 series of modules, as they have USB-C on board, however if problems occur or situations arise that the USB-C is non-functional, then the 4D-UPA would be required, so it is a good tool to have on hand.

4D-UPA Connection

The 4D-UPA is connected to the ESP32 module using the supplied 30-way FFC Cable. The connectors on both the ESP32 module, and the 4D-UPA, are Top-Contact, meaning the FFC cable pins should be facing upwards, and the blue stiffener, should be facing down towards the PCB.

Note

  1. 4D-UPA REV 1.4 or higher is required to program a ESP32 processor via the 30-way interface. Any version earlier than REV 1.4 will not work for programming ESP32 based products. Please be sure to refer to the 4D-UPA Datasheet.
  2. If using the 4D-UPA, only the supplied FFC cable (or same type) can be used. The type of cable supplied, as described in the FFC Cable section, is an Opposite type (contacts on opposite sides to each other at end end). If a straight cable (contacts on the same side at both ends) is sourced, this will NOT work when connecting to the 4D-UPA, as the connections will be swapped. Please refer to the information provided for more detail.

USB-C Cable

A USB-C Cable is the primary way to program a gen4-ESP32 module from 4D Systems, aside from using a 4D-UPA, as described previously.

A USB-C cable is not supplied with the modules, as they can be sourced from any computer or hardware store, and come with most Cell Phones these days too.

Connection of the USB-C cable to the module is simple, and simply plugs into the USB-C connector on the board, clearing the gen4 plastics on the side.

The USB-C provides power as well as USB Data communications, for while developing software on the module and programming it. The USB-C cable can be used in the end product use if desired, or the use of the FFC-Cable directly to the projects main Application PCB as an alternative.

USB-C Connection

USB-C Connection

Workshop4 IDE

Workshop4 is a comprehensive software IDE that provides an integrated software development platform for all the 4D family of processors and modules, as well as some 3rd party processors such as the Espressif ESP32.

The IDE provides an Editor and WYSIWYG design area for gen4-ESP32 based modules, to develop complete application code with various widgets and media references as required. All user application code is developed within the Workshop4 IDE, and is easily coupled with graphics and media, so is a one-stop shop for development with these modules.

The Workshop4 IDE utilises the Arduino IDE 2.x CLI to handle the compiling, linking and downloading of ESP32 based projects, using the ESP32 Arduino Core and associated libraries, without having to interface with the Arduino IDE at all.

Note

Arduino IDE 2.x and Arduino CLI is not included when installing Workshop4 and must be installed separately.

For complete development setup instructions, please refer to the Workshop4 ESP32 Development Manual

Tools available inside the Workshop IDE

Built into Workshop4 are a number of tools which are available to aid the programming of the gen4-ESP32 series of displays.

Terminal, as the name implies, is a terminal application that can be used to communicate with the display module and is primarily used for basic debugging. It displays incoming Serial messages from the display module in ASCII and HEX format. It is capable of sending character or hex strings as well as keystrokes to the display.

RMPET is a partitioning and formatting tool, used to correctly set up a micro-SD card for use with 4D Systems products. This is further discussed in the SD/SDHC Memory Cards section

Programming Language

The programming language used in the Workshop4 IDE to program the gen4-ESP32 series of modules, is C++, which is the same as native Arduino IDE written code.

The Arduino programming language is a user-friendly coding system tailored for Arduino microcontrollers. It simplifies microcontroller coding, bridging the gap between users and hardware. Its approachability and community support make it ideal for various projects.

Display Module Part Numbers

The following is a breakdown of the part numbers and what they mean.

Example:

  • gen4-ESP32-24
  • gen4-ESP32-32CT-CLB

Example Starter Kits

  • SK-gen4-ESP32-24
  • SK-gen4-ESP32-32CT-CLB

where:

SK - Starter Kit (kitting of multiple parts)
gen4 - gen4 Display Range
ESP32 - ESP32 Display Family
24 - Display size (2.4")
28 - Display size (2.8")
32 - Display size (3.2")
35 - Display size (3.5")
CT - Capacitive Touch
CLB - Cover Lens Bezel

Note

  • The SK at the start denotes it’s a Starter Kit, and the rest of the part number describes the display module in the Starter Kit.
  • A product without a T or CT in the part number is a non-touch variant.
  • Cover Lens Bezels (CLB) are glass fronts for the display module with overhanging edges, which allow the display module to be mounted directly into a panel using special adhesive on the overhanging glass. This is available for capacitive touch only.

Cover Lens Bezel - Tape Spec

The perimeter of the CLB display modules features double-sided adhesive tape, designed to stick directly onto a panel, enclosure, box etc. without the need for any mounting screws or hardware.

The tape used is 3M 9495LE tape, which uses well-known and strong 3M 300LSE adhesives. The double-sided adhesive has a thickness of 0.17mm once the backing has been removed.

More information on this adhesive can be found on the 3M website.

FFC Cable

The FFC cables supplied by 4D Systems (included with products) have the following specifications:

  • 30 Pin Flexible Flat Cable, 150mm Long, 0.5mm (0.02") pitch
  • Cable Type: AWM 20624 80C 60V VW-1
  • Heat Resistance 80 Degrees Celsius
  • Connections on the opposite side at each end (Type B)

You can get different cable lengths from the 4D Systems website.

FFC Cable

Note

If you are interfacing with this module directly to your product via the 30-way FFC rather than utilising a breakout board or 4D-UPA, suitable connectors are readily available from many electronics suppliers, such as Digikey, Mouser, Farnell, RS, etc.

A standard 30-pin, 0.5mm pitch, 0.3mm thick FFC, FFC connector. They are available in Top Contact and Bottom Contact, so depending how you orientate the cable on your product, will determine which one you need. Please however take care of the pinout and how it flows from the display module, through the FFC and into your product, to ensure Pin1 and Pin30 are where you expect them to be.

Starter Kit

4D Systems highly recommends all first-time buyers of 4D Systems’ displays, to purchase the Starter Kit when purchasing their first 4D Systems display solution.

The Starter Kit provides all the hardware that is required to get the User up and running.

Starter Kits typically include:

  • gen4 ESP32 Display Module
  • gen4 Breakout Board (gen4-Breakout)
  • 4D Universal Programming Adaptor (4D-UPA REV1.4 or higher)
  • 4GB micro-SD Card
  • 150mm 30-way FFC cable for connecting display to gen4-Breakout, 4D-UPA, or Users System
  • Wi-Fi Antenna (u.FL to SMA, and screw on SMA antenna)

Please refer to the 4D Systems website for the current components included in the Starter Kit.

Simply select the Starter Kit option when purchasing the chosen display module on the 4D Systems shopping cart, or from your local distributor.

2.4" Mechanical Details (Non-Touch, Capacitive Touch)

gen4-ESP32-24 / 24CT Mechanical Drawing

2.4" Mechanical Details (Capacitive Touch with CLB)

gen4-ESP32-24CT-CLB Mechanical Drawing

2.8" Mechanical Details (Non-Touch, Capacitive Touch)

gen4-ESP32-28 / 28CT Mechanical Drawing

2.8" Mechanical Details (Capacitive Touch with CLB)

gen4-ESP32-28CT-CLB Mechanical Drawing

3.2" Mechanical Details (Non-Touch, Capacitive Touch)

gen4-ESP32-32 / 32CT Mechanical Drawing

3.2" Mechanical Details (Capacitive Touch with CLB)

gen4-ESP32-32CT-CLB Mechanical Drawing

3.5" Mechanical Details (Non-Touch, Capacitive Touch)

gen4-ESP32-24 / 35CT Mechanical Drawing

3.5" Mechanical Details (Capacitive Touch with CLB)

gen4-ESP32-35CT-CLB Mechanical Drawing

Schematic Circuit Details

gen4-ESP32 Schematic

Specifications

Absolute Maximum Ratings

Operating ambient temperature -20°C to +65°C (see note 1 and 2)
Storage temperature -30°C to +80°C
Voltage on any digital input pin (ESP32) with respect to GND -0.3V to 3.6V
Voltage on any digital input pin (IO Expander) with respect to GND -0.3V to 6.0V
Voltage on VCC with respect to GND -0.3V to 6.5V

Note

  1. Quote Espressif

    "Ambient temperature specifies the recommended temperature range of the environment immediately outside an Espressif chip. For ESP32-S3R8 if the PSRAM ECC function is enabled, the maximum ambient temperature can be improved to 85°C, while the usable size of PSRAM will be reduced by 1/16"

  2. Temperature range for Ambient and Storage, are determined by a combination of components used on these modules. While some components may be capable of exceeding these temperatures, some are not, so the minimums/maximums are determined by the weakest device on the modules. Based on the 65°C/85°C note above, if the ESP32-S3R8 is increased to 85°C capability, the next 'weakest' component on the module is the TFT LCD, which is capable of -20°C to 70°C Operating Temp.

  3. Stresses above those listed here may cause permanent damage to the device. This is for stress rating only and functional operation of the device at those or any other conditions above those indicated in the recommended operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

Recommended Operating Conditions

Parameter Conditions Min Typ Max Units
Supply Voltage (VCC) Stable external supply required 4.0 5.0 6.0 V
Processor voltage (VP) -- 3.3 -- V
Input Low Voltage (VIL) all pins 0 -- 0.25VP V
Input High Voltage (VIH) all pins 0.8VP -- 5.5 V

Global Characteristics Based on Operating Conditions

Parameter Conditions Min Typ Max Units
Supply Current (ICC) *** gen4-ESP32-24 (Contrast = 15) -- 149 -- mA
gen4-ESP32-24CT (Contrast = 15) -- 150 -- mA
gen4-ESP32-24CT-CLB (Contrast = 15) -- 150 -- mA
gen4-ESP32-28 (Contrast = 15) -- 149 -- mA
gen4-ESP32-28CT (Contrast = 15) -- 150 -- mA
gen4-ESP32-28CT-CLB (Contrast = 15) -- 150 -- mA
gen4-ESP32-32 (Contrast = 15) -- 188 -- mA
gen4-ESP32-32CT (Contrast = 15) -- 190 -- mA
gen4-ESP32-32CT-CLB (Contrast = 15) -- 190 -- mA
gen4-ESP32-35 (Contrast = 15) -- 183 -- mA
gen4-ESP32-35CT (Contrast = 15) -- 184 -- mA
gen4-ESP32-35CT-CLB (Contrast = 15) -- 184 -- mA
Display Endurance Hours of operation, measured to when display is 50% original brightness 30000 -- -- H
Touch Screen Transparency Capacitive Touch 90 -- -- %
CLB Hardness Cover Lens Bezel Glass Hardness -- 6 -- H

Note

Typical Supply Current (ICC) figures are without WiFi enabled, without microSD card inserted, and using simple display operations only. Any additional load such as GPIO sourcing, WiFi etc, will increase this figure. This is a Typical figure only, not a Maximum.

LCD DISPLAY INFORMATION (TN DISPLAY)

Parameter Conditions Specification
Display Type TN - TFT Transmissive LCD
Display Size 3.2" Diagonal
Display Resolution 240 x 320 (Portrait Viewing)
Display Brightness gen4-ESP32-32 (Contrast = 15) 200 cd/m2
gen4-ESP32-32CT (Contrast = 15) 190 cd/m2
gen4-ESP32-32CT-CLB (Contrast = 15) 190 cd/m2
Display Contrast Ratio Typical 250:1
Display Viewing Angles Above Centre 35 Degrees
Below Centre 55 Degrees
Left of Centre 55 Degrees
Right of Centre 55 Degrees
Display Viewing Direction 6 O'clock Display (Optimal viewing is from below when in Portrait mode)
Display Backlighting White LED Backlighting 1x6 Parallel LED's
Pixel Pitch 0.2025 x 0.2025mm (Square pixels)
Pixel Density Number of pixels in 1 row in 25.4mm1 127 DPI/PPI

LCD DISPLAY INFORMATION (IPS DISPLAY)

Parameter Conditions Specification
Display Type IPS - TFT Transmissive LCD
Display Size 2.4" Models 2.4" Diagonal
2.8" Models 2.8" Diagonal
3.5" Models 3.5" Diagonal
Display Resolution 2.4" and 2.8" Models 240 x 320 (Portrait Viewing)
3.5" Models 320 x 480 (Portrait Viewing)
Display Brightness gen4-ESP32-24 (Contrast = 15) 320 cd/m2
gen4-ESP32-24CT (Contrast = 15) 300 cd/m2
gen4-ESP32-24CT-CLB (Contrast = 15) 300 cd/m2
gen4-ESP32-28 (Contrast = 15) 300 cd/m2
gen4-ESP32-28CT (Contrast = 15) 280 cd/m2
gen4-ESP32-28CT-CLB (Contrast = 15) 280 cd/m2
gen4-ESP32-35 (Contrast = 15) 320 cd/m2
gen4-ESP32-35CT (Contrast = 15) 295 cd/m2
gen4-ESP32-35CT-CLB (Contrast = 15) 295 cd/m2
Display Contrast Ratio Typical (2.4", 2.8") 800:1
Typical (3.5") 1000:1
Display Viewing Angles Above Centre 80 Degrees
Below Centre 80 Degrees
Left of Centre 80 Degrees
Right of Centre 80 Degrees
Display Viewing Direction ALL (wide viewing IPS Display)
Display Backlighting 2.4" and 2.8" Models 1x4 Parallel LED's
3.5" Models 1x6 Parallel LED's
Pixel Pitch 2.4" Models 0.153 x 0.153mm (Square pixels)
2.8" Models 0.180 x 0.180mm (Square pixels)
3.5" Models 0.153 x 0.153mm (Square pixels)
Pixel Density Number of pixels in 1 row in 25.4mm, 2.4” 166 DPI/PPI
Number of pixels in 1 row in 25.4mm, 2.8” 141 DPI/PPI
Number of pixels in 1 row in 25.4mm, 3.5” 166 DPI/PPI

Note

Relevant for all TN and IPS displays, the Displays used are of the highest rated 'Grade A', which allows for 0-4 defective pixels.
A defective pixel could be solid Black (Dead), White, Red, Green or Blue.

Revision History

Datasheet Revision

Revision Number Date Description
0.1 25/05/2023 Internal Use Only
1.0 12/09/2023 Initial Public Release Version
1.1 12/06/2024 Table and paragraph formatting changes
Added missing GPIO 45 and 46 descriptions
Fixed link to datasheet and API references

Hardware Revision

Revision Number Date Description
1.0 17/04/2023 Initial Public Release Version