I have created my own PCB design using the ESP8266EX chip. I received my first prototypes and am in the process of testing them.
I am using Raspberry Pi and espotool.py to communicate and program the ESP8266EX chip. The connections are made according to this article here. I have tested this with ESP-01 module and it is working fine.
First I did not have any communication with ESP because of some mistake on the board that I have now corrected. Then the esptool.py failed in "Connecting..." part.
Now it seems that esptool.py can communicate with the chip (it can detect chip, frequency, MAC address etc.), but it is still having some error which I don't understand. The output of the esptool.py is as follows:
pi@RF:~/active_projects/IoT-jar $ ./reset_pcb.py
pi@RF:~/active_projects/IoT-jar $ ./program_pcb.py
pi@RF:~/active_projects/IoT-jar $ sudo python3
/home/pi/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool/esptool.py --port
/dev/ttyS0 --before default_reset --after hard_reset flash_id
esptool.py v2.8
Serial port /dev/ttyS0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: e8:db:84:da:21:fd
Uploading stub...
Running stub...
Stub running...
A fatal error occurred: Timed out waiting for packet header
I would like to know what does this timeout of packet header mean and what packet is this? Is this related to QSPI maybe? I have measured the UART TX line with scope and I saw that there is data sent on that line so that should not be the problem.
The design is working on 2.8V which again should be fine because I have tested the ESP-01 module on 2.8V.
EDIT: I've added a picture of my schematics design so maybe this will help in troubleshooting the issue.
I have now also tried various baud rates (9600,19200, 58600) and with argument --no-stub, but it is still giving the same results.