platform-espressif32 icon indicating copy to clipboard operation
platform-espressif32 copied to clipboard

Waveshare ESP32-S3-Touch-LCD-4.3 Board support/addition request.

Open electricmotel opened this issue 1 year ago • 4 comments

Please add support for Waveshare ESP32-S3-Touch-LCD-4.3.

electricmotel avatar Jul 31 '24 01:07 electricmotel

As you can tell from teh duration this has been open, PlatformIO isn't really supporting their users that are on boards using Espressif chips these days, as described in #1225.

The good news for you is that most S3 boards really aren't really that different for basic functions. You can likely pick any S3 board with the same flash configuration (size and speed) and be fine. Alternately, you can open the Pull Requests tab here and find any of the many ESP32-S3 (I see 7 on the first page) boards contributed by users (that aren't being applied - see paragraph 1) and morph those into the board support you need. Hopefully, you can contribute it so that it's useful to others.

Personally, I'd probably start with something the waveshare_esp32_s3_zero.json, but at least look at the others for differences and inspiration (material to copy). Likely things to have to fiddle with (which you can compare against the Waveshare doc) include:

#Need to know how to configure the RAM and FLASH that are attached. They'll be dual (not specified) quad (q) or octal (o) depending on how many pins are used and the respective speeds.

  "memory_type": "qio_qspi"
"flash_mode": "qio",

# Omit if it doesn't "-DBOARD_HAS_PSRAM"

# These two are realted in obvious ways. "flash_size": "4MB", "maximum_size": 4194304,

robertlipe avatar Jan 19 '25 12:01 robertlipe

Does that apply to the WaveShare ESP32-S3-Touch-LCD-2.8B https://www.waveshare.com/esp32-s3-touch-lcd-2.8b.htm

which seems to be using esp32-XIP-3.0.2 instead of the regular esp32 stuff... Or would that actually be a different platform?

marcel-isler avatar Oct 23 '25 01:10 marcel-isler

esp32-XIP is just a Waveshare repackaging of other people's software, IIRC. I use a ton of Waveshare Espressif boards and ignore it. At this level, ESP32-S3 is an ESP32-S3. Sure, they can be bundled with different amounts and speeds of Flash and PSRAM and different peripherals but to the programmer, once you have your build environment clued in on these deets, ESP32-S3 is ESP32-S3.

PlatformIO hasn't decided to play nice with Espressif and Raspberry Pi foundation, so if you're stuck on that, you should move your support behind a fork that supports current Espressif products. I don't see that exact model in the list of supported esp32 boards. As I described above, there are really only a few variables between all of the ESP-32 boards at this level so you can always start with a base config and just tweak the settings to match the hardware, or go all the way and make a new PIOArduino ESP32 configuration to submit back for others to use.

Just looking at that product page, it's "16MB Flash and 8MB PSRAM", so it's almost certainly an octal PSRAM configuration. It won't fill in the pinouts for your LCD and fancy things, but it's highly likely that telling that you have a plain ole S3 DevKit will get you going. Waveshare's usually good doc is a little spotty on that model (Witness missing doc sections) but even if you can't read a schematic the big ole table in the schematic for the ESP32-S3-Touch-LCD-2.8B makes it very clear what peripherals are present and how they're connected. I checked my notes and I have the very similar ESP32-S3-LCD-1.47B and it was no problem.

You should be able to make it work in less time than it took me to source all these links, LOL.

robertlipe avatar Oct 23 '25 02:10 robertlipe

Thanks for the quick answer... I was suspecting that much... and yeah, the docs for this particular board seem a bit thin... I'll base it off an Adafruit ESP32S3 Metro that I think has similar specs and then go from there...

marcel-isler avatar Oct 23 '25 02:10 marcel-isler