Hello, I am working with the WIFI IR Blaster ESP8266 (https://www.sparkfun.com/products/15031) and curiously when I load a simple sample program ([WiFiScan) after the usual post-boot data stream, the Serial output shows up just fine on the Arduino serial monitor.
However, when I try and use any other terminal program to monitor the serial port, the terminal appears to stop receiving data.
Any thoughts about what might be the cause of the issue?
Arduino Serial monitor: works fine after ESP init sequence
Putty serial monitor
Platform IO device monitor
All were set to use the expected final baud rate (tried 9600, 115200). It is interesting to note that after the ESP bootloader string coming across (readable at 74800 baud) the only monitor that word was the Arduino monitor.
Putty and PlatformIO monitor apparently failed to receive any data after receiving the Bootloader sequence.
…
So, I did some further investigation and found the following:
Sparkfun SerialBasic work with Arduino serial monitor only
Sparkfun BeefyFTDI works with Arduino serial monitor only
other FTDI UART connected to just RX/TX and power works with any device.
So, I suspect that it may be related to something either with the Sparkfun UART boards and/or the use of the DTR line…
Maybe some character in the boot string is triggering hardware flow control?
I did try turning off flow control in the terminal programs but that didn’t seem to have any effect.
I have not tries any terminal program but tried to write a simple python script to read the serial. Everything works with an Arduino Uno but not with the python. The LED on the USB-to-Serial adapter (Sparkfun CH340G) stops blinking.
I believe I found the issue, although I don’t exactly know the solution.
It seems that this has to do with an auto-reset feature circuit tied to the DTR line with an esp8266. I did some digging and tried to build my own for a homespun esp8266 board and while I could get the reset working, it was always problematic (for my esp8266 chip)
I also found that there was something funny going on which regards to how Arduino serial monitor was changing UART speeds during the ESP8266 boot sequence which uses a baud rate of 74880 (https://www.esp8266.com/viewtopic.php?f=33&t=2308). After boot if you have serial IO and set the baud rate to something else, the CH340G works okay with Arduino, but other serial programs don’t work so great.
In the end, If you disconnect the DTR line and just use GND/VCC/TX/RX everything works just fine on any terminal program.