So you're a Noob? Post your questions here until you graduate! Don't be shy.

User avatar
By meowsqueak
#68894 Hi,

I'm new to the ESP8266 but not embedded systems in general. I have a little ESP8266 ESP-12F board I purchased from AliExpress - not sure exactly what it is, but the phrase "“QX Electronics ESP8266 ESP 12F Wemos D1 R3 Development Board ESP-12F NodeMCU LUA WiFi Extension Module RGB LED DIY for arduino” seems to bring up pictures that match what I have. It shipped with AT version 1.1.0.0 and SDK version 1.5.4.

I have it running off a 5V supply (it has a AMS1117 3.3V regulator so that's OK) and I'm communicating with it via a *genuine* FTDI USB/UART bridge, with just TX/RX/GND connected to the ESP board. Serial comms seems to be ok except for one strange problem - it only communicates at 115200 baud.

Using esptool.py I've managed to get the Blinky demo flashed onto it once, but most of the time the serial transfer times out and freezes and I have to retry. I've also tried to reflash the AT firmware but it always fails at 99% on the eagle.irom0text.bin (if it gets that far):

"A fatal error occurred: Timed out waiting for packet header".

I'd like to run it at 57600 or lower baud to try and avoid these serial problems, however as I mentioned I'm not able to get any comms to the board at anything other than 115200. Even the "esptool.py chip_id" command fails to connect if I use --baud with anything other than 115200. Many posts say to use "--baud 9600" to try and solve the problems I'm seeing, but that doesn't seem to be an option for me.

I've also tried various USB cables and host ports as well as rewired my serial comms to the ESP board to try and make it more reliable, with no noticeable effect unfortunately.

From what I've read, esptool.py is meant to be able to communicate at the specified baud rate - does anyone know what might be preventing baud rate selection from working? How does esptool.py negotiate a baud rate with the device? Is this a feature of the ESP bootloader and is it possible to upgrade/modify this?
User avatar
By meowsqueak
#68923 An update - I found I was able to program the Blinky and AT firmware by splitting the write-flash into separate commands - one per segment. I would have to cycle the device between each file, but in doing so I was able to get the firmware programmed successfully.

However I was able to get much better communications reliability (100% almost) by using the version of esptool.py that ships with the ESP32 IDF - version 2.1-beta1. Although it drops the device out of programming mode after every operation, the write-flash command is much more reliable and I'm able to program all segments of firmware in a single command.

I still don't know why I'm not able to select a different baud rate with esptool.py than 115200 though.

Also, I read that the device should produce a boot log at 76800 baud at power-on, however that does not yield intelligible text to me, neither does any other baud rate I've tried (9600, 38400, 57600, 76923). I just get garbage (the "ready" message finally appears at 115200 if using the AT firmware).
User avatar
By QuickFix
#69342 When I do a search for "QX Electronics ESP8266 ESP 12F Wemos D1 R3 Development Board ESP-12F NodeMCU LUA WiFi Extension Module RGB LED DIY for arduino” I'm getting NodeMCU's, WeMos', plain ESP's and other boards, so I don't know what device you're actually having.

Could you provide us with an actual image or a link to the page this module is sold?

Every ESP should be able to communicate at *all* baudrates; I haven't heard of a *Locked* baud rate before. :?