Author Topic: ESP32S3 HX8238D RGB Display  (Read 567 times)

0 Members and 1 Guest are viewing this topic.

Offline cheeseburgerTopic starter

  • Contributor
  • Posts: 10
  • Country: ch
ESP32S3 HX8238D RGB Display
« on: January 28, 2024, 05:59:04 pm »
Hello,

I'm attempting to interface a HX8238D RGB Display with the ESP32S3. The display supports parallel RGB data with 24 bits (8 bits per color).

Since the ESP32S3 only supports 16-bit RGB (RGB565), I intend to configure the remaining pins (Red 0-2, Green 0-1, Blue 0-2) to VSS.

For testing purposes, I've connected this display to the ESP32S3 and linked the control signals (HSYNC, VSYNC, DE, and PCLK) to the ESP32S3. Additionally, I've connected Red Bits 3-7 to the ESP32S3.

On the software side, I've utilized this example: https://github.com/espressif/esp-idf/tree/482a8fb2d78e3b58eb21b26da8a5bedf90623213/examples/peripherals/lcd/rgb_panel

Changes made to the Example:
- Adjusted clock to 7MHz
- Modified resolution to 320x240
- Set .hsync_back_porch to 68
- Set .vsync_back_porch to 18

Regrettably, despite these adjustments, the screen remains black. Upon resetting the ESP32S3, the screen gradually turns bright white (presumably due to the absence of PCLK).

Do you have any suggestions on what I could investigate next? The connections appear to be intact, and there is signal present on all lines (verified with an oscilloscope).
 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: ESP32S3 HX8238D RGB Display
« Reply #1 on: January 29, 2024, 03:18:43 pm »
Can you provide the datasheet in the 1st place? Did you set the setting pins correctly?

Trying to do basic math here: (320+68)pixels * (240+18)lines * 60FPS = 6.006240 MHz for pixel clock.
Seems like you're trying to get 70FPS out of this panel?
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6264
  • Country: fi
    • My home page and email address
Re: ESP32S3 HX8238D RGB Display
« Reply #2 on: January 29, 2024, 04:30:51 pm »
I intend to configure the remaining pins (Red 0-2, Green 0-1, Blue 0-2) to VSS
No, don't; just connect the inputs cyclically.

For example, if your data is
    R4 R3 R2 R1 R0  G5 G4 G3 G2 G1 G0  B4 B3 B2 B1 B0
then connect the highest bits to the lowest so you get
    R4 R3 R2 R1 R0 R4 R3 R2  G5 G4 G3 G2 G1 G0 G5 G4  B4 B3 B2 B1 B0 B4 B3 B2

This way, you get the full dynamic range, with as even intervals as is possible.  If you tie the least significant bits to zero, you won't get the full dynamic range.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf