Particle Boron Memory

Tags: #<Tag:0x00007fe22b8505d8>


What’s the maximum memory which can be used by the user in Particle boron apart from the 128KB RAM.
Can anyone please tell me how to access the 1 MB flash??


I believe this is what you are looking for.!


There is 4MB SPI Flash on board Gen3. Is this or EEPROM what you were after?
Have a look at this thread: On-board 4MB SPI flash


Yes and also in the datasheet. It is mentioned that it has 1MB flash


The 1MB flash is for the application program storage plus the device OS and the backup copy. If you want to use flash then specify your variables as const. Progmem works as well for compatibility with Arduino wiring. As I understand it, the access to the part of the 4MB SPI flash that is reserved for users - 2MB still does not have a device OS API available to access the flash.


Yeah you are right. We have only the memory which is left in the 1 MB flash. I need atleast 100KB memory for storing the buffer but I don’t know how to check how much memory is available in flash.

I will check System.freeMemory();


System.freeMemory() shows available RAM, not flash. I don’t know of a way to check flash capacity other than looking at the results of a command line flash operation.


Storage of a buffer would not typically go into flash but rather RAM. You might be better off looking at using an SD card via SPI. FRAM might be another option - not sure how big you can go in terms of memory nor the cost and then you will likely need to use a file system.

In terms of FLASH usage - the compile output will tell you how much is used and if you go over the limit it will error. So you could play around and find the largest array you can use along with your application code.


I am using Adafruit Feather M0 with SD card to log values. But due to some reasons, its stops logging after some time ( like an hour or so) and also its consuming more power.


I would suggest you to share a little bit more of what you are trying to do and how are you doing it. So people can point you to the right direction.


I am trying to get values from pressure sensor at frequency of 25 Hz. My priority is to reduce the power consumption as much as possible so I use a low power micro controller to get values from sensor meanwhile particle boron will sleep. Once every 10 min I use particle boron to get the values and publish it to the cloud.
I am planning to extend the memory in particle boron so that I can make boron sleep more to reduce the overall power consumption


So you could sample the data with the boron that wakes from an interrupt, but does not connect to cellular except after 10 mins when you do and send the data - this should be more efficient than running a separate MCU board?

Look at this (search and there are many others on the same topic) thread


Particle Boron when not connected to internet consumes around 6mA whereas the MCU which I use consumes only 1mA and also I get 25 values per second. So its better to use the low power MCU for getting the data


See this for a good discussion on Boron and its about the same in sleep mode - but YMMV and I am commenting not knowing the full scope of your use case.