logo elektroda
logo elektroda
X
logo elektroda

7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL?

p.kaczmarek2 1602 7

TL;DR

  • CrowPanel DIS08070H 7-inch capacitive touchscreen HMI based on ESP32-S3-WROOM-1-N4R8 is shown running LVGL.
  • The key trick is enabling the board in ESP32_Display_Panel, which auto-defines RGB LCD, touch, I²C, and GPIO pins instead of manual mapping.
  • The panel uses an 800×480 RGB display with EK9716BD3 and EK73002ACGB controllers, GT911 touch, and sells for around 100 PLN.
  • Integration only required two Kconfig settings in ESP-IDF, and the library handled the rest automatically.
  • The UI works, but the author notes it will not match a modern tablet and FPS drops as elements increase.
Generated by the language model.
ADVERTISEMENT
This content has been translated flag-pl » flag-en View the original version here
📢 Listen (AI):
  • 7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL?
    The CrowPanel DIS08070H is a 7-inch capacitive touchscreen HMI with a resolution of 800×480 pixels, designed as a ready-to-use platform for building user interfaces in embedded systems. The device is based on the ESP32-S3-WROOM-1-N4R8 module, which offers a dual-core Xtensa LX7 processor clocked at up to 240 MHz, 4 MB Flash and 8 MB PSRAM, as well as built-in Wi-Fi and Bluetooth 5.0 connectivity. The TFT-LCD display used utilises the EK9716BD3 and EK73002ACGB control chips, operating in parallel RGB interface mode for an 800×480 panel, enabling smooth graphics in libraries such as LVGL without the typical performance limitations of the SPI bus. This is complemented by additional hardware interfaces (UART, I²C, GPIO), a microSD card slot and audio output, allowing the panel to be used as a solid base for many IoT and automation projects.
    The device is available to buy for around 100 PLN. It also comes with cables (USB and Crowtail/Dupont) and a brief manual.
    7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL? 7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL? 7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL?
    The specific location of the connectors is shown in the graphic:
    7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL?
    I have included the diagram as an attachment in PDF format.

    The board has a sample program uploaded:
    7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL? 7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL? 7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL?
    I made a backup copy of it:
    https://github.com/openshwprojects/FlashDumps/commit/23b44a168f7a9ba962a8a85af8078f628fac1384

    The board is easiest to run with the library ESP32_Display_Panel . I have already presented the library in the context of other displays:
    ESP32-S3-Touch-LCD-4.3 i.e. ESP32-S3 and touchscreen - running in PlatformIO
    Waveshare ESP32-S3-Touch-LCD-5 - Wi-Fi, BLE, CAN, RS485 and 800x480 touchscreen
    The situation here is similar. Getting started comes down to enabling support for our particular board in the library configuration. This automatically sets all the hardware pin numbers (from the RGB LCD bus, touchpad, I2C, etc.) so we don't have to search for a catalogue note and manually map the pins.
    For example, in an Arduino IDE (or PlatformIO) environment, it is usually enough to uncomment the macro in the ESP_Panel_Board_Supported.h file:
    Code: C / C++
    Log in, to see the code


    This time we used our multi-platform IoT firmware supporting over 32 platforms for this process, although the driver only runs on ESP32. We simply completed the integration of the indicated library. It went quickly and smoothly - we only needed to add to our build script to pass two Kconfig settings to the sdkconfig file (our system fully automates the build process with ESP-IDF):
    Code: Ini
    Log in, to see the code

    That's it - the ESP32_Display_Panel library will take care of the rest and all the display and touch configuration will be done automatically (based on ready-made definitions).

    Here are the results:
    7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL?
    7-inch touchscreen display with ESP32S3 - CrowPanel DIS08070H - how to run with LVGL?
    Example code (in our OBK, but in PlatformIO/ESP IDF LVGL would be identical):
    Code: C / C++
    Log in, to see the code


    In summary , this was another platform for the LVGL experience. In this particular case, the display was based on EK9716BD3 and EK73002ACGB controllers (RGB interface) and the touch was based on a GT911 chip, but this makes very little difference to the Waveshare discussed earlier, especially as everything is hidden under the hood of the library used. The ESP32 Display Panel has again risen to the challenge and shown that getting started with LVGL is not that difficult at all.
    I can take this opportunity to remind you of the related series of materials:
    ESP32 and touchscreen display - tutorial - part 1 - how to program? Basics
    ESP32 and touch display - part 2 - how to draw pixels, lines, shapes, performance issues
    ESP32 and touch display - tutorial part 3 - interactions, games and fun
    ESP32 and touch display - tutorial part 4 - web weather, APIs, JSON
    ESP32 and touch display - part 5 - LVGL in SquareLine Studio
    ESP32 and touch display - part 6, RGB lamp control, RGB picker
    ESP32 and touch display - part 7, how to make a keyboard in LVGL? Logging.
    Finally, I guess I still have to make the standard point that such a display will not match the performance of modern touch tablets, so everyone has to judge for themselves whether such hardware suits them in practice. In addition, the more elements on the UI, also the lower the FPS, and it just feels to some extent that this is not a modern smartphone. But is this such a problem? For many projects it should be enough anyway.
    Have you already built something based on such a display with LVGL? Let us know in the comments .
    Attachments:
    • DIS08070H-V2.0-20231204.pdf (106.59 KB) You must be logged in to download this attachment.

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 14589 posts with rating 12611, helped 654 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 21901653
    androot
    VIP Meritorious for electroda.pl
    Posts: 1801
    Help: 54
    Rate: 635
    For such applications the ESP32 P4 would be better, a similar module costs about 50% more.
  • ADVERTISEMENT
  • #3 21901910
    krzbor
    Level 29  
    Posts: 1755
    Help: 41
    Rate: 1063
    I am always puzzled by the idea behind the designers of such devices. A nice screen in a black casing and cables going off in different directions? What's the point of something like this? You can neither hang it nor put it up. Below is an example of an indoor panel (touch screen) of an IP intercom with camera:
    Technical drawing of a device’s back with labeled connectors and mounting points
    All the leads (except the SD card slot, which is not visible anyway) are on the back. Mounting on a flush-mounted box. in one place we have Ethernet with PoE, a separate power supply and even an expansion connector:
    Wiring diagram with connector and labels for RS-485, Reserved, Relay Output, and Alarm Input Device.
    Such a thing makes sense.
  • ADVERTISEMENT
  • #4 21902011
    ArturAVS
    Moderator
    Posts: 26224
    Help: 2296
    Rate: 7771
    And how about the responsiveness of such a large display?
  • #5 21902399
    Jawi_P
    Level 36  
    Posts: 3227
    Help: 259
    Rate: 705
    7 inches is already a tablet.
  • ADVERTISEMENT
  • #6 21902594
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    @androot cool idea for more tests

    @krzbor would you recommend any display with this format for testing?

    @ArturAVS we've started porting the Display Panel library to our batch ( here PR ) to be able to connect Berry scripts , but we'll restore the factory batch from a copy and record a video:
    https://github.com/openshwprojects/FlashDumps/commit/23b44a168f7a9ba962a8a85af8078f628fac1384
    Why the original batch from a copy? To avoid accusations that we compiled something wrong.

    But in my opinion - Android is not.
    Helpful post? Buy me a coffee.
  • #7 21903249
    krzbor
    Level 29  
    Posts: 1755
    Help: 41
    Rate: 1063
    p.kaczmarek2 wrote:
    recommend any display with this format for testing?

    I'm reviewing what's on the electrode for meaningful use. I have a regular tablet at home where the frame from the case is screwed to the wall. It works reasonably well, but the power supply is from below (visible). For this the battery "falls" from the constant power supply. There are dedicated solutions Link , but as you can see expensive, and also Android not the latest.
  • #8 21909882
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    @ArturAVS we have uploaded the factory batch:



    This is what it looks like on their advanced GUI. Well it is not Android. You can feel the low FPS. Exactly the same as... in the previous topic in the series:
    Waveshare ESP32-S3-Touch-LCD-5 - Wi-Fi, BLE, CAN, RS485 and 800x480 touchscreen
    Helpful post? Buy me a coffee.
📢 Listen (AI):

FAQ

TL;DR: For developers bringing up an 800×480 HMI on ESP32-S3, the fastest path is to enable the Elecrow 7.0 board preset in ESP32_Display_Panel. “The library will take care of the rest,” and that saves manual RGB, I²C, and touch pin mapping on the CrowPanel DIS08070H with 4 MB Flash and 8 MB PSRAM. [#21901580]

Why it matters: This thread shows the shortest practical route from a factory demo panel to a working LVGL interface on a 7-inch ESP32-S3 touchscreen.

Platform Relative cost Main takeaway from the thread
ESP32-S3 CrowPanel DIS08070H Around 100 PLN Works with LVGL now using board presets in ESP32_Display_Panel
ESP32-P4 similar module About 50% more Suggested as the better fit for this type of application

Key insight: The critical step is not hand-configuring the panel. It is enabling the correct board definition so the library applies the ready-made RGB LCD, touch, and bus settings automatically.

Quick Facts

  • The Elecrow CrowPanel DIS08070H uses a 7-inch capacitive touchscreen with 800×480 resolution, which gives LVGL much more room for dashboards and control panels than small SPI displays. [#21901580]
  • The module is an ESP32-S3-WROOM-1-N4R8 with a dual-core Xtensa LX7 up to 240 MHz, 4 MB Flash, and 8 MB PSRAM, plus Wi‑Fi and Bluetooth 5.0. [#21901580]
  • The panel uses EK9716BD3 and EK73002ACGB display controllers over a parallel RGB interface, avoiding the usual SPI display bottleneck for smoother graphics. [#21901580]
  • The board adds UART, I²C, GPIO, a microSD slot, and audio output, so it can serve as a ready HMI base for IoT and automation projects. [#21901580]
  • Typical price in the thread is around 100 PLN, and the package includes USB and Crowtail/Dupont cables plus a short manual. [#21901580]

How do I run LVGL on the 7-inch Elecrow CrowPanel DIS08070H with an ESP32-S3?

Run it through ESP32_Display_Panel and enable the preset for the Elecrow 7.0 board. In practice: 1. Add the library in Arduino IDE, PlatformIO, or ESP-IDF. 2. Enable the CrowPanel 7.0 board definition. 3. Build your LVGL screen normally, because the library handles display and touch setup. The thread shows this approach working on the DIS08070H, which uses an 800×480 RGB panel and GT911 touch on an ESP32-S3-WROOM-1-N4R8 module. [#21901580]

What do I need to change in ESP32_Display_Panel to enable support for the Elecrow CrowPanel 7.0 board?

You need to uncomment the board macro for the Elecrow 7.0 panel in the library configuration. The thread points to ESP_Panel_Board_Supported.h and shows this exact line: #define ESP_PANEL_BOARD_ELECROW_CROWPANEL_7_0. After that, the library applies the matching hardware pin definitions for RGB LCD, touch, and I²C automatically, so you do not need to map signals by hand from the datasheet. [#21901580]

How can I configure the CrowPanel DIS08070H in ESP-IDF or PlatformIO using the right Kconfig settings?

Set the board flag and enable supported-board defaults in sdkconfig. The thread uses two Kconfig options: CONFIG_BOARD_ELECROW_CROWPANEL_7_0=y and CONFIG_ESP_PANEL_BOARD_DEFAULT_USE_SUPPORTED=y. A simple flow is: 1. Pass both settings into the build. 2. Rebuild the firmware. 3. Let ESP32_Display_Panel load the preset configuration. That avoids manual setup of the RGB LCD bus, touch controller, and related pins in ESP-IDF or PlatformIO. [#21901580]

What is the ESP32_Display_Panel library, and why does it make bringing up RGB LCD and touch on ESP32-S3 easier?

ESP32_Display_Panel is a board-support library that initializes supported ESP32 display and touch hardware using ready-made definitions. In this thread, it removes the need to manually assign RGB LCD, touchpad, and I²C pins for the CrowPanel DIS08070H. That matters because the panel uses an 800×480 RGB interface and GT911 touch, yet the bring-up becomes a board-selection step instead of a full low-level port. [#21901580]

What is the GT911 touch controller used in the CrowPanel DIS08070H, and how does it work with LVGL?

The GT911 handles the capacitive touch input on this panel and supplies touch events to the graphics stack. "GT911 is a capacitive touch controller that reads finger input from the touchscreen, typically over I²C, and passes position data to the user interface layer." In this setup, LVGL uses the touch data through the board support provided by ESP32_Display_Panel, so screen widgets can react without manual touch-controller integration. [#21901580]

Why does the CrowPanel DIS08070H use an RGB interface instead of SPI, and what performance difference does that make in LVGL?

It uses parallel RGB because RGB moves pixel data faster than a typical SPI display link on this class of hardware. The thread states that this avoids the usual SPI limitations and enables smoother LVGL graphics on the 800×480 panel. The trade-off still remains: when you add more widgets, animations, and updates, frame rate drops, so it will not feel like a modern touch tablet even with RGB. [#21901580]

Which display controller chips are used in the CrowPanel DIS08070H, and how important are EK9716BD3 and EK73002ACGB when setting up the panel?

The panel uses EK9716BD3 and EK73002ACGB, and they matter less in practice if you use the supported board preset. The thread says the display runs in parallel RGB mode and that the library hides those hardware details under the hood. So the chips are important electrically, but for LVGL bring-up the key action is enabling the correct CrowPanel board definition rather than manually tuning controller-specific settings. [#21901580]

How do I build a basic LVGL interface with tabs, charts, switches, and an on-screen keyboard on the ESP32-S3 CrowPanel?

Build the screen in standard LVGL objects after the display is initialized. The thread’s demo creates a tab view with three tabs, then adds a thermostat arc, a line chart, six switches, a chat area, a text area, and a global on-screen keyboard. It also updates free memory and chart values once per second. That shows the CrowPanel can handle a multi-widget 800×480 UI, not just a static demo screen. [#21901580]

What steps are involved in backing up the factory demo firmware from the CrowPanel DIS08070H before flashing my own code?

The thread confirms that backing up the factory demo is possible and links to a saved dump, but it does not describe the exact readout procedure. A safe practical sequence from the thread is: 1. Verify the board still boots the sample program. 2. Save a backup copy before flashing. 3. Keep the backup linked to the exact board model. The preserved demo firmware was published as a FlashDumps commit for later recovery. [#21901580]

Why does UI performance drop on ESP32-S3 when I add more LVGL widgets, animations, or screen updates on an 800x480 display?

Performance drops because the ESP32-S3 must redraw more pixels and update more objects on a relatively large 800×480 screen. The thread explicitly warns that more UI elements lower FPS and that the result will not match a modern touchscreen tablet. In the shown demo, the system updates labels and chart data every second, which is manageable, but adding many dynamic widgets or animations increases visible lag. [#21901580]

What are the main hardware features of the Elecrow CrowPanel DIS08070H for IoT and HMI projects, including microSD, audio, UART, I2C, and GPIO?

The DIS08070H combines a 7-inch 800×480 capacitive touchscreen with an ESP32-S3-WROOM-1-N4R8, Wi‑Fi, Bluetooth 5.0, UART, I²C, GPIO, a microSD slot, and audio output. That makes it a compact HMI base for dashboards, controls, and connected devices. The board also ships with cables and a short manual, which reduces setup friction for quick prototyping. [#21901580]

ESP32-S3 CrowPanel vs ESP32-P4 for touchscreen HMI projects with LVGL — which platform is better and why?

The thread favors ESP32-P4 for this application class if you can pay more. One reply says a similar ESP32-P4 module would be better and costs about 50% more, while the CrowPanel DIS08070H is around 100 PLN. So the ESP32-S3 panel is the lower-cost working option shown here, but the ESP32-P4 is presented as the stronger choice for heavier touchscreen HMI workloads. [#21901653]

How do I find the correct connector and pin mapping for the CrowPanel DIS08070H without manually reading the full datasheet?

Use the supported board definition and the connector diagram included with the board instead of mapping every signal manually. The thread says the library preset automatically assigns pins for the RGB LCD bus, touchpad, I²C, and related hardware. It also includes a connector-location graphic and a PDF attachment, so you can confirm physical headers without doing a full controller-level pin audit. [#21901580]

What is LVGL, and why is it commonly used for ESP32 touchscreen displays like the CrowPanel and Waveshare panels?

LVGL is the graphics library used here to build touch interfaces with widgets, layouts, and animations on embedded displays. "LVGL is an embedded GUI library that creates interactive screens, charts, keyboards, and controls, while staying portable across boards and display drivers." The thread uses it on both CrowPanel and earlier Waveshare panels, showing why it is a common choice when one code style must span multiple ESP32 touchscreen boards. [#21901580]

How much does the CrowPanel DIS08070H typically cost, and what comes in the box when you buy it?

The thread puts the price at around 100 PLN. It also says the package includes the display module, USB and Crowtail/Dupont cables, and a brief manual. That is enough to start testing the factory demo, back it up, and move on to an LVGL bring-up without sourcing extra connection leads first. [#21901580]
Generated by the language model.
ADVERTISEMENT