<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED)]]></title><description><![CDATA[<p dir="auto">For reasons unclear to me, the M5Stack Fire support added to the Board Manager does not change the size of the flash from the original M5Stack Core. What that means is that you cannot use all that extra flash (Fire has 16 MB, classic M5Stack has 4 MB).</p>
<p dir="auto">Here's how to use the extra space:</p>
<p dir="auto">Find the directory that on my Mac is at</p>
<p dir="auto"><code>~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.0/tools/partitions</code></p>
<p dir="auto">(It's probably named slightly different on Windows machines, don't use those.)</p>
<p dir="auto">There, add a file called <code>default_16MB.csv</code> and put the following lines in it:</p>
<pre><code># Name,   Type, SubType, Offset,  Size, Flags
nvs,      data, nvs,     0x9000,  0x5000,
otadata,  data, ota,     0xe000,  0x2000,
app0,     app,  ota_0,   0x10000, 0x640000,
app1,     app,  ota_1,   0x650000,0x640000,
eeprom,   data, 0x99,    0xc90000,0x1000,
spiffs,   data, spiffs,  0xc91000,0x36F000,
</code></pre>
<p dir="auto">and add another file called <code>large_spiffs_16MB.csv</code> and put in it:</p>
<pre><code># Name,   Type, SubType, Offset,  Size, Flags
nvs,      data, nvs,     0x9000,  0x5000,
otadata,  data, ota,     0xe000,  0x2000,
app0,     app,  ota_0,   0x10000, 0x480000,
app1,     app,  ota_1,   0x490000,0x480000,
eeprom,   data, 0x99,    0x910000,0x1000,
spiffs,   data, spiffs,  0x911000,0x6EF000,
</code></pre>
<p dir="auto">Now go two directories up (so for me that would be <code>~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.0</code>) and edit the file <code>boards.txt</code>.</p>
<p dir="auto">search for <code>m5-stack-fire.upload.maximum_size</code> and replace that line with:</p>
<pre><code>m5stack-fire.upload.maximum_size=6553600
</code></pre>
<p dir="auto">Then replace the (next) line (<code>m5stack-fire.upload.maximum_data_size</code>) with:</p>
<pre><code>m5stack-fire.upload.maximum_data_size=4521984
</code></pre>
<p dir="auto">Then find <code>m5stack-fire.build.partitions</code> and replace that line with:</p>
<pre><code>m5stack-fire.build.partitions=default_16MB
</code></pre>
<p dir="auto">Then insert the following new section between the <code>PSRAM</code> and <code>UploadSpeed</code> sections:</p>
<pre><code>m5stack-fire.menu.PartitionScheme.default=Default (2 x 6.5 MB app, 3.6 MB SPIFFS)
m5stack-fire.menu.PartitionScheme.default.build.partitions=default_16MB
m5stack-fire.menu.PartitionScheme.large_spiffs=Large SPIFFS (7 MB)
m5stack-fire.menu.PartitionScheme.large_spiffs.build.partitions=large_spiffs_16MB
m5stack-fire.menu.PartitionScheme.large_spiffs.upload.maximum_size=4685824
</code></pre>
<p dir="auto">And then restart the IDE and you can use the full flash: I chose 2 x 6.5 MB OTA partitions, 3.6 MB SPIFFS. So now the M5ez demo program uses only 18% of one OTA partition. Or opt for a SPIFFS partition that will hold a whopping 7 MB. Nice...</p>
<p dir="auto"> </p>
<p dir="auto">I have filed a <a href="https://github.com/espressif/arduino-esp32/pull/1969" target="_blank" rel="noopener noreferrer nofollow ugc">pull request</a> at <a href="https://github.com/espressif/arduino-esp32" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/espressif/arduino-esp32</a> with these changes.</p>
<p dir="auto"> </p>
<blockquote>
<p dir="auto">M5Stack people: I know you don't answer questions or talk to us in general, but this is something you people should be doing, not some dude in the community...</p>
</blockquote>
]]></description><link>https://community.m5stack.com/topic/364/howto-m5stack-fire-use-the-full-16mb-with-the-arduino-ide-updated</link><generator>RSS for Node</generator><lastBuildDate>Tue, 17 Mar 2026 08:50:07 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/364.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Oct 2018 16:22:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Thu, 02 Mar 2023 03:49:06 GMT]]></title><description><![CDATA[<p dir="auto">It seems that esp32 only provide 4MB flash as read only <a href="http://rom.As" target="_blank" rel="noopener noreferrer nofollow ugc">rom.As</a> you change the app0 partition size to 6.5MB,the esp linker under arduino can only produce the max size 4MB of your <a href="http://code.In" target="_blank" rel="noopener noreferrer nofollow ugc">code.In</a> the file \esp32\tools\sdk\ld\esp32_out.ld,the following lines declare the max size of the readonly flash rom.<br />
/* Flash mapped constant data */<br />
drom0_0_seg (R) : org = 0x3F400018, len = 0x400000-0x18</p>
]]></description><link>https://community.m5stack.com/post/20227</link><guid isPermaLink="true">https://community.m5stack.com/post/20227</guid><dc:creator><![CDATA[594crab]]></dc:creator><pubDate>Thu, 02 Mar 2023 03:49:06 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Wed, 21 Nov 2018 20:48:22 GMT]]></title><description><![CDATA[<p dir="auto">May I suggest creating a new thread for this? It does seem like this has nothing to do with partitioning, and this will confuse people...</p>
]]></description><link>https://community.m5stack.com/post/2059</link><guid isPermaLink="true">https://community.m5stack.com/post/2059</guid><dc:creator><![CDATA[Rop]]></dc:creator><pubDate>Wed, 21 Nov 2018 20:48:22 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Wed, 21 Nov 2018 19:37:06 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/120">@Kabron</a><br />
Install the github repository. The Arduino ESP32 v1.0.0 release version does not recover from failed reads on the I2C bus until the power is cycled.<br />
Don't know what is the purpose of multiple power management ICs if you have only one battery. But the registers of this IP 5306_I2C are similar to the IP5108 covered in <a href="http://forum.m5stack.com/post/1464" target="_blank" rel="noopener noreferrer nofollow ugc">http://forum.m5stack.com/post/1464</a><br />
Maybe to prevent the battery charging during boot is a workaround</p>
]]></description><link>https://community.m5stack.com/post/2058</link><guid isPermaLink="true">https://community.m5stack.com/post/2058</guid><dc:creator><![CDATA[PlayTheGame]]></dc:creator><pubDate>Wed, 21 Nov 2018 19:37:06 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Wed, 21 Nov 2018 07:32:44 GMT]]></title><description><![CDATA[<p dir="auto">I istalled release, but I guess I find another reason.<br />
In the M5BALA stack there are three IP5306 IC on the 5V BUS.<br />
And one of these IC is controlled by ESP32.<br />
During reboot procedure trouble things occured at 5V bus <a href="https://yadi.sk/i/hFKdlsIOm7TtRA" target="_blank" rel="noopener noreferrer nofollow ugc">Brownout</a><br />
As (thanks to M5 team) we do not still have all fucking schematics, nobody could resolve what is going on there.<br />
Now, the situation looks like the following: one time it could start working normally or another time it could not. Unpredictable.</p>
]]></description><link>https://community.m5stack.com/post/2055</link><guid isPermaLink="true">https://community.m5stack.com/post/2055</guid><dc:creator><![CDATA[Kabron]]></dc:creator><pubDate>Wed, 21 Nov 2018 07:32:44 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Tue, 20 Nov 2018 20:16:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/120">@kabron</a><br />
Have you installed the gitlab repository code or the release version <a href="https://github.com/espressif/arduino-esp32/releases" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/espressif/arduino-esp32/releases</a> ?<br />
Because the v1.0.0 Release has a huge I2C bug that affects all readings on the bus and is only corrected in the repository</p>
]]></description><link>https://community.m5stack.com/post/2052</link><guid isPermaLink="true">https://community.m5stack.com/post/2052</guid><dc:creator><![CDATA[PlayTheGame]]></dc:creator><pubDate>Tue, 20 Nov 2018 20:16:04 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Tue, 20 Nov 2018 10:26:41 GMT]]></title><description><![CDATA[<p dir="auto">Well, on my office PC I had to reinstal ESP32 package and I found that your suggestions allready icluded in the new<br />
release. Now, regardless of choosen board( M5-Stack-Core/Fire/ESP32-Dev) I got this stange behaviour.<br />
It looks like very huge negative value(about 30 digits)of measured angle, which begins to rize in positive direction,<br />
until it reach correct value. From this point, the program could or could not continue normal run.<br />
I'll try to  roll back the package install to see what happened.</p>
]]></description><link>https://community.m5stack.com/post/2049</link><guid isPermaLink="true">https://community.m5stack.com/post/2049</guid><dc:creator><![CDATA[Kabron]]></dc:creator><pubDate>Tue, 20 Nov 2018 10:26:41 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Sun, 18 Nov 2018 15:24:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/457">@rop</a> 在 <a href="/post/2011">HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED)</a> 中说：</p>
<blockquote>
<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/120">@Kabron</a> I don't have the BALA hardware so cannot test. Can you better explain what you mean by:</p>
<blockquote>
<p dir="auto">it gives wrong M5Bala library operation</p>
</blockquote>
<p dir="auto">Does it work it you use the original (smaller) partition scheme on the Fire? I.e.: do we know it is connected to the partitioning at all? Or could it be some other difference between the Core and the Fire?</p>
</blockquote>
<p dir="auto">Not now, maybe tomorrow.</p>
]]></description><link>https://community.m5stack.com/post/2017</link><guid isPermaLink="true">https://community.m5stack.com/post/2017</guid><dc:creator><![CDATA[Kabron]]></dc:creator><pubDate>Sun, 18 Nov 2018 15:24:56 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Sun, 18 Nov 2018 14:12:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/120">@Kabron</a> I don't have the BALA hardware so cannot test. Can you better explain what you mean by:</p>
<blockquote>
<p dir="auto">it gives wrong M5Bala library operation</p>
</blockquote>
<p dir="auto">Does it work it you use the original (smaller) partition scheme on the Fire? I.e.: do we know it is connected to the partitioning at all? Or could it be some other difference between the Core and the Fire?</p>
]]></description><link>https://community.m5stack.com/post/2011</link><guid isPermaLink="true">https://community.m5stack.com/post/2011</guid><dc:creator><![CDATA[Rop]]></dc:creator><pubDate>Sun, 18 Nov 2018 14:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Sun, 18 Nov 2018 09:56:58 GMT]]></title><description><![CDATA[<p dir="auto">Not all is so smooth. Try this sketch. When compiled under <strong>Fire</strong> it gives wrong <strong>M5Bala</strong> library operation, resulting at least in wrong angle measurements. With <strong>M5stack-Core-ESP32</strong> all OK.<br />
<a href="https://yadi.sk/d/dsKAmiM-qBXJzQ" target="_blank" rel="noopener noreferrer nofollow ugc">Test.ino</a></p>
]]></description><link>https://community.m5stack.com/post/2009</link><guid isPermaLink="true">https://community.m5stack.com/post/2009</guid><dc:creator><![CDATA[Kabron]]></dc:creator><pubDate>Sun, 18 Nov 2018 09:56:58 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Mon, 15 Oct 2018 18:33:44 GMT]]></title><description><![CDATA[<p dir="auto">I updated the post (the SPIFFS was the original size while I had made space to make it bigger) and added a menu option for 7MB SPIFFS. Have also filed the pull request at espressif, all detailed in the edited lead post.</p>
]]></description><link>https://community.m5stack.com/post/1732</link><guid isPermaLink="true">https://community.m5stack.com/post/1732</guid><dc:creator><![CDATA[Rop]]></dc:creator><pubDate>Mon, 15 Oct 2018 18:33:44 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Sun, 14 Oct 2018 19:06:12 GMT]]></title><description><![CDATA[<p dir="auto">Further info:</p>
<p dir="auto">Partition tables are documented in the esp idf:<br />
<a href="https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/partition-tables.html" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/partition-tables.html</a></p>
<p dir="auto">RAM<br />
ESP32 has 512 kB RAM. This is divided into IRAM (instruction RAM), DRAM (data RAM), and RTC memory.<br />
From the <a href="https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf" target="_blank" rel="noopener noreferrer nofollow ugc">Rechnical Reference</a> pp25 only 328 kB is available as SRAM in two blocks. So 320kB is reasonable. I assume it is only used as an indicator in Arduino for the RAM percentage. PSRAM is only switched on or off, there is no check of size involved.</p>
]]></description><link>https://community.m5stack.com/post/1726</link><guid isPermaLink="true">https://community.m5stack.com/post/1726</guid><dc:creator><![CDATA[PlayTheGame]]></dc:creator><pubDate>Sun, 14 Oct 2018 19:06:12 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Sun, 14 Oct 2018 09:28:47 GMT]]></title><description><![CDATA[<p dir="auto">I hesitate because I really don't know how much RAM to allow. Shall I just subtract as much (or a little more) as they did for the 400 kB version? I will if there's no reaction (which would be typical, I'm afraid), but this is stuff that M5Stack should do.</p>
<p dir="auto">I mean: we don't even have a decent list of what's out there in terms of models and revisions, we don't get answers when we ask questions. I understand they're busy – always on the next version – but I'm beginning to feel someone should redo this whole thing as a true open source / open hardware project.</p>
]]></description><link>https://community.m5stack.com/post/1720</link><guid isPermaLink="true">https://community.m5stack.com/post/1720</guid><dc:creator><![CDATA[Rop]]></dc:creator><pubDate>Sun, 14 Oct 2018 09:28:47 GMT</pubDate></item><item><title><![CDATA[Reply to HOWTO: M5Stack Fire - use the full 16MB with the Arduino IDE (UPDATED) on Sun, 14 Oct 2018 07:38:13 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for the how-to. Did you made also a ticket on the arduino gitlab to merge it into the code? If not, at least this is the job of M5Stack stuff to properly support their device in the IDE.</p>
]]></description><link>https://community.m5stack.com/post/1717</link><guid isPermaLink="true">https://community.m5stack.com/post/1717</guid><dc:creator><![CDATA[PlayTheGame]]></dc:creator><pubDate>Sun, 14 Oct 2018 07:38:13 GMT</pubDate></item></channel></rss>