Mesh Extender 2.0 I2C EEPROM Memory Layout

We are using 2KB I2C EEPROMs. These EEPROMS provide a write-protect function for the upper-half of the EEPROM. The lower-half can always be written.

Memory Layout

Note that memory from 0x400 - 0x7FF is write-protected via the Write Protect Pin (WPP) of the 2KB I2C EEPROM. Therefore all regulatory information is stored in that region.

The non-protected region from 0x000 - 0x03FF is used to contain information of relevance to Mesh Extender deployments, such as network identification and permission features, e.g., controlling the over-the-air update bundle ID, and specifying the password for ssh login (if enabled). These will be implemented as key value pairs, e.g., OTABID=….

Start Address End Address Size Description
0x000 0x3EE 1001 Mesh-Extender configuration directives. Compressed using libz.
0x3EF 0x3EF 1 Mesh-Extender configuration directive format version. Must be 0x01.
0x3F0 0x3FF 16 SHA-3 128 bit hash of 0x000 - 0x3EF.
0x400 0x7AF 944 Regulatory domain explanantory notes.
0x7B0 0x7BF 16 SHA-3 128 bit hash of 0x400 - 0x7AF.
0x7C0 0x7DF 32 Reserved write-protected data.
0x7E0 0x7EF 16 Radio Parameters
0x7E0 0x7E0 1 Maximum allowed radio duty-cycle
0x7E1 0x7E1 1 Maximum allowed radio transmit power (in dBm)
0x7E2 0x7E5 4 Centre frequency for transmission
0x7E6 0x7E7 2 Radio data bit-rate (Kbit/second)
0x7E8 0x7E8 1 Regulatory firmware lock required
0x7E9 0x7EC 4 Reserved. Should be zero.
0x7ED 0x7EE 2 Primary 2-letter ISO country code.
0x7EF 0x7EF 1 Version of data format for 0x7C0-0x7FF. Must be 0x01.
0x7F0 0x7FF 16 SHA-3 128 bit hash of 0x7C0 - 0x7EF.