I have been struggling all day trying to solve this problem. The project is, at this stage, fairly minimal. I want to use the bb_spi_lcd library in platformIO with an ESP32-S3 on a Guition display. The author of that library only develops on the latest version of the Arduino IDE. I dislike the crappy Arduino IDE and much prefer platformIO. In order to use that library I used the Tasmota framework. All apears to work ok except for the following error; *** missing SConscript file ‘C:\Users\Bob\.platformio\packages\framework-arduinoespressif32\tools\esp32-arduino-libs\esp32s3\platformio-build.py’
File “C:\Users\Bob.platformio\packages\framework-arduinoespressif32\tools\platformio-build.py”, line 159, in
I have tried chatGPT to find an answer to no avail. Can someone help me solve this please. My ini file is as follows;
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
# Use Tasmota's arduino-esp32 core as the framework
platform_packages =
framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32.git
board_build.arduino.memory_type = qio_opi
board_build.flash_mode = qio
board_build.psram_type = opi
board_upload.flash_size = 4MB
board_upload.maximum_size = 4194304
board_build.debug = 5
;13 PSRAM
board_build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue
board_build.memory_type={build.boot}_qspi
build_flags =
-DARDUINO_USB_MODE=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_ESP32_DEV
-DCORE_DEBUG_LEVEL=5
;-DESP_IDF_COMPAT=1
lib_deps =
bitbank2/bb_captouch@^1.2.2
bitbank2/bb_spi_lcd@^2.7.1
upload_port=COM6
I have checked and the scons file is installed as is python. After wasting a day, any help would be greatly appreciated.
The platform code (platform = espressif32
, stable release) is looking for that file but it does not exist (see here). @sivar2311 is right, you need to update the platform to something that can handle the Arduino Core 3.x, i.e. this.
I have already seen your files for configuring the S3, vey useful imformation.
Regarding using pioduino, how would I set up a project using that package please. I am not a very experienced user of platformio apart from the basics. Colud you give me some basic guidance how to add pioduino to a project please.
Thanks for the reply, as I said to sivar2311 I need some help to use that package within a project as I only have a basic understanding of platformio.
As a starting point, in your platformio.ini
, replace
platform = espressif32
platform_packages =
framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32.git
with just
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.07/platform-espressif32.zip
Thank you for that, much appreciated. If, I had read the Github ‘readme’ properly I would seen it. My bad!
2 Likes
Thank you to both, Boris and Max, for your invaluable help. I know have my project working as I wished for.
2 Likes
I downloaded a project to an ESP32-S3 using the flash(4) and PSRAM(8) configuration 4/8 and in the serial monitor I got an error as below;
E (26) flash_parts: partition 3 invalid - offset 0x340000 size 0x330000 exceeds flash chip size 0x400000
E (27) boot: Failed to verify partition table
E (28) boot: load partition table error!
If I add either of the two partitions below I don’t get an error and the program runs.
;board_build.partitions = huge_app.csv ; no OTA
board_build.partitions = default.csv.
I couldn’t get any of the other partitons schemes shown in the Arduino IDE to run. Are there other partition schemes for ESP32-S3 4MB ram / 8MB PSRAM and where would I find them please.
huge_app.csv
requires at least 4MB of flash and should work without any problems on all available modules. (I don’t know any esp32-s3 module with less than 4 MB of flash).
Which exactly chip / module do you actually use?
Here are the available predefined partitions:
But you can also create a custom partition table:
Place your custom partition file at the same level as the platformio.ini and set it with the board_build.partitions
settings like so
board_build.partitions = mycustompartition.csv
This is not related to your original question which has already been solved.
To keep the forum organised, please create a new post for new questions next time.
Thanks in advance
Sorry about the unrelated post. I’ll keep in mind to open a new topic. The board I am using is actually a Guition display JC4827W543 but the soc is an ESP32-S3 WROOM with 4MB ram and 8MB PSRAM.
Thank you for the link to the partitions I have bookmarked it, I also appreciate the tip about where to place a custom partition file.
This board has 8MB PSRAM and 4MB Flash not RAM.
Per documentation it is an ESP32-S3 N4R8 module.
The huge_app.csv
should work without problems.
Please share the content of your platformio.ini
Only a typo! RAM not flash. included is ini file.
[env:esp32-s3-devkitc-1]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.07/platform-espressif32.zip
board = esp32-s3-devkitc-1
framework = arduino
board_build.arduino.memory_type = qio_opi
board_build.flash_mode = qio
board_build.psram_type = opi
board_upload.flash_size = 4MB
board_upload.maximum_size = 4194304
;board_build.partitions = huge_app.csv ; no OTA
board_build.partitions = default.csv
board_build.debug = 0 ; 0 = none, 1 = error, 2 = warn, 3 = info, 4 = debug, 5 = verbose
board_build.extra_flags =
-DBOARD_HAS_PSRAM
-DARDUINO_USB_MODE=1
-DARDUINO_USB_CDC_ON_BOOT=1
;-DCORE_DEBUG_LEVEL=5
lib_deps =
bitbank2/bb_captouch@^1.2.2
bitbank2/bb_spi_lcd@^2.7.1
upload_port=COM6
Both of the partitions work but I want OTA so I chose the default.csv,
Now i am confused. Maybe i missed something…
What issue do you have exactly?