ESP32-S3-DevKit-C1 w/ N32R8V support
Currently you cannot easily use any WROOM-2 based ESP32 Boards. As far as I can tell, this is related to the flash mode used for all WR2-ESPs Which seems to require OPI for both of PSRAM and FLASH
Describe the solution you'd like After finding this table I started tweaking around in the ini files and was able to successfully upload with following settings:
[env:esp32s3dev_32MB_PSRAM_opi_opi]
extends = env:esp32s3dev_8MB_PSRAM_opi
board_build.arduino.memory_type = opi_opi ;; use with PSRAM: 16MB or 32MB
board_build.partitions = tools/WLED_ESP32_32MB.csv ;; copy of 16MB.csv (could be re-aligned if required)
board_upload.flash_size = 32MB
board_build.flash_mode = dio
So far everything seems to work perfectly.
Describe alternatives you've considered Buying another ESP32 (:
If @softhack007 agrees, please provide a PR for updating platformio.ini and/or platformio_override.sample.ini.
The comment on the third line is misleading. The 32MB is flash (N) and not PSRAM (R)
In case it helps anyone else reading this, the general rule of thumb for memory_type for Espressif's own S3 moduless is that if it's 2MB of RAM, it's QUAD spi (qspi) and 8 RAM are all OCTAL ospi per the table at the bottom of https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html
for flash_mode they're quads until they hit 16 or 32MB, then they break to octals.
Now there are a few vendors that roll their own antennas and flash and don't use Espressif "cans" but just the raw chip. have seen quad RAMs on 8MB boards from some vendors to save a few pennies and halving the RAM performance. So the above rule isn't absolute. But if you get bootloops on the new parts after flashing and freakouts in psraminit, a patch like the above is the #1 place to start.
You can also find where the boards are defined in the repo and add your own or find inspiration, but PRs to add boards have been blocked since PlatformIO and Espressif are acting like children.
Until this gets worked out, adding your own board as above (and as I do in similar projects) is the way to go. Eventually we should be able to remove those.
Citation of adding a smaller module, the N16r2, in the top hunk of: https://github.com/robertlipe/NightDriverStrip/commit/5ec161add9af647fbd40c0a5201b982961f70138
Feel free to copy-paste part of that that when you graft in 32R8 above.