Chat freely about anything...

User avatar
By flagtrax
#33870 Hi all, Like many others I am experiencing issues trying to get the ESP 12(e) RE-flashed. I bought 2 of these from Aliexpress with breakout boards. I'd been using an ESP-7 with as much success as my experience would allow, but I believe I can speak for many as to the confusion/frustration due to lack of documentation on these modules, as well as the variations from different vendors of the module makers. Add to that the fact that information is scattered all over all forums with little continuity. All that is not 'venting' but setting the 'tone', if you will to hopefully gain knowledge for all who are confused about this module. So, this is what I can contribute, I can say I'm not sure I understand all that I am presenting, but here it is.

I bought 2 of these from Aliexpress, with breakout boards with the intent of flashing them with nodemcu firmware. I mounted the modules on the breakout boards, and powered them up, and found the at commands worked well. Now feeling pretty good, I decided to flash one. (BTW much of my experience is seen on other boards.) After many attempts of failed flashing, using a breadboard, I finally got one to flash "hardwiring" it with jumpers. Again feeling pretty good, and chastising myself for a common breadboard issue. However I noticed later (after having issues ) that I had flashed from the internal version of the nodemcu flasher. I decided to reflash with 0.9.6. With the setup the same, no matter how I configured the GPIO's I couldn't get it to flash. It would send ~20 or so successful writes, then fail on timeout. I decided to try flashing other firmwares, essentially with the same results.
Looking at the other module via ESplorer, which still has the original firmware attached I see in it's original state:
Response from cold startup:

Ai-Thinker Technology Co. Ltd.

ready
WIFI CONNECTED
WIFI GOT IP

Info gathered (using AT+GMR):

AT+GMR

AT version:0.25.0.0(Jun 5 2015 16:27:16)
SDK version:1.1.1
Ai-Thinker Technology Co. Ltd.
Jun 23 2015 23:23:50

OK


Response after soft reset:

ets Jan 8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

ŒÕ(¤SQS�(RQ¨)HT¨)SHHHC…äÿrŽÃ9ô
Ai-Thinker Technology Co. Ltd.

ready
WIFI CONNECTED
WIFI GOT IP

Since I'm not all that familiar with the firmware AIthinker provides I'm not sure what all that is, but: Note the flash size&map. If I am interpreting this correctly, this is not the 4MB (32mb) as advertised in the 12-E's. I changed the Nodemcu flasher to reflect what I thought it would be (1MB). Still no luck. I have seen comments about "fake" 12E's on this as well as other forums, and I'm now beginning to wonder. I have purchased jump drives in the past that ended up fake and failed. This all brings to mind the following questions;
1. First of all, are there "fakes" out there? I for one don't want to throw money out the window just to learn I've been duped. Nor do I want to spend 3 time what I have to for the same product.
2. How would one know if it is fake? From what I've seen in images they all pretty much look alike.
3. What constitutes a "fake" (after all in it's native state it appears to work)?
4. How can we define and identify a "reliable" source?
5. How can we build documentation in an organized, cognitive manor that is more easily accessable?

In the meantime. I will continue to attempt to flash this thing even though it goes against "Alberts" quote: "Insanity: doing the same thing over and over again and expecting different results." :lol:
User avatar
By vikingfr
#33875 Hi,

using Arduino IDE, you can upload a scketch that display the result of "ESP.getFlashChipRealSize()".
On my ESP12, it return 4194304, it's 4M


use this scketch:
Code: Select all/*
 ESP8266 CheckFlashConfig by Markus Sattler
 
 This sketch tests if the EEPROM settings of the IDE match to the Hardware
 
 */

void setup(void) {
    Serial.begin(115200);
}

void loop() {

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

    Serial.printf("Flash real id:   %08X\n", ESP.getFlashChipId());
    Serial.printf("Flash real size: %u\n\n", realSize);

    Serial.printf("Flash ide  size: %u\n", ideSize);
    Serial.printf("Flash ide speed: %u\n", ESP.getFlashChipSpeed());
    Serial.printf("Flash ide mode:  %s\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == FM_DOUT ? "DOUT" : "UNKNOWN"));

    if(ideSize != realSize) {
        Serial.println("Flash Chip configuration wrong!\n");
    } else {
        Serial.println("Flash Chip configuration ok.\n");
    }

    delay(5000);
}

It will display the real flash ID, so you can check on internet. It will also report real size and size seen (or set) by firmware
User avatar
By flagtrax
#33894
vikingfr wrote:Hi,

using Arduino IDE, you can upload a scketch that display the result of "ESP.getFlashChipRealSize()".
On my ESP12, it return 4194304, it's 4M


Thanks for that viking, I'll give it a try, but I'm not sure I can upload anything at this point. Also like you I see 4194304 reported by the nodemcu flasher I now wish I'd have documented both modules when I received them, but never expected this much hassle after successfully flashing the esp-07.