Größe des ESP8266 Flash-Speicher sowie Chip ID ausgeben und mit der Konfiguration überprüfen

Bei Unsicherheiten mit der ESP-Chip-Konfiguration oder zur reinen Überprüfung kann folgender Code zur Ausgabe der Daten über die serielle Schnittstelle genutzt werden:

void setup(void) {
    Serial.begin(9600);

    uint32_t realSize = ESP.getFlashChipRealSize();
    uint32_t ideSize = ESP.getFlashChipSize();
    FlashMode_t ideMode = ESP.getFlashChipMode();

    Serial.printf("Reale Flash ID:   %08X\n", ESP.getFlashChipId());
    Serial.printf("Reale Flash groesse: %u", realSize);
    Serial.print(" Byte\n\n");

    Serial.printf("In der IDE hinterlegte Flash groesse: %u", ideSize);
    Serial.print(" Byte\n");
    Serial.printf("In der IDE hinterlegte Flash geschwindigkeit: %u\n", ESP.getFlashChipSpeed());
    Serial.printf("In der IDE hinterlegter  Flash Modus:  %s\n\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == FM_DOUT ? "DOUT" : "UNKNOWN"));

    if(ideSize != realSize) {
        Serial.println("Flash konfiguration ist falsch!\n");
    } else {
        Serial.println("Flash konfigguration ist korrekt.\n");
    }
}

void loop() {
}

Die Ausgabe über den “Seriellen Monitor” der Arduino-IDE kann dann wie folgt aussehen:

Die Konfiguration zum Flashen des ESP8266 kann daraufhin wenn nötig angepasst werden.