External memory to imp006

HI Everyone,

I need to have a non-volatile memory in imp006, but it seems it does not have a NV table anymore. What is the recommendation to store data in imp006 for a while (a couple of days maximum - around 1MB)? Is it possible to store it in the flash memory or does it any memory IC recommended? Is there any libary to deal with external memory?


There is space in the Flash — see the imp API object hardware.spiflash for usage details.

An alternative solution is FRAM, which is non-volatile, connects over I2C (and SPI, but the library doesn’t support that) and has no erase-write cycle limits like flash. See the MB85RC FRAM chip driver library for more info.

Worth noting that all imps have SPI flash storage available; the SPI flash attached to the imp has some area reserved for the system (upgrade staging, etc) but in all cases there is space available for the user.

There are helper libraries, eg https://developer.electricimp.com/libraries/hardware/spiflashfilesystem

imp006 also has really really low shallow sleep power consumption, which means you can hold hundreds of kB of data in RAM (ie just standard squirrel objects) whilst taking tens of microamps and being responsive to timer or GPIO wakes. See https://developer.electricimp.com/resources/sleepstatesexplained - many 004 and 006 customers use this mode instead of deep sleep as it’s a lot more convenient.