-
Notifications
You must be signed in to change notification settings - Fork 7.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a Default 32MB partition #11143
Add a Default 32MB partition #11143
Conversation
This is a complementary addition to use 32MB boards in PlatformIO like the ESP32-S3-DevKitC-1-N32R8V.
👋 Hello Math0XK, we appreciate your contribution to this project! 📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more. 🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project. Click to see more instructions ...
Review and merge process you can expect ...
|
@Math0XK - In order to continue, please read and sign the CLA. |
There is already a 32MB partition that can be used with SPIFFS for S3. Check if it fits your requirements here: https://github.com/espressif/arduino-esp32/blob/master/tools/partitions/large_littlefs_32MB.csv |
Hello, thanks for your reply. This partition serves different needs than the "large_littlefs_32MB.csv" partition. Specifically, the "default_32MB.csv" partition allows for the creation of larger applications (app1 and app2 are 2.7 times larger) while requiring significantly less SPIFFS (~3.3 times less). I have aimed to maintain an app/SPIFFS ratio similar to that of the "default_16MB.csv" partition. I invite you to take a look at the partition and compare the two. Best regards. |
Please also edit the boards file to add the partitions to the menu. PTAL here: https://github.com/espressif/arduino-esp32/pull/8498/files#diff-c3a7c63d53cdec402cf559c1707ce5ef639a7e59e575f41ac5c8f5941e806a9f |
I'm not sure I fully understand what needs to be added, as these lines already provides support for boards with 32MB of flash:
To better understand how to proceed, I would need some additional explanations. |
Just my 2cents. There will be always a need for a different partitions config setup. Why not just use a custom partitions.csv without adding in core? As you noted Platformio, there is absolutely no need to add there. In Platformio it is plain easy to add a custom partitions.csv |
As of today, there is no native support for ESP32 32MB boards in PlatformIO. As an owner of an ESP32-S3-DevKitC-1-N32R8V, I am forced to use a configuration that only utilizes up to 16MB of flash, which is a waste of resources. I have spent several hours searching for a custom configuration that fully utilizes the flash memory of my board, but I couldn't find anything functional. Therefore, I would like to submit the "default_32MB.csv" partition, which is more versatile than "large_littlefs_32MB.csv", to introduce native support for 32MB flash boards in PlatformIO. |
Providing a boards manifest PR in Platformio repo is time waste. Platformio stopped every development around espressif Arduino. Take a look at open PRs and Feature Requests. |
Here is how a partition scheme is added to ESP32-S3 board definitions, so it can be selected from Arduino IDE board menu. In this case it's the
Also in Arduino IDE you can add your custom partition scheme I'm pretty sure the pioarduino offers similar functionality. @Jason2866 can confirm and provide a config line |
For Platformio add in the config
in the root folder of the project. |
Added partition "default_32MB" to the menu
Added the "default_32MB" partition to the menu
Thank you for your response!
I have modified the PioArduino seems like a great alternative. Given that PlatformIO was originally a Ukrainian project, I understand that its development has slowed down in recent years.
To use a custom partition with PioArduino, should I simply add this line to my |
This is not the reason. Without going too much into it, just know that PlatformIO does not support any newer Arduino cores after 2.0.17, so everything 3.x is only supported by pioarduino. To switch to it is a matter of replacing one file in your pioconfig. Example for the latest stable version (3.1.3)
|
yes, see this example https://github.com/arendst/Tasmota/blob/fb6640b91fde752096ce0bcb4cbe571cab75d49b/platformio_tasmota_cenv_sample.ini#L59-L68 |
@Math0XK - sorry for the mess with so many commits. |
It looks pretty good to me!
Thanks for your help! I'll try to merge my current project into your PioArduino IDE.
My apologies, I assumed something without knowing what was actually going on behind the scenes. From what I can see, PioArduino is essentially a fork of PlatformIO, and yet you managed to add support for newer Arduino cores. |
PlatformIO changed business model, Espressif and other companies did not agree with the changes and support for newer cores was dropped from PlatformIO. Pioarduino forked PlatformIO's integration, updated and added some new features and support new cores for ESP32. Pioarduino is a community maintained project and not commercial one, like what PlatformIO has become. |
Description of Change
This update adds support for 32MB ESP32 boards, specifically for the ESP32-S3-DevKitC-1-N32R8V.
Test Scenarios
I have tested this partition configuration on my ESP32-S3-DevKitC-1-N32R8V, using PlatformIO with custom board settings.
I also submitted these board settings to PlatformIO for official support.
Related Links
Pull request for the addition of ESP32-S3-DevKitC-1-N32R8V support:
PlatformIO PR #1554