{"id":17874,"date":"2025-07-03T16:56:40","date_gmt":"2025-07-03T20:56:40","guid":{"rendered":"https:\/\/scruss.com\/blog\/?p=17874"},"modified":"2025-07-29T21:53:35","modified_gmt":"2025-07-30T01:53:35","slug":"for-4-mb-esp32-s3-users","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2025\/07\/03\/for-4-mb-esp32-s3-users\/","title":{"rendered":"For 4 MB ESP32-S3 users"},"content":{"rendered":"\n<p>If you have a Wemos\/LOLIN <a href=\"https:\/\/www.wemos.cc\/en\/latest\/s3\/s3_mini_pro.html\">S3 MINI PRO<\/a> board, you might find that firmware images don&#8217;t flash so well. That&#8217;s because the ESP32-S3FH4R2 has 4 MB of flash storage, and most ESP32-S3 boards have 8 MB.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/glenn20\/mp-image-tool-esp32\">glenn20\/mp-image-tool-esp32<\/a> might be your new friend:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mp-image-tool-esp32 -f 4M --resize vfs=2M ESP32_GENERIC_S3-20250415-v1.25.0.bin<\/pre>\n\n\n\n<p>This trims down a standard <a href=\"https:\/\/micropython.org\/download\/ESP32_GENERIC_S3\/\">MicroPython ESP32-S3 firmware<\/a> from a 4 MB filesystem partition down to 2 MB, and sets the overall flash size to 4 MB. Upload that to your board, and all will be well.<\/p>\n\n\n\n<p>Alternatively, v1.26 supports <a href=\"https:\/\/github.com\/orgs\/micropython\/discussions\/17759#discussioncomment-13916195\">&#8220;4MiB and larger&#8221; flash chips<\/a>. I have confirmed that <code>ESP32_GENERIC_S3-20250724-v1.26.0-preview.bin<\/code> works as expected:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ mpremote a1 run boardstats.py <br>Board       : Generic ESP32S3 module with ESP32S3<br>Frequency   : 160 MHz<br>Free Memory : 2061232<br>File storage: 2036 \/ 2048 K<br><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>If you have a Wemos\/LOLIN S3 MINI PRO board, you might find that firmware images don&#8217;t flash so well. That&#8217;s because the ESP32-S3FH4R2 has 4 MB of flash storage, and most ESP32-S3 boards have 8 MB. glenn20\/mp-image-tool-esp32 might be your new friend: mp-image-tool-esp32 -f 4M &#8211;resize vfs=2M ESP32_GENERIC_S3-20250415-v1.25.0.bin This trims down a standard MicroPython ESP32-S3 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3315,2],"tags":[3094],"class_list":["post-17874","post","type-post","status-publish","format-standard","hentry","category-electronics","category-goatee-stroking-musing-or-something","tag-micropython"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-4Ei","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/17874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=17874"}],"version-history":[{"count":3,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/17874\/revisions"}],"predecessor-version":[{"id":17893,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/17874\/revisions\/17893"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=17874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=17874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=17874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}