Non Volatile Storage Library for ESP32

NVS (Non-Volatile-Storage) is a special partition in the ESP32 microcontroller Flash Memory. The ESPx-family firmware can read/write data to this parition and is not part regular Flash. In a production line, you cannot hardcode unique data like into the main firmware source code therefore the NVS Partition is usefull to store information like cryprographic certificates, ip adresses, WiFi Passwords, serial numbers or secret keys. Itβs unique property is that the data will persist across reboots, and unlike the e-fuse it can also be overwritten/changes many times.
The Espessif Python tool takes a .csv file and then can convert that to a valid NVS paritition and store it to the disk and then another flash utility like ESP Tool can be be used to subsequently upload the NVS to the device.
Radikant-NVS-C can generate valid NVS paritions in-memory and change it's contents in runtime on the fly without the use of the python tool. This is incredibly usefull in a production environment since the NVS partition can be uploaded seperate from the main app, bootloader and parition scheme.
For Example it is possible to use Radikant-Crypto-C to generate a Cryptographic key pair and use Radikant-NVS-C to write this key pair to a valid NVS paritiion in-memory, and use Radikant-Flasher-C to upload the parition directly to the target device.
Futhermore the C binarires are easily embeddable in almost every programming language, this ceates the posibility to create mobile android/ios apps that is are able to interact directly with devices in the field, which can be usefull for field technicans, factory QC if they need to interact with the NVS data directly.