Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RGB HMI display #608

Open
valera39 opened this issue Jan 23, 2025 · 21 comments
Open

RGB HMI display #608

valera39 opened this issue Jan 23, 2025 · 21 comments

Comments

@valera39
Copy link

Hello Dear Wolle!
I assume you are starting to design a new radio under the rgb hmi display. What kind of display do you recommend to buy and how to connect it to ESP32, using UART?
Will DMG80480C043_01W be suitable ?
If I am wrong please correct me.

@schreibfaul1
Copy link
Owner

if it is this, https://www.dwin-global.com/4-3-inch-lcd-modulemodel-dmg80480c043_01w-commercial-grade-product/ then it is not suitable.
There is still a lot of work to be done before larger displays can function properly.

@valera39
Copy link
Author

Well then when you get a chance, recommend which display to use

@schreibfaul1
Copy link
Owner

It will be weeks before an HMI display works properly here. A display that is well suited would be the one from Elecrow https://www.elecrow.com/esp32-display-5-inch-hmi-display-rgb-tft-lcd-touch-screen-support-lvgl.html. But make sure that you don't buy an old version, the two marked transistors should be present. Image But many other displays are not bad either.
The resolution must be 800x480px and preferably have a capacitive touch panel. These displays are available in 5 or 7 inch

@valera39
Copy link
Author

Unfortunately due to sanctions I can't purchase the display from this store. I will try to look for a similar one on Aliexpress

@valera39
Copy link
Author

Hello Dear Wolle!
Which RGB display are you using for the new version?
This one, right? https://www.elecrow.com/esp32-display-5-inch-hmi-display-rgb-tft-lcd-touch-screen-support-lvgl.html
If that's the case, can I order it now? Or some other kind? I just don't want to make a mistake.
The ESP32S3 chip of this display is N4R8, won't it be a little low memory for your project?
I hope for your quick reply!

@schreibfaul1
Copy link
Owner

Hello,
basically any display is suitable that has colour inputs (8 each for red, green and blue), control lines for horizontal and vertical synchronisation, a clock and a control input HSYNC, VSYNC, PCLK, DE). You would then have to connect the display to the ESP32-S3 with 20 wires.

It is easier if the ESP32-S3 is already on the display. Sometimes a DAC is on board, but it's still not perfect.

I have connected a DAC, a light sensor and an IR receiver externally to a Sunton display.

Image

Image

You will have to do something similar with the Elecrow display. The Elecrow display (5 or 7 inch) is well suited

@valera39
Copy link
Author

Thanks for the quick reply, very cool looking big display!
So I can safely buy this display you recommended? https://github.com/schreibfaul1/ESP32-MiniWebRadio/issues/url
Could you suggest a couple more specific links to suitable displays.
Also, would the N4R8 be too small?
Thank you, it's a pleasure to communicate with you!

@valera39
Copy link
Author

@schreibfaul1
Copy link
Owner

This is exactly the display I used.
https://wiki.makerfabs.com/Sunton_ESP32_S3_5_7_inch_IPS_with_Touch.html

Unlike an SPI display, it is not necessary to initialise the TFT controller or change the gamma values.
But it is not possible to rotate or mirror the image.

@valera39
Copy link
Author

Great, so I'll be buying the same one
Thank you!

@valera39
Copy link
Author

How soon will there be a schematic of the connections to other components for this display?

@schreibfaul1
Copy link
Owner

schreibfaul1 commented Feb 19, 2025

Please have a look at the V4 pre-release branch in the readme. There is a schematic diagram there. The use of the pins depends on the display.
With the ESP32-S3, 33 pins can be used (GPIO00-GPIO21 and GPIO38-GPIO48)
Of these, 20 are needed for the display, leaving 22 pins.
3 pins for SD_MMC, 3 pins for the DAC, 2 pins for the touchpad and the brightness sensor. 1 for the display brightness, 1 for the IR receiver, 2 (TX0, RX0) for the serial terminal. 1 pin remains free.

If you want to use the display mentioned above, here are the settings for the common.h
https://github.com/schreibfaul1/ESP32-MiniWebRadio/blob/V4-pre-release/docs/rgb%20displays/Sunton%207'%20Display/Sunton.txt

@valera39
Copy link
Author

Thank you very much! I somehow didn't notice that there is already a thread for the fourth version of the radio. That's great!
Which of the three displays do you think is the most preferable?
Also, and this is very important to me: the amp shutdown control pin is not provided in the new config file?
I couldn't find a parameter #define AMP_ENABLED.
Are there any options for controlling the amp?

@valera39
Copy link
Author

If we have a free output left, it can be assigned the value #define AMP_ENABLED
Would you add this?

@schreibfaul1
Copy link
Owner

If you want to use this display, (almost) everything can remain as it is. The red GPIOs are for Flash and PSRAM and cannot be used. The two red marked GPIOs are not needed, there is no SD (but SD_MMC) and no TP_RST. The pins can be routed to the outside, but the track must be interrupted to prevent a malfunction.

AMP_ENABLED was used for ESP32 AI Thinker and OLIMEX boards, but I can activate it again.

Image

@valera39
Copy link
Author

Yes, please add the AMP_ENABLED parameter again. I used it to control the power to the amplifier, turning it off when the radio goes to sleep.
In the common.h file, for the Waveshare 7' Display, the parameter define TFT_BL -1, How then is the backlighting of the display controlled?
Waveshare 7' Display is more convenient for solderless connections, isn't it? But I'm more inclined to choose a display from Sunton, especially since you already have one working properly. What would you advise me ?

@Ryszard-wpl
Copy link

If I will use Sunton display - remaining one free pin can be assign as MCLK for full I2S lines ? (in declaration you set it as -1 and it must be IMPORTANT!. Can I use full I2S lisnes or it will eat too much operational power of MCU? Thank you for information.

@schreibfaul1
Copy link
Owner

DMA is required for I2S and also for the buffer that contains the image for the display. If you activate MCLK, the image is no longer synchronised.

@valera39
Copy link
Author

Dear Wolle!
So what can you say and advise?

@schreibfaul1
Copy link
Owner

It's hard to say, I can't test all the displays that are out there.
I have a Waveshare 7 inch display with additional ICs for CAN bus, RS485 and I2C Portexpander. The additional ICs are not needed.
Then I have an Elecrow 5 inch display which is usable, it just shouldn't be version 1.1.
I like the Sunton 7 inch display best.
Unfortunately, none of the displays have all the pins we need externally on the existing connectors, so some remodelling is necessary.

It looks like all 800x480 displays have the TouchPad Controller GT911. It is important to pay attention to this with unknown displays.

If the display has a DAC on the board, it can be used (with restrictions) without modification.

@valera39
Copy link
Author

Thanks for the detailed response!
I'll probably order the Sunton 7 inch display.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants