user30093: The Arduino documentation provides two examples to store data in the EEPROM.
https://www.arduino.cc/en/Reference/EEPROMPut stores data in the EEPROM and the EEPROMGet example reads the data back and writes it out.
These examples work fine on my Arduino Uno, but on my ESP8266 (NodeMCU) the EEPROMGet example code is unable to retrieve the data EEPROMPut should have stored previously. Instead it's just returning some random bits and bytes.

Any ideas? I haven't found anything about known incompatibilities related to the ESP8266 boards...

user-1: EEPROM for the ESP8266/NodeMCU
This is a bit different from standard EEPROM class for Arduino. You need to call EEPROM.begin(size) before you start reading or writing, size being the number of bytes you want to use. Size can be anywhere between 4 and 4096 bytes.
EEPROM.write does not write to flash immediately, instead you must call EEPROM.commit() whenever you wish to save changes to flash. EEPROM.end() will also commit, and will release the RAM copy of EEPROM contents.
EEPROM library uses one sector of flash located just after the SPIFFS.

user4143: The ESP8266 doesn't have any EEPROM. Instead it emulates it using Flash. 
In order not to wear out your flash you have to "commit" changes to the flash once they have been queued for writing - otherwise they will be lost.
Instead of using the Arduino examples you should be using the ESP8266 specific examples included with the ESP8266 EEPROM emulation library (but also here).

30093: <p>The Arduino documentation provides two examples to store data in the EEPROM.</p>

<p><a href="https://www.arduino.cc/en/Reference/EEPROMPut" rel="nofollow noreferrer">https://www.arduino.cc/en/Reference/EEPROMPut</a> stores data in the EEPROM and the EEPROMGet example reads the data back and writes it out.</p>

<p>These examples work fine on my Arduino Uno, but on my ESP8266 (NodeMCU) the EEPROMGet example code is unable to retrieve the data EEPROMPut should have stored previously. Instead it's just returning some random bits and bytes.</p>

<p><a href="https://i.stack.imgur.com/tX1t0.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/tX1t0.png" alt="enter image description here"></a></p>

<p>Any ideas? I haven't found anything about known incompatibilities related to the ESP8266 boards...</p>
 -1: <p><strong>EEPROM for the ESP8266/NodeMCU</strong></p>

<p>This is a bit different from standard EEPROM class for Arduino. You need to call <code>EEPROM.begin(size)</code> before you start reading or writing, size being the number of bytes you want to use. Size can be anywhere between 4 and 4096 bytes.</p>

<p><code>EEPROM.write</code> does not write to flash immediately, instead you must call <code>EEPROM.commit()</code> whenever you wish to save changes to flash. <code>EEPROM.end()</code> will also commit, and will release the RAM copy of EEPROM contents.</p>

<p>EEPROM library uses one sector of flash located just after the SPIFFS.</p>
 4143: <p>The ESP8266 doesn't have any EEPROM. Instead it emulates it using Flash. </p>

<p>In order not to wear out your flash you have to "commit" changes to the flash once they have been queued for writing - otherwise they will be lost.</p>

<p>Instead of using the Arduino examples you should be using the ESP8266 specific examples included with the ESP8266 EEPROM emulation library (but also <a href="https://github.com/esp8266/Arduino/tree/master/libraries/EEPROM/examples" rel="noreferrer">here</a>).</p>
