Most recent activity
-
I'm able to flash my ESP8266 without errors, but connecting to the interactive console over serial does not work. Instead of getting a prompt, I see only garbled text, and then no ability to type anything.
Exact product link: https://www.sparkfun.com/products/13678
Here's my chip info:$ ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool/esptool.py --port /dev/ttyUSB0 --baud 115200 flash_id esptool.py v2.8 Serial port /dev/ttyUSB0 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 5c:cf:7f:49:d7:83 Uploading stub... Running stub... Stub running... Manufacturer: 5e Device: 4014 Detected flash size: 1MB Hard resetting via RTS pin...
I've reset the flash entirely:
$ ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool/esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash esptool.py v2.8 Serial port /dev/ttyUSB0 Connecting........_____. Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 5c:cf:7f:49:d7:83 Uploading stub... Running stub... Stub running... Erasing flash (this may take a while)... Chip erase completed successfully in 2.8s Hard resetting via RTS pin...
And flashed like so:
$ ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool/esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_freq 80m --flash_mode dio --flash_size 1MB 0x0000 boot_v1.6.bin 0x1000 espruino_esp8266_user1.bin 0x7C000 esp_init_data_default.bin 0x7E000 blank.bin esptool.py v2.8 Serial port /dev/ttyUSB0 Connecting........_____. Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 5c:cf:7f:49:d7:83 Uploading stub... Running stub... Stub running... Configuring flash size... Flash params set to 0x022f Compressed 3856 bytes to 2763... Wrote 3856 bytes (2763 compressed) at 0x00000000 in 0.2 seconds (effective 124.4 kbit/s)... Hash of data verified. Compressed 468260 bytes to 325921... Wrote 468260 bytes (325921 compressed) at 0x00001000 in 28.8 seconds (effective 130.2 kbit/s)... Hash of data verified. Compressed 128 bytes to 75... Wrote 128 bytes (75 compressed) at 0x0007c000 in 0.0 seconds (effective 82.2 kbit/s)... Hash of data verified. Compressed 4096 bytes to 26... Wrote 4096 bytes (26 compressed) at 0x0007e000 in 0.0 seconds (effective 4154.0 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
I'm not sure I got the exact addresses for my chip (1MB flash), because the instructions only have addresses for 512KB and 4MB.
http://www.espruino.com/ESP8266_Flashing#initial-flashing
But I'm using the 512KB version, hoping that works. I was recommended on Gitter to use dio flashing mode instead of qio as the instructions indicate, but neither of those options change the behavior.
After flashing, I connect with screen.
$ screen /dev/ttyUSB0 115200
And this is what shows up on my screen
s$d��|�l�|�l�c|����{�#�c��n'�$go���#8��l;ds$x�g��$#'�<��c��o'�$��$ �o'$ ';�ۛg��`x�g�#o�|#��'o�$ �nl`n;���'�� 8�'�#o�|c��go�d`�o'$ ';�ۛ'�� ;��n��`rۛg$�<�� �{�'�#�'cx
Using different baud rates will change how long this garbed output is. The specific wiring I'm using matches the "Definitive Wiring Guide" instructable.
https://www.instructables.com/id/FTDI-ESP8266-Definitive-Wiring/
Any ideas what's wrong here?
Yay, I found the source of the problem. I found a README in the Espruino repo with more specific instructions for my 1MB device.
https://github.com/espruino/Espruino/blob/master/targets/esp8266/README_flash.txt
Here's the exact command that worked for me:
Note that this did not work with flash modes
qio
ordio
. Onlydout
worked.