Problem with Scons

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.

If you want to use Espressif Arduino 3.x core in PlatformIO, consider using pioarduino

For configuring the ESP32-S3 check GitHub - sivar2311/ESP32-S3-PlatformIO-Flash-and-PSRAM-configurations: ESP32-S3 PlatformIO Flash and PSRAM configurations

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 :slight_smile:

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?

The issue that I initially enquired about was that without a board_build.partitions = default.csv (or similar) line in the platform.ini, the code compiled but would not run on the ESP32 and produced the errors as per those listed in my initial post. Since I have added a build partitions to the ini I don’t have problems.

1 Like