This website requires JavaScript.
쿠폰
배송지
블로그

ESP32 핀 배치 참고: 사용 가능한 GPIO와 주의할 핀

최초 게시일 Nov 06, 2026, 업데이트 되였습니다. Nov 06, 2026

4 분

표목(TOC)
  • ESP32 핀 배치도 한눈에 보기: ESP32-WROOM-32E의 GPIO 맵
  • ESP32 핀 배치: 제약 없이 사용할 수 있는 GPIO
  • ESP32에서 사용을 피하거나 주의해야 할 핀
  • ESP32 스트래핑 핀
  • ESP32 입력 전용 핀
  • ESP32 아날로그·디지털 변환 핀: 와이파이와 함께 사용할 수 있는 아날로그 입력
  • ESP32 디지털·아날로그 변환, 터치, 실시간 클록 핀
  • ESP32 UART 및 SPI 핀
  • 인쇄회로기판의 ESP32 핀 할당 방법
  • 결론
  • ESP32 핀 배치 관련 자주 묻는 질문

핵심 요점

  • GPIO 개수: ESP32 칩에는 GPIO가 34개 있으며, ESP32-WROOM-32E 모듈은 이 중 26개를 외부로 인출합니다.
  • 범용 핀: 모듈의 GPIO 중 15개는 부팅, 플래시 연결, 입력 전용에 따른 제약이 없습니다: GPIO4, GPIO13, GPIO14, GPIO16~GPIO19, GPIO21~GPIO23, GPIO25~GPIO27, GPIO32, GPIO33.
  • 스트래핑 핀: GPIO0, GPIO2, GPIO5, GPIO12, GPIO15는 리셋 시 논리 레벨이 샘플링되므로, 연결된 회로는 부팅 모드에 필요한 레벨을 유지해야 합니다.
  • 입력 전용 핀: GPIO34, GPIO35, GPIO36, GPIO39에는 출력 드라이버와 내부 풀업·풀다운 저항이 없습니다.
  • ADC2와 와이파이: ADC2는 와이파이 드라이버와 공유되므로, 와이파이가 활성화된 상태에서 읽을 아날로그 입력에는 ADC1 핀을 사용해야 합니다.

ESP32 핀 배치의 대부분은 범용 입출력이지만, 다음 네 종류는 주의가 필요합니다: 플래시 핀, 스트래핑 핀, 입력 전용 핀, ADC2 핀. GPIO를 잘못 선택하면 부팅에 실패하거나 와이파이를 활성화했을 때 아날로그·디지털 변환값이 부정확해질 수 있습니다.

이 가이드에서 다룰 내용:

  • 신호 종류별로 자유롭게 사용할 수 있는 ESP32-WROOM-32E 핀
  • 사용을 피해야 할 핀과 그 이유
  • 스트래핑 핀, 입력 전용 핀, ADC2 핀의 동작
  • 디지털·아날로그 변환, 터치, 딥 슬립 해제, UART, SPI, I2C 기능을 지원하는 핀
  • 자체 인쇄회로기판 설계 시 ESP32 핀을 할당하는 방법

참고

이 가이드는 ESP32-WROOM-32E를 기준으로 핀 배치를 설명합니다. ESP32-S2, ESP32-C3, ESP32-S3 등 ESP32 제품군에 따라 핀 매핑이 다르므로, 다른 제품을 사용할 때는 해당 제품의 핀 배치를 확인하십시오.

esp32 pinout of the esp32 wroom 32e module

그림: ESP32-WROOM-32E 모듈의 ESP32 핀 배치

ESP32 핀 배치도 한눈에 보기: ESP32-WROOM-32E의 GPIO 맵

ESP32 칩에는 GPIO가 34개 있습니다. ESP32-D0WD-V3를 기반으로 하는 ESP32-WROOM-32E 모듈은 38개 핀을 통해 이 중 26개를 외부로 인출합니다.

나머지 8개는 사용할 수 없습니다: GPIO6~GPIO11은 모듈의 SPI 플래시에 연결되어 있고, GPIO37과 GPIO38은 외부로 인출되지 않습니다.

GPIO모듈 핀 번호핀 유형아날로그·디지털 변환 또는 디지털·아날로그 변환비고
GPIO025스트래핑ADC2_CH1리셋 시 로우이고 GPIO2도 로우이면 직렬 다운로드 모드 진입
GPIO135 (TXD0)UART0없음프로그램 기록 및 부팅 로그 출력
GPIO224스트래핑ADC2_CH2다운로드 모드 진입 시 로우 또는 플로팅 상태 필요
GPIO334 (RXD0)UART0없음프로그램 기록용 입력
GPIO426범용 입출력ADC2_CH0없음
GPIO529스트래핑없음기본 VSPI 칩 선택 신호
GPIO6~GPIO11외부로 인출되지 않음플래시없음모듈의 SPI 플래시에 연결
GPIO1214스트래핑ADC2_CH5전원 인가 시 로우 유지; JTAG MTDI
GPIO1316범용 입출력ADC2_CH4JTAG MTCK
GPIO1413범용 입출력ADC2_CH6JTAG MTMS
GPIO1523스트래핑ADC2_CH3리셋 시 로우이면 부팅 로그 출력 중지; JTAG MTDO
GPIO1627범용 입출력없음R2 모듈 변형에서 의사 정적 메모리에 사용
GPIO1728범용 입출력없음없음
GPIO1830범용 입출력없음기본 VSPI 클록
GPIO1931범용 입출력없음기본 VSPI MISO
GPIO2133범용 입출력없음아두이노의 기본 I2C SDA
GPIO2236범용 입출력없음아두이노의 기본 I2C SCL
GPIO2337범용 입출력없음기본 VSPI MOSI
GPIO2510범용 입출력ADC2_CH8, DAC_1없음
GPIO2611범용 입출력ADC2_CH9, DAC_2없음
GPIO2712범용 입출력ADC2_CH7없음
GPIO328범용 입출력ADC1_CH432.768 kHz 수정 발진자 입력
GPIO339범용 입출력ADC1_CH532.768 kHz 수정 발진자 출력
GPIO346입력 전용ADC1_CH6내부 풀업·풀다운 저항 없음
GPIO357입력 전용ADC1_CH7내부 풀업·풀다운 저항 없음
GPIO364 (SENSOR_VP)입력 전용ADC1_CH0내부 풀업·풀다운 저항 없음
GPIO37, GPIO38외부로 인출되지 않음입력 전용ADC1_CH1, ADC1_CH2모듈에서 사용 불가
GPIO395 (SENSOR_VN)입력 전용ADC1_CH3내부 풀업·풀다운 저항 없음

참고

이 핀 배치는 기존 ESP32에 적용됩니다. ESP32-S2, ESP32-C3와 ESP32-S3 등 다른 제품군은 GPIO 번호, 스트래핑 핀, 아날로그·디지털 변환 채널이 다르므로, 사용하는 칩의 데이터시트를 확인하십시오.

ESP32 핀 배치: 제약 없이 사용할 수 있는 GPIO

ESP32-WROOM-32E의 GPIO 15개에는 부팅, 플래시 연결, 입력 전용에 따른 제약이 없습니다: GPIO4, GPIO13, GPIO14, GPIO16~GPIO19, GPIO21~GPIO23, GPIO25~GPIO27, GPIO32, GPIO33.

다만 일부 핀에는 다음과 같은 조건이 있습니다:

  • GPIO4, GPIO13, GPIO14, GPIO25~GPIO27: ADC2 핀입니다. 와이파이가 활성화되어 있어도 디지털 기능은 동작하며, 공유되는 것은 아날로그 입력 기능뿐입니다.
  • GPIO13과 GPIO14: JTAG 신호인 MTCK와 MTMS에 사용됩니다. JTAG으로 디버깅한다면 다른 기능에 할당하지 마십시오.
  • GPIO16: 의사 정적 메모리가 2 MB 탑재된 -R2 모듈 변형에서는 이 핀이 해당 메모리에 연결되므로 다른 기능에 사용할 수 없습니다.
  • GPIO32와 GPIO33: 선택 사양인 32.768 kHz 수정 발진자에 연결됩니다. 수정 발진자를 장착하지 않을 때만 GPIO로 사용하십시오.

적합한 핀은 신호에 따라 달라집니다:

신호사용할 핀
발광 다이오드, 릴레이 드라이버, 칩 선택 신호 등의 디지털 출력GPIO4, GPIO13, GPIO14, GPIO16~GPIO19, GPIO21~GPIO23, GPIO25~GPIO27, GPIO32, GPIO33
내부 풀업 또는 풀다운이 필요한 디지털 입력범용 입출력 핀
외부 풀업·풀다운 저항을 사용하는 디지털 입력GPIO34, GPIO35, GPIO36, GPIO39
와이파이가 활성화된 상태에서 읽을 아날로그 입력ADC1: GPIO32~GPIO36, GPIO39
아날로그 출력디지털·아날로그 변환: GPIO25, GPIO26
고속 SPIVSPI 입출력 멀티플렉서 핀: GPIO5, GPIO18, GPIO19, GPIO23

ESP32에서 사용을 피하거나 주의해야 할 핀

GPIO6~GPIO11은 사용하지 말고, 스트래핑 핀, 입력 전용 핀, UART0 핀, ADC2 핀은 각각의 제약에 맞게 사용하십시오.

핀 분류핀제약 사항사용 지침
플래시GPIO6~GPIO11SPI 플래시에 연결됨외부 회로를 연결하지 않음
스트래핑GPIO0, GPIO2, GPIO5, GPIO12, GPIO15리셋 시 샘플링하여 부팅 설정 결정리셋 중 필요한 레벨 유지
입력 전용GPIO34, GPIO35, GPIO36, GPIO39출력 드라이버와 내부 풀업·풀다운 저항 없음외부 풀업·풀다운 저항을 연결하여 입력으로 사용
UART0GPIO1, GPIO3펌웨어 다운로드 및 부팅 로그에 사용프로그램 기록과 디버깅용으로 확보
ADC2GPIO0, GPIO2, GPIO4, GPIO12~GPIO15, GPIO25~GPIO27아날로그·디지털 변환기를 와이파이 드라이버와 공유와이파이 사용 중 읽을 아날로그 입력에는 ADC1 사용
의사 정적 메모리-R2 변형의 GPIO16패키지 내부의 의사 정적 메모리에 연결됨해당 변형에서는 외부 회로를 연결하지 않음
표면 실장 조립으로 제작하는 ESP32 기판

ESP32 핀 할당을 확정했다면 제이엘씨피씨비 부품 라이브러리에서 ESP32-WROOM-32E를 확인하고, 표면 실장 조립 서비스로 모듈과 다른 부품을 기판에 실장하십시오.

즉시 견적 확인

ESP32 스트래핑 핀

스트래핑 핀은 리셋 중 논리 레벨이 샘플링되어 부팅 모드, 플래시 공급 전압, 부팅 로그 등의 설정을 결정합니다. 리셋이 끝나면 일반 GPIO로 사용할 수 있습니다.

esp32 strapping pin levels latched at reset

그림: 리셋 시 저장되는 ESP32 스트래핑 핀 레벨과 이후 일반 GPIO로 전환되는 과정.

칩은 리셋 시 이 핀들의 레벨을 저장하고 전원이 꺼질 때까지 해당 설정을 유지합니다. 데이터시트에 따르면 EN이 하이로 전환된 뒤에도 최소 1 ms 동안 레벨을 유지해야 합니다. 아무것도 연결하지 않으면 내부의 약한 풀업·풀다운 저항이 기본 레벨을 결정합니다.

스트래핑 핀내부 기본 설정리셋 시 결정하는 설정정상 부팅에 필요한 레벨
GPIO0풀업(1)부팅 모드: 1이면 플래시에서 부팅; 0이고 GPIO2가 로우이면 다운로드 모드 진입하이
GPIO2풀다운(0)GPIO0과 함께 부팅 모드 결정레벨 무관, 다운로드 모드에서는 로우 또는 플로팅
GPIO12 (MTDI)풀다운(0)플래시 전압(VDD_SDIO): 0이면 3.3 V, 1이면 1.8 V 선택로우
GPIO15 (MTDO)풀업(1)UART0 부팅 로그와 SDIO 종속 장치 타이밍하이이면 로그 출력 유지; 로우이면 출력 중지
GPIO5풀업(1)GPIO15와 함께 SDIO 종속 장치 타이밍 결정ESP32를 SDIO 종속 장치로 사용하는 경우가 아니면 기본 레벨 유지

리셋 시 GPIO12가 하이이면 VDD_SDIO가 내부 1.8 V 저전압 강하 레귤레이터로 전환되어 모듈이 일반적으로 부팅에 실패합니다. 모듈 데이터시트에서는 전원 인가 시 IO12를 로우로 유지하도록 명시합니다.

회로상 리셋 시 GPIO12를 반드시 하이로 유지해야 한다면, 전자 퓨즈 설정으로 플래시 전압을 3.3 V로 고정할 수 있습니다. 그러면 GPIO12를 다른 용도로 사용할 수 있지만, 이 설정은 되돌릴 수 없습니다.

a pull up that selects 1.8 v flash voltage at reset

그림: 리셋 시 플래시 전압을 1.8 V로 선택하게 하는 풀업 저항.

스트래핑 핀을 안전하게 사용하는 방법:

  • 기본 레벨에 맞는 신호 연결: 리셋 중 내부 기본 레벨을 바꾸지 않는 부하를 연결하십시오. 예를 들어 유휴 상태가 하이인 칩 선택 신호는 GPIO5에 연결할 수 있습니다.
  • 레벨 변경 시 외부 저항 사용: 내부 풀업·풀다운 저항은 일반적으로 45 kΩ이므로, 외부 저항을 사용하면 레벨을 더 확실하게 제어할 수 있습니다.
  • GPIO12의 풀업 방지: 자체 풀업 저항이 있는 센서 모듈이나 레벨 시프터를 이 핀에 연결하면 리셋 시 하이로 유지될 수 있습니다.

ESP32 입력 전용 핀

GPIO34, GPIO35, GPIO36, GPIO39는 신호를 읽을 수 있지만 출력을 구동할 수는 없습니다. 이 핀들에는 출력 드라이버와 내부 풀업·풀다운 회로가 없습니다.

esp32 input only pins

그림: GPIO34에 연결한 누름 버튼과 3.3 V에 연결한 외부 10 kΩ 풀업 저항.

이 핀들은 아날로그 입력과 외부 바이어스를 사용하는 디지털 입력에 적합합니다:

  • 버튼과 스위치: 입력이 플로팅되지 않도록 보통 10 kΩ의 외부 풀업 또는 풀다운 저항을 추가하십시오.
  • 아날로그 센서: 네 핀 모두 ADC1 채널이므로 와이파이가 활성화된 상태에서도 동작합니다.
  • GPIO36과 GPIO39의 인터럽트: ESP-IDF에서는 절전 모드가 활성화된 상태로 아날로그·디지털 변환기, 와이파이 또는 블루투스를 사용할 때 이 인터럽트를 사용하지 않도록 안내합니다.

ESP32 아날로그·디지털 변환 핀: 와이파이와 함께 사용할 수 있는 아날로그 입력

와이파이가 활성화된 상태에서 읽을 아날로그 입력에는 ADC1을 사용하십시오.

와이파이 드라이버도 ADC2를 사용하므로, 드라이버가 ADC2를 사용 중일 때는 ADC2 읽기에 실패할 수 있습니다. ESP32에는 총 18개 채널을 갖춘 12비트 축차 비교형 아날로그·디지털 변환기가 두 개 있습니다. WROOM-32E에서는 이 중 16개 채널을 사용할 수 있습니다.

esp32 adc1 and adc2 pin map

그림: ESP32의 ADC1과 ADC2 핀 맵

항목ADC1ADC2
모듈 핀GPIO32~GPIO36, GPIO39GPIO0, GPIO2, GPIO4, GPIO12~GPIO15, GPIO25~GPIO27
모듈에서 사용할 수 있는 채널 수610
와이파이 활성화 중 동작가능안정적인 동작 보장 불가
스트래핑 기능과 핀 공유아니요예: GPIO0, GPIO2, GPIO12, GPIO15

ESP32 디지털·아날로그 변환, 터치, 실시간 클록 핀

디지털·아날로그 변환, 터치, 실시간 클록 기능은 특정 핀에 고정되어 있습니다. UART나 I2C와 달리 다른 GPIO로 옮길 수 없습니다.

ESP32 디지털·아날로그 변환 핀

ESP32에는 8비트 디지털·아날로그 변환 채널이 두 개 있습니다: GPIO25의 DAC_1과 GPIO26의 DAC_2입니다. 오디오 톤, 바이어스 전압, 느리게 변하는 아날로그 제어 신호에 적합합니다.

ESP32 터치 핀

GPIO 10개가 정전용량식 터치 감지를 지원합니다:

터치 채널GPIO터치 채널GPIO
TOUCH0GPIO4TOUCH5GPIO12
TOUCH1GPIO0TOUCH6GPIO14
TOUCH2GPIO2TOUCH7GPIO27
TOUCH3GPIO15TOUCH8GPIO33
TOUCH4GPIO13TOUCH9GPIO32

터치 핀 네 개는 스트래핑 핀이기도 합니다: 터치 패드에는 GPIO4, GPIO13, GPIO14, GPIO27, GPIO32, GPIO33을 우선 사용하십시오. 다만 GPIO32와 GPIO33은 32.768 kHz 수정 발진자를 장착하지 않을 때만 사용하십시오.

ESP32 실시간 클록 핀

ESP32에는 실시간 클록 기능을 지원하는 GPIO가 16개 있습니다: GPIO0, GPIO2, GPIO4, GPIO12~15, GPIO25~27, GPIO32~36, GPIO39. 이 핀들은 실시간 클록 하위 시스템에 연결되어 외부 신호를 받아 ESP32의 딥 슬립을 해제할 수 있습니다. 따라서 배터리 구동 센서, 절전 해제 버튼, 감시 회로 같은 저전력 응용에 유용합니다.

ESP32 UART 및 SPI 핀

ESP32는 내부 GPIO 매트릭스를 통해 대부분의 디지털 주변장치에 핀을 유연하게 할당할 수 있습니다. 이 신호 라우팅 시스템은 UART, SPI, I2C, I2S, 펄스 폭 변조 신호를 여러 GPIO에 연결할 수 있습니다. 다만 출력 신호에는 출력 가능한 핀이 필요하므로 GPIO34~GPIO39는 주변장치 출력에 사용할 수 없습니다.

ESP32 UART 핀

ESP32에는 UART가 세 개 있습니다. UART0은 프로그램 기록과 부팅 로그에 GPIO1(TX)과 GPIO3(RX)을 사용합니다. GPIO 매트릭스를 우회하는 UART2의 고정 입출력 멀티플렉서 핀은 GPIO16(RX)과 GPIO17(TX)입니다. UART1의 입출력 멀티플렉서 핀인 GPIO9(RX)와 GPIO10(TX)은 플래시 핀이므로, UART1은 GPIO 매트릭스를 통해 다른 GPIO로 연결하십시오.

ESP32 SPI 핀

SPI 신호는 어떤 GPIO에도 매핑할 수 있지만, 각 SPI 컨트롤러를 고정 핀에 직접 연결하는 입출력 멀티플렉서 핀에서는 더 높은 클록 속도를 지원합니다. ESP-IDF에 따르면 입출력 멀티플렉서 핀에서는 최대 80 MHz를 지원합니다. GPIO 매트릭스를 거치면 전이중 전송 속도는 약 26 MHz로 제한됩니다.

SPI 신호SPI2 (HSPI)SPI3 (VSPI)
CS0GPIO15GPIO5
SCLKGPIO14GPIO18
MISOGPIO12GPIO19
MOSIGPIO13GPIO23

인쇄회로기판의 ESP32 핀 할당 방법

고정 기능을 먼저 할당하고, 유연하게 배치할 수 있는 기능은 나중에 할당하십시오. 이렇게 하면 일반 디지털 신호를 배정하기 전에 부팅에 중요한 핀과 아날로그 핀을 확보할 수 있습니다.

pinout of esp32 wroom 32e with pin functions

그림: 핀별 기능을 표시한 ESP32-WROOM-32E 핀 배치

  1. 전원 및 프로그램 기록: 3V3, GND, EN, GPIO0, GPIO1(TX), GPIO3(RX).
  2. 아날로그 입력: 와이파이 활성화 중 읽을 신호에는 ADC1 핀 사용.
  3. 고정 기능 핀: 디지털·아날로그 변환, 터치, 필요한 경우 32.768 kHz 수정 발진자.
  4. 고속 SPI: VSPI 입출력 멀티플렉서 핀.
  5. 기타 디지털 신호: 남은 범용 입출력 핀.
  6. 스트래핑 핀은 마지막에 할당: 리셋 상태가 기본 레벨과 일치하는 신호에만 사용.

결론

ESP32 핀 배치의 대부분은 범용 입출력이지만, 플래시 핀, 스트래핑 핀, 입력 전용 핀, ADC2 핀에는 각각 제약이 있습니다. GPIO6~GPIO11에는 외부 회로를 연결하지 말고, 리셋 중 스트래핑 핀에 필요한 레벨을 유지하십시오. GPIO34, GPIO35, GPIO36, GPIO39는 입력으로 사용하고, 와이파이가 활성화된 상태에서 읽을 아날로그 입력은 ADC1에 할당하십시오.

이 방식으로 핀을 할당하면 기판이 안정적으로 부팅되고, 핀 충돌로 기판을 다시 제작하는 일을 피할 수 있습니다.

설계를 마쳤다면 제이엘씨피씨비에 파일을 업로드하여 조립 옵션을 검토하고 즉시 견적을 확인하십시오.

ESP32 핀 배치 관련 자주 묻는 질문

ESP32의 GPIO는 몇 개인가요?

ESP32 칩에는 GPIO가 34개 있습니다. ESP32-WROOM-32E 모듈은 이 중 26개를 외부로 인출합니다. GPIO6~GPIO11은 플래시에 연결되어 있고 GPIO37과 GPIO38은 외부로 인출되지 않기 때문입니다.

ESP32 GPIO는 5 V 입력을 허용하나요?

아니요. 데이터시트상 하이 레벨 입력 전압의 한계는 VDD + 0.3 V이며, 전원이 3.3 V이면 3.6 V입니다. 5 V 신호에는 레벨 시프터를 사용하십시오.

ESP32 GPIO가 공급하거나 흡수할 수 있는 전류는 얼마인가요?

ESP32 GPIO는 수십 밀리암페어를 공급하거나 흡수할 수 있습니다. 다만 데이터시트에서 가장 높은 구동 강도일 때 제시하는 핀당 약 40 mA의 최댓값은 연속 동작 권장 전류가 아닙니다.

안정적으로 설계하려면 GPIO 전류를 최댓값보다 충분히 낮게 유지하고 데이터시트의 전압·전류 조건을 확인하십시오. 발광 다이오드, 릴레이, 모터 등 전류가 많이 필요한 부하는 GPIO로 직접 구동하지 말고 트랜지스터, 모스펫 또는 전용 드라이버를 사용하십시오.

ESP32의 TX와 RX 핀을 GPIO로 사용할 수 있나요?

네, 부팅 후에는 가능합니다. 다만 GPIO1과 GPIO3은 펌웨어 다운로드와 부팅 로그에 사용하는 UART0이므로, 다른 신호를 연결하면 프로그램 기록을 방해할 수 있습니다.

ESP32-S3와 ESP32의 핀 배치는 같나요?

아니요. ESP32-S3에는 GPIO가 45개 있으며, 스트래핑 핀도 다릅니다: GPIO0, GPIO3, GPIO45, GPIO46. 기존 ESP32의 핀 할당을 재사용하기 전에 해당 제품의 데이터시트를 확인하십시오.

지속적인 성장