I'm using ESP32-WROOM-32D and have no problems uploading a sketch (just hold the boot button) when it's not connected to the PCB. Problems start when I'm looking to update the firmware for the soldered board:

Sketch uses 211101 bytes (16%) of program storage space. Maximum is 1310720 bytes.
Global variables use 16048 bytes (4%) of dynamic memory, leaving 311632 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.2.1
Serial port COM3
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 40:91:51:9b:21:00
Uploading stub...
Running stub...
Stub running...
WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00043fff...
Compressed 17472 bytes to 12125...

A fatal error occurred: Packet content transfer stopped (received 8 bytes)
Failed uploading: uploading error: exit status 2

Here's the schematics of my board, as you see GPIO 0 and 2 are not connected.


Any ideas how to make it flashable when soldered? Many thanks.

wroom pinout

  • \$\begingroup\$ From what I can tell, your pinout of the ESP32-WROOM-32D does not even remotely match what is shown in the datasheet. espressif.com/sites/default/files/documentation/… \$\endgroup\$
    – Klas-Kenny
    Commented Oct 6, 2022 at 9:16
  • \$\begingroup\$ @Klas-Kenny it's a dev board, added the pinout image to the question - thank you for taking a look. \$\endgroup\$ Commented Oct 6, 2022 at 9:21
  • \$\begingroup\$ No capacitors is probably the issue. Espressif have a document that outlines what is needed. I’d suggest you follow their recommendations. \$\endgroup\$
    – Kartman
    Commented Oct 6, 2022 at 9:56
  • \$\begingroup\$ Buy an ESP-PROG. In worst case you can temporarily solder the needed connections to the chip. I always make a tag connect solution for communication. Maybe a tip: google for the huzzah32 schematics. And compare. \$\endgroup\$
    – RemyHx
    Commented Oct 10, 2022 at 9:37

1 Answer 1


Found the solution here, removing pull-up on GPIO 12 (in my case it's ENCA) solved the problem.

  • \$\begingroup\$ Well done. In the datasheet look for strapping pins. \$\endgroup\$
    – RemyHx
    Commented Oct 10, 2022 at 9:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.