ESP32-S3 some comments


Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10169
Posted: 03:16pm 22 Jan 2024      

I've been playing with the ESP32-S3 as it looks on the surface an interesting chip. 240MHz dual processors + external flash like the RP2040 BUT in addition external OctalSPI SRAM - typically 8Mb

The other big enhancement in the S3 is a LCD controller (like the STM32H7). This can be programmed with all the usual parameters, clock speed, sync pulses, front and back porch values and either 8 or 16 bit RGB outputs.

My findings thus far are disappointing.

It is easy to set up LCD panels and VGA to quite high resolutions with a framebuffer in the OctalSPI RAM and, in the absence of other bus activity, the images are rock solid. However, as soon as you start to try more advanced things cracks start to appear.

There is a demo code online of a 800x480 display with touch input playing a mp3 file over I2S at the same time as refreshing the display (static image). However, the pixel rate is set to 8MHz meaning the screen is only refreshed at about 14Hz and flickers like crazy. Setting the pixel clock any higher results in the image breaking up once the I2S output starts or even when loading an image.

My experiments with VGA are the same. Nice static images but as soon as other bus activity starts, such as copying framebuffers, then strange artifacts start to appear making anything requiring large scale updates, like a game, a non-starter.
The PSRAM runs at 80MHz but shares the Octal SPI but with the flash memory containing the program (also 80MHz). However, unlike normal memory mapped ram, each access needs the read and/or write address setting up first before anything can be accessed so depending on the application this can create a big overhead.
Bitluni has developed a VGA library for the S3 but hasn't really progressed anything with it - I suspect for the same reasons.

VGA has been implemented in Annex32 but, without reading all of a very long thread, my quick impression is that users are also struggling with image integrity and getting monitors to hold lock

I'll probably keep playing for a bit but hopes for a very cheap CMM3 don't look too promising with this device.