Custom ESP32-PICO-D4 board, not able to upload sketches (no communication to internal flash)
Posted: Sat Mar 26, 2022 5:09 pm
Hi guys,
I have a custom EPS32-Pico D4 board for a project of mine. The board was developed by a third party, so I did not design the board by myself. I am a mechanical engineer and therefore the PCB design process is kind of out of my scope of knowledge. Nevertheless, I still hope, that you guys are willing to help me out with the problem I'm facing. The board itself was produced and assembled by PCBway, I ordered 10 boards in total.
The Problem:
Since end of 2021 I am trying to upload a sketch to the board, but it always fails with the same error message in Arduino:
___________________________
esptool.py v3.0-dev
Serial port /dev/cu.usbserial-0001
Connecting........_____.
Chip is ESP32-PICO-D4 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 30:83:98:e0:7d:f0
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0x0, SizeID=0x0), defaulting to 4MB
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 7913.1 kbit/s)...
A fatal error occurred: Timed out waiting for packet header
A fatal error occurred: Timed out waiting for packet header
___________________________
- I tried different settings: Board (ESP32 Dev Module/ ESP32 Pico Kit), Upload Speed (115200-921600 baud rates), Flash frequency (40/80 Mhz), Flash Mode (QIO/DIO/QOUT/DOUT). Despite the different settings, the error message remains the same.
- I tried to put the microcontroller into boot mode with the EN and BOOT button procedure, but that had no effect.
- I checked all pins for the flash communication, all are left free, which is also visible in the schematics I attached.
- I tried programming it via Arduino on Mac as well as windows, same error persists.
- No matter which code I upload, the error message is the same.
- I have the same behavior with each of the 10 boards, so I would think, that this is not an assembly error.
- I also tried to communicate with the board through esp.py via terminal but the output also gives me a warning, that it is not able to communicate with the flash. I attached the terminal output, maybe this is helpful for anybody.
- While searching for similar problems in this forum, I found a post (https://www.esp32.com/viewtopic.php?t=16192#p61610) where it is suggested, that the GND solder plate could be the problem, but I have no idea if that is also the case for my pcb. I attached a photo of an unassembled platine of that pcb, maybe you can tell me if that looks like a proper GND connection for the PICO-D4 or not, because I am not able to determine that by myself.
I also tried contacting The PCB designer, but he has not been able to find what is wrong and can't help me out regarding this problem, so you are kind of my last hope to find the error. I am more than willing to learn and do everything to test or further debug the problem, but I have no clue at the moment how to go from here. Please let me know, if I can do anything to help find the problem.
I hope I did not forget any information, if I did, please get back to me and I will try to provide everything necessary.
I really appreciate your help, thank you all in advance,
Dario
I have a custom EPS32-Pico D4 board for a project of mine. The board was developed by a third party, so I did not design the board by myself. I am a mechanical engineer and therefore the PCB design process is kind of out of my scope of knowledge. Nevertheless, I still hope, that you guys are willing to help me out with the problem I'm facing. The board itself was produced and assembled by PCBway, I ordered 10 boards in total.
The Problem:
Since end of 2021 I am trying to upload a sketch to the board, but it always fails with the same error message in Arduino:
___________________________
esptool.py v3.0-dev
Serial port /dev/cu.usbserial-0001
Connecting........_____.
Chip is ESP32-PICO-D4 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 30:83:98:e0:7d:f0
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0x0, SizeID=0x0), defaulting to 4MB
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 7913.1 kbit/s)...
A fatal error occurred: Timed out waiting for packet header
A fatal error occurred: Timed out waiting for packet header
___________________________
- I tried different settings: Board (ESP32 Dev Module/ ESP32 Pico Kit), Upload Speed (115200-921600 baud rates), Flash frequency (40/80 Mhz), Flash Mode (QIO/DIO/QOUT/DOUT). Despite the different settings, the error message remains the same.
- I tried to put the microcontroller into boot mode with the EN and BOOT button procedure, but that had no effect.
- I checked all pins for the flash communication, all are left free, which is also visible in the schematics I attached.
- I tried programming it via Arduino on Mac as well as windows, same error persists.
- No matter which code I upload, the error message is the same.
- I have the same behavior with each of the 10 boards, so I would think, that this is not an assembly error.
- I also tried to communicate with the board through esp.py via terminal but the output also gives me a warning, that it is not able to communicate with the flash. I attached the terminal output, maybe this is helpful for anybody.
- While searching for similar problems in this forum, I found a post (https://www.esp32.com/viewtopic.php?t=16192#p61610) where it is suggested, that the GND solder plate could be the problem, but I have no idea if that is also the case for my pcb. I attached a photo of an unassembled platine of that pcb, maybe you can tell me if that looks like a proper GND connection for the PICO-D4 or not, because I am not able to determine that by myself.
I also tried contacting The PCB designer, but he has not been able to find what is wrong and can't help me out regarding this problem, so you are kind of my last hope to find the error. I am more than willing to learn and do everything to test or further debug the problem, but I have no clue at the moment how to go from here. Please let me know, if I can do anything to help find the problem.
I hope I did not forget any information, if I did, please get back to me and I will try to provide everything necessary.
I really appreciate your help, thank you all in advance,
Dario