We needed a simple and efficient way to store configuration settings and values between projects, using a non-volatile Ferromagnetic Random Access Memory (FRAM).
The Embedis database is persistent, and can be used across multiple projects to configure your program settings for the specific hardware and network configuration that you are using. The Embedis database supports EEPROM storage by default, but can also add other memory devices easily, as we show with this example, by adding an external I2C FRAM such as the MB85R256 (32K bytes) or the FM24V10 (128K bytes).
These devices come in both SPI and I2C interface "flavors", if you are looking for the SPI version, we have an SPI_FRAM Project covering that interface as well.
Now, you don't need to recompile your program and reflash your device in order to change your device and project settings anymore. Project settings can be changed "on-the-fly" with just a serial or wireless interface!
To Install Embedis in the Arduino IDE, please see the Detailed Install Directions. Embedis is installed using the Arduino Library Manager, from the top menu bar :
Sketch -> Include Library -> Manage Libraries -> Embedis
You will also need the ESP8266 tools and ESP8266 sketch data download utility installed with Arduino IDE 1.6.7 or later. For more information, please follow the board manager install directions at esp8266/Arduino.
Installing the Adafruit I2C FRAM Library
The Adafruit FRAM I2C library is installed using the Arduino Library Manager, from the top menu bar :
Sketch -> Include Library -> Manage Libraries -> Adafruit FRAM I2C
Loading the Example Project
After installing the Embedis library in the Arduino IDE, the Embedis examples will be available under the menu as :
Make sure to select your specific ESP8266 board model under the Board Manager, and set the "port" to the correct COM: port for your board. Then just press the "Download" button to compile and download your project.