Electronics Design

The Standard ESP32 Header

Why Tag Connect?

My favorite programming header is Tag Connect. Some reasons why I love it:

  • No header needed, its just pads and holes on the board
  • No cost, so you can leave it on the board, even in production

I’ll present a standard Tag Connect header for ESP32.


Signal NameDescriptionPin
ESP_ENPull low to reset ESP321
VDDSupply voltage of ESP322
ESP_TXDConnect to TX pin of ESP32, RX pin of programmer3
ESP_RXDConnect to RX pin of ESP32, TX pin of programmer5
ESP_IO0Hold low, then reset ESP32 to enter bootloader (make ESP32 ready to accept program over serial lines)6
The 6 pins on the ESP32 header
Pin numbers for the Tag Connect footprint (top) and 6 pin IDC header on the programmer (bottom)
Example board with Tag Connect header. Note how much smaller it is compared to the standard 2.54mm header on the same board.

Schematic Symbol and PCB Footprint

Find the KiCad schematic symbol and PCB footprint in this Github repo, use the TC2030-IDC_ESP symbol, which has the pins labelled for ESP32 as listed in the table above. I like having the signal names in the symbol, so its harder to mix the pins up (trust me, it happens more than I’d like to admit).

KiCad schematic symbol for ESP32 Tag Connect, showing labelled pin names

Cable and Programmer

You may be thinking, holy heck this cable is expensive! But keep in mind, you only need to buy it once to use on every future project. Say goodbye to soldering programming headers from now on and hand over your hard-earned $34.

ItemPart NumberWhere to buyCost (USD)
Tag Connect CableTC2030-IDC-NLTag Connect33.95
ESP ProgrammerESP-PROGDigikey, Mouser12.00
Tag Connect Clip (optional but reccomoneded, otherwise you have to hold cable on board)TC2030-CLIP-3PACKTag Connect18.00 (3 pack)

One note about the clip, if you are too cheap to buy the real ones (this is me), I found a nice 3D-printable clip that works decently well on Thingiverse.

I hope this header helps make your future ESP32 projects quicker and easier! Let me know in the comments how this works for you. In the future, I plan to update the KiCad library in GitHub with symbols for other microcontrollers as well (thinking ARM SWD will be next).

Leave a Reply

Your email address will not be published. Required fields are marked *