logo elektroda
logo elektroda
X
logo elektroda

Wemos D1 Mini ESP-12F Not Responding to AT Commands After Firmware Update

shel82 2007 18
Best answers

How do I flash a Wemos D1 mini ESP-12F so it responds to AT commands after a firmware update?

Because you flashed non-AT or mismatched firmware/layout, the Wemos D1 mini will not answer AT commands; it needs an ESP8266 AT package that matches its 4MB/32Mbit flash map [#17833110][#17833335] For the original D1 mini, use the 32Mbit (512KB+512KB) layout, not the 1024KB+1024KB one; the thread says ESP8266_AT_Bin_V1.7 is too large for this board and that V1.6.2 is the latest suitable AT package for this flash map [#17833306][#17833363] One working flash set shown was ESP8266_AT_Bin_V1.5.1 with boot_v1.6.bin at 0x00000, user1.1024.new.2.bin at 0x01000, esp_init_data_default.bin at 0x3fc000, and blank.bin at 0x7e000 and 0xfe000, flashed with -fm qio [#17833458] After flashing and rebooting, the serial monitor should then show the AT firmware responding at the module's UART speed [#17833458]
Generated by the language model.
ADVERTISEMENT
This content has been translated flag-pl » flag-en View the original version here
  • #1 17833040
    shel82
    Level 18  
    Hi, maybe someone can give a hint - the ESP8266 chip in the ESP-12F version on the Wemos D1 mini PCB is not responding to AT commands.

    Uploaded ESP8266_NONOS_SDK-1.5.4 firmware (works at 74880), the chip works fine, you can upload a program to it and execute, but it doesn't respond to AT commands sent (maybe I'm doing something wrong or misconfiguring the terminal)?

    I would like to add that I have tried on different terminals with CR=CR+LF transmission enabled, Handshaking - none, etc., while receiving data that is what the chip sends correctly displays on the terminal....
  • ADVERTISEMENT
  • #3 17833232
    shel82
    Level 18  
    Confusion with confusion with these firmwares - at least for a beginner, or is there somewhere reasonably accessible to describe it?

    ~khoam
    Please confirm yet if I understand the offset addresses for the ESP-12F (32Mbit) in #BOOT MODE correctly
    boot_v1.2+.bin 0x00000
    user1.2048.new.5.bin 0x01000
    esp_init_data_default.bin 0x3fc000
    blank.bin 0xfe000 & 0x3fe000
  • ADVERTISEMENT
  • #4 17833260
    Anonymous
    Level 1  
  • ADVERTISEMENT
  • #5 17833270
    shel82
    Level 18  
    khoam wrote:
    br/>
    shel82 wrote:
    Confirm yet please if I understand the offset addresses for the ESP-12F (32Mbit) in #BOOT MODE
    .

    Good reasoning. Exactly as in the README.md file :)


    Hmm, so I uploaded and it still doesn't work, and in the terminal it looks like this:
    ets Jan  8 2013,rst cause:2, boot mode:(3,6)
    
    
    
    load 0x40100000, len 2592, room 16 
    
    tail 0
    
    chksum 0xf3
    
    load 0x3ffe8000, len 764, room 8 
    
    tail 4
    
    chksum 0x92
    
    load 0x3ffe82fc, len 676, room 4 
    
    tail 0
    
    chksum 0x22
    
    csum 0x22
    
    
    
    2nd boot version : 1.7(5d6f877)
    
    SPI Speed : 40MHz
    
    SPI Mode : DIO
    
    SPI Flash Size & Map: 32Mbit(512KB+512KB)
    
    jump to run user1 @ 1000
    
    
    
    mismatch map 5,spi_size_map 4
    
    system_partition_table_regist fail
    .
  • #6 17833285
    Anonymous
    Level 1  
  • #7 17833303
    shel82
    Level 18  
    khoam wrote:
    shel82 wrote:
    Hmm, so I uploaded
    .

    But what specific firmware version did you upload?
    .

    ESP8266_AT_Bin_V1.7
  • #8 17833306
    Anonymous
    Level 1  
  • #9 17833319
    shel82
    Level 18  
    khoam wrote:
    shel82 wrote:
    ESP8266_AT_Bin_V1.7
    .

    This could not work because you have:

    shel82 wrote:
    SPI Flash Size & Map: 32Mbit(512KB+512KB)
    .

    So you can at most use the ESP8266 AT Bin version V1.6.2
    For this version there is:

    0x00000 boot_v1.7.bin
    0x01000 user1.1024.new.2.bin
    0xfc000 esp_init_data_default_v08.bin
    0x7e000 blank.bin
    0xfe000 blank.bin
    .

    In the meantime I have uploaded ESP8266_AT_Bin_V1.5.1 and it doesn't work either:
    ets Jan  8 2013,rst cause:2, boot mode:(3,7)
    
    
    
    load 0x40100000, len 816, room 16 
    
    tail 0
    
    chksum 0xef
    
    load 0x00000000, len 0, room 8 
    
    tail 0
    
    chksum 0xef
    
    load 0x00000000, len 0, room 0 
    
    tail 0
    
    chksum 0xef
    
    csum 0xef
    
    csum err
    
    ets_main.c  
    .

    Added after 2 [minutes]: .

    "SPI Flash Size & Map: 32Mbit(512KB+512KB)". - and isn't this value taken/written from the firmware I'm uploading, and is it unlikely to be used?
  • #10 17833335
    Anonymous
    Level 1  
  • #11 17833352
    shel82
    Level 18  
    khoam wrote:
    shel82 wrote:
    In the meantime I have uploaded ESP8266_AT_Bin_V1.5.1 and it doesn't work either:
    .
    What addresses did you provide for the individual binaries? Without this information it is difficult to answer, but it looks like you have entered the wrong ones.

    You should, regardless of AT firmware version, take those addresses that are in the "32Mbit(512KB+512KB)" section. - at least that's what the logs for your board show. There are other addresses in other sections and the operation will fail.

    Added after 5 [minutes]: .

    shel82 wrote:
    "SPI Flash Size & Map: 32Mbit(512KB+512KB)" - and isn't this value taken/written from the firmware I'm uploading and rather shouldn't be suggested?

    Rather not, as you tried to upload firmware that required 1024KB+1024KB the first time.
    Just in case, you can check this with the command esptool .
    .
    Attachments:
    • Wemos D1 Mini ESP-12F Not Responding to AT Commands After Firmware Update Bez tytułu.png (71.49 KB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #13 17833390
    shel82
    Level 18  
    khoam wrote:
    The original Wemos D1 mini has 4MB Flash = 32Mbit, 512+512 and the manufacturer recommends uploading AT firmware like this:
    https://wiki.wemos.cc/tutorials:get_started:revert_to_at_firmware
    .

    Shrinks and that's what I'm doing, photo below, reply after uploading ESP8266_AT_Bin_V1.5.1:
    ets Jan  8 2013,rst cause:2, boot mode:(3,7)
    
    
    
    load 0x40100000, len 816, room 16 
    
    tail 0
    
    chksum 0xef
    
    load 0x00000000, len 0, room 8 
    
    tail 0
    
    chksum 0xef
    
    load 0x00000000, len 0, room 0 
    
    tail 0
    
    chksum 0xef
    
    csum 0xef
    
    csum err
    
    ets_main.c 
    .
    Attachments:
    • Wemos D1 Mini ESP-12F Not Responding to AT Commands After Firmware Update Bez tytułu2.png (72.35 KB) You must be logged in to download this attachment.
  • #14 17833458
    Anonymous
    Level 1  
  • #15 17833497
    kaczakat
    Level 34  
    I recently uploaded version 2 from the attachment to Wemos and it works, in fact I even forgot to change the flash size and it stayed at 1MB, I previously uploaded 1.6 to ESP01. The UART is at 115200 and the upload program is also in the attachment
    Attachments:
    • ESP.ZIP (3.98 MB) You must be logged in to download this attachment.
    Helpful post? Buy me a coffee.
  • #16 17833522
    Anonymous
    Level 1  
  • #18 17833585
    Anonymous
    Level 1  

Topic summary

✨ The discussion revolves around issues faced by a user with the Wemos D1 Mini ESP-12F not responding to AT commands after a firmware update. The user uploaded the ESP8266_NONOS_SDK-1.5.4 firmware but encountered problems with AT command responses. Various suggestions were made, including uploading the correct AT firmware versions and ensuring proper binary addresses during the upload process. The conversation highlighted the importance of using the correct firmware version (e.g., ESP8266_AT_Bin_V1.6.2) and the correct memory mapping for the 32Mbit flash size. Users shared their experiences with different firmware versions and configurations, emphasizing the need for accurate settings to achieve successful communication with the ESP8266 chip.
Generated by the language model.

FAQ

TL;DR: 4MB (32Mbit) Wemos D1 minis use 512KB+512KB mapping; "The original Wemos D1 mini has 4MB Flash = 32Mbit, 512+512." Fix no-AT-response by flashing Espressif AT and correct offsets. For Wemos D1 mini/ESP‑12F users restoring AT after firmware updates. [Elektroda, khoam, post #17833363]

Why it matters: Correct AT firmware and offsets prevent boot-map errors and restore reliable serial control for Wi‑Fi projects.

Quick Facts

Why won’t my Wemos D1 mini respond to AT commands after flashing NONOS SDK?

Because the NONOS SDK image is not the AT interpreter. Flash the Espressif AT firmware instead. "If you upload AT type firmware it might start responding." Reboot after flashing and test with AT and AT+GMR. This restores the serial command interface. [Elektroda, khoam, post #17833110]

Which AT firmware version should I use for a 4MB (32Mbit) ESP‑12F?

Use AT v1.6.2 or earlier for the 512KB+512KB map. AT v1.7 targets 1024KB+1024KB and will fail on 512KB+512KB devices. Match the version to your flash map to avoid boot errors. [Elektroda, khoam, post #17833306]

What flash offsets are correct for 32Mbit (512KB+512KB) AT firmware?

Use these offsets: 0x00000 boot_v1.6 or boot_v1.7; 0x01000 user1.1024.new.2.bin; 0x3FC000 esp_init_data_default.bin; 0x7E000 blank.bin; 0xFE000 blank.bin. This set produced a clean AT boot on a D1 mini. [Elektroda, khoam, post #17833458]

How do I flash AT firmware with esptool?

  1. Connect in bootloader mode over USB-UART.
  2. Run esptool write_flash with -fm qio at the offsets above (user1 wrote 427,044 bytes in 27s).
  3. Power‑cycle, open serial, send AT then AT+GMR to verify. This mirrors a successful Wemos D1 mini session. [Elektroda, khoam, post #17833458]

My serial log shows "mismatch map 5, spi_size_map 4" — how do I fix it?

You flashed a build for the wrong map. Your board reports 32Mbit (512KB+512KB). Use AT v1.6.2 and the 32Mbit addresses, then reflash. This resolves the partition registration failure and boots AT. [Elektroda, khoam, post #17833306]

Why do I see readable boot messages only at 74880 baud?

The ESP8266 bootloader prints logs at 74880 baud. The thread author confirmed readable output at 74880 after flashing a NONOS build. Use this speed to view boot logs. [Elektroda, shel82, post #17833040]

What serial speed should I use for AT commands on Wemos D1 mini?

Set 115200 bps for the AT interface. A user confirmed AT working at 115200 on Wemos D1 mini using the shared uploader. Adjust your terminal accordingly. [Elektroda, kaczakat, post #17833497]

I get "csum err" and "ets_main.c" resets — what went wrong?

Those errors indicate wrong offsets or an incomplete image. "You should… take those addresses that are in the '32Mbit(512KB+512KB)' section." Reflash using the correct 32Mbit map binaries and offsets. [Elektroda, khoam, post #17833335]

How can I check my flash size and map before flashing?

Use esptool. It auto‑detects and prints the flash size, for example "Auto‑detected Flash size: 4MB." The same session verified hashes and booted AT successfully. Confirm this before writing images. [Elektroda, khoam, post #17833458]

Is there an AT firmware v2.0 for ESP8266?

No. "There is no version 2.0 for AT firmware for the ESP8266." The referenced official download page lists only 1.x releases. Use 1.6.2 for 512KB+512KB devices. [Elektroda, khoam, post #17833522]

Can I upgrade AT firmware to 1.6.2 using AT+CIUPDATE?

Yes, after flashing a working AT build. 1) Join Wi‑Fi with AT+CWMODE=3 and AT+CWJAP. 2) Send AT+CIUPDATE and wait for +CIPUPDATE:1..4 and OK. 3) Verify with AT+GMR; it reported 1.6.2 in the example. [Elektroda, kaczakat, post #17833583]

Where are the official Espressif AT docs and downloads?

They are on Espressif’s site under AT firmware and documentation. A reply linked the official documentation overview. Use these resources to match binaries and flash maps correctly. [Elektroda, khoam, post #17833260]

Does the Wemos D1 mini really ship with 4MB flash?

Yes. The original Wemos D1 mini has 4MB (32Mbit) mapped as 512KB+512KB. The same reply references the manufacturer’s revert‑to‑AT guide. [Elektroda, khoam, post #17833363]

Which binaries should I pick inside the AT package for 512KB+512KB?

Select boot_v1.6 or boot_v1.7 for the bootloader, user1.1024.new.2 as the main image, plus esp_init_data_default and blank files. These match the 512KB+512KB build set. [Elektroda, khoam, post #17833306]

What flash mode should I pass to esptool, QIO or DIO?

QIO worked in a verified D1 mini flash session. The esptool command used -fm qio, and AT responded OK after reboot. You can follow that template. [Elektroda, khoam, post #17833458]
Generated by the language model.
ADVERTISEMENT