-->
Page 1 of 2

Arduino IDE doesn't flash correctly, nodemcu-pyflasher does

PostPosted: Fri Oct 19, 2018 3:14 pm
by GTP
Hello everyone,
I'm facing a strange issue. I'm trying to flash an ESP12E, if I flash it using Arduino IDE it seems to flash it, but after a reboot doesn't work. If I take the binary produced by Arduino's compiler and flash it using nodemcu-pyflasher it works! I seem to use the same flashing parameters in both softwares: flashing mode set to DIO, flash size set to 4M and upload speed set to 115200. The only difference I see is that in Arduino I have to specify board type and I set it to "generic esp8266 module". Any idea/suggestion to make it work with Arduino IDE?
Thanks for your help

Re: Arduino IDE doesn't flash correctly, nodemcu-pyflasher d

PostPosted: Sat Oct 20, 2018 3:16 am
by btidey
Have you ticked the Show verbose output during upload in Arduino preferences?

That will give more detail on how esptool is being invoked and may give more of a clue as to what is going on?

I normally use espuino as the board for esp-12 modules as they normally should support QIO flashing.

If it appears to upload correctly but doesn't run, have you tried giving it a separate second reset? Some upload methods may not be invoking the correct reset procedure.

Re: Arduino IDE doesn't flash correctly, nodemcu-pyflasher d

PostPosted: Mon Oct 22, 2018 11:33 am
by GTP
Thank you for your reply. Manually resetting the board via the rst pin or power cycling it doesn't change anything. I've enabled the verbose output and here's the part about the flashing:
Code: Select all/home/giacomo/.arduino15/packages/esp8266/tools/esptool/0.4.13/esptool -vv -cd ck -cb 115200 -cp /dev/ttyUSB0 -ca 0x00000 -cf /tmp/arduino_build_121607/CaptivePortalMatematico.ino.bin
esptool v0.4.13 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>
   setting board to ck
   setting baudrate from 115200 to 115200
   setting port from /dev/ttyUSB0 to /dev/ttyUSB0
   setting address from 0x00000000 to 0x00000000
   espcomm_upload_file
   espcomm_upload_mem
opening port /dev/ttyUSB0 at 115200
   tcgetattr
   tcsetattr
   serial open
opening bootloader
resetting board
trying to connect
   espcomm_send_command: sending command header
   espcomm_send_command: sending command payload
   espcomm_send_command: receiving 2 bytes of data
warning: espcomm_send_command: wrong direction/command: 0x01 0x03, expected 0x01 0x08
trying to connect
   espcomm_send_command: sending command header
   espcomm_send_command: sending command payload
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
Uploading 314160 bytes from /tmp/arduino_build_121607/CaptivePortalMatematico.ino.bin to flash at 0x00000000
   erasing flash
   size: 04cb30 address: 000000
   first_sector_index: 0
   total_sector_count: 77
   head_sector_count: 16
   adjusted_sector_count: 61
   erase_size: 03d000
   espcomm_send_command: sending command header
   espcomm_send_command: sending command payload
   setting timeout 15000
   setting timeout 1000
   espcomm_send_command: receiving 2 bytes of data
   writing flash
................................................................................ [ 26% ]
................................................................................ [ 52% ]
................................................................................ [ 78% ]
...................................................................              [ 100% ]
starting app without reboot
   espcomm_send_command: sending command header
   espcomm_send_command: sending command payload
   espcomm_send_command: receiving 2 bytes of data
closing bootloader

So there's a warning but I don't know how to interpret it, maybe just a problem while connecting to the board that then recovered?

Re: Arduino IDE doesn't flash correctly, nodemcu-pyflasher d

PostPosted: Tue Oct 23, 2018 11:34 am
by btidey
Don't know what the warning is.

My output is similar but with no warning plus some extra lines at the end (if you included everything.

Code: Select allD:\Utils\Arduino\hardware\espressif\esp8266/tools/esptool/esptool.exe -vv -cd ck -cb 115200 -cp COM4 -ca 0x00000 -cf C:\Users\robert\AppData\Local\Temp\arduino_build_346065/RotaryEncoderButtonDev.ino.bin
esptool v0.4.13 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>
   setting board to ck
   setting baudrate from 115200 to 115200
   setting port from COM1 to COM4
   setting address from 0x00000000 to 0x00000000
   espcomm_upload_file
   espcomm_upload_mem
   setting serial port timeouts to 1000 ms
opening bootloader
resetting board
trying to connect
   flush start
   setting serial port timeouts to 1 ms
   setting serial port timeouts to 1000 ms
   flush complete
   espcomm_send_command: sending command header
   espcomm_send_command: sending command payload
   read 0, requested 1
trying to connect
   flush start
   setting serial port timeouts to 1 ms
   setting serial port timeouts to 1000 ms
   flush complete
   espcomm_send_command: sending command header
   espcomm_send_command: sending command payload
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
   espcomm_send_command: receiving 2 bytes of data
Uploading 402416 bytes from C:\Users\robert\AppData\Local\Temp\arduino_build_346065/RotaryEncoderButtonDev.ino.bin to flash at 0x00000000
   erasing flash
   size: 0623f0 address: 000000
   first_sector_index: 0
   total_sector_count: 99
   head_sector_count: 16
   adjusted_sector_count: 83
   erase_size: 053000
   espcomm_send_command: sending command header
   espcomm_send_command: sending command payload
   setting serial port timeouts to 15000 ms
   setting serial port timeouts to 1000 ms
   espcomm_send_command: receiving 2 bytes of data
   writing flash
................................................................................ [ 20% ]
................................................................................ [ 40% ]
................................................................................ [ 61% ]
................................................................................ [ 81% ]
.........................................................................        [ 100% ]
starting app without reboot
   espcomm_send_command: sending command header
   espcomm_send_command: sending command payload
   espcomm_send_command: receiving 2 bytes of data
closing bootloader
   flush start
   setting serial port timeouts to 1 ms
   setting serial port timeouts to 1000 ms
   flush complete