On-board 4MB SPI flash

The datasheets for the Argon, Boron, and Xenon show an on-board additional 4MB SPI flash, if I’m not mistaken wasn’t this originally 2MB?

More importantly, do we have access to this 4MB SPI flash? All of it, some of it? How do we access it? I know the Photon and Electron have the EEPROM libary which emulates 2047 bytes, but there’s no mention about the Mesh devices.

There has been an update post on the improved QSPI flash and yes it is supposed to be accessible.

I think the APIs to write to these areas aren’t finalised yet, but reading should be transparent - if I’m not mistaken.

The mesh devices support the same EEPROM calls as before. However, the virtual EEPROM is 4 K bytes

Also, internally it’s not implemented as two flash sectors; it’s just a file in the littlefs file system, which uses a portion of the external QSPI flash.


The question now is how to access the remaining 3.9MB of flash?

The vast majority of the external QSPI flash is reserved:

External SPI Flash Layout Overview (DFU offset: 0x80000000)
OTA (1500KB, @0x00289000)
Reserved (420KB, @0x00220000)
FAC (128KB, @0x00200000) (that’s the factory backup user firmware image)
LittleFS (2M, @0x00000000)

It is possible in the future that a portion of the Reserved block could be made available, but the more likely scenario is that the LittleFS would be made available to user firmware to store data as files.

I don’t have a timeline, however.

1 Like

Thanks for the information but as you said earlier the EEPROM calls are implemented as file in the littlefs file system so why not simply increase the file size so the EEPROM is bigger?

So out of the 4 MB QSPI, there is no memory available for user data storage?

1 Like

There’s a 2MB LittleFS filesystem. See Access to littlefs?

@rickkas7 Can I get a update on when we will have access to some of the QSPI Memory on the Gen3 Devices?

I hear its coming up soon and I’m needing it.

The POSIX file system is available in 2.0.0-rc.1 for Boron and Argon. The documentation for it has not been turned on for these devices yet, but if you set the device type in the upper left corner of the Firmware API reference to Tracker SoM the POSIX file system API will appear until the 2.0.0 documentation is released and then it will show up for Boron and Argon.

1 Like

Thanks for the update!

This is exciting news :grinning:

@peekay123 @ScruffR Did you guys know about this?

@RWB, I’m aware but just haven’t had the time to play with it.

1 Like