이 레슨에서는 ESP32 GPIO의 기본 사항을 배웁니다. GPIO를 지칭하는 다양한 명칭과 GPIO가 제공하는 일부 함수를 파악하는 방법을 배웁니다.
헤더를 통해 노출되는 ESP32 핀은 무엇입니까? 당연히 이미지를 클릭하면 큰 그림으로 보실 수 있습니다. ^^

ESP32 모듈의 38개 핀 중 대부분은 ESP32 개발 키트에서 두 줄로 핀이 나뉘어 있지만, 모두 그런 것은 아닙니다.
위 그림에서 ESP32 WROOM-32 모듈이 개발 키트 상단에 위치한 것을 확인할 수 있습니다. 모듈의 세 면에는 핀이 노출되어 있습니다. 네 번째 면에는 안테나가 있습니다.
대부분의 모듈 핀은 개발 키트의 두 헤더, 즉 왼쪽(J2)과 오른쪽(J3) 헤더로 분리되어 있습니다. 같은 그림에서 분리된 핀의 이름을 확인할 수 있습니다. 예를 들어, "IO43"과 "IO17"과 같은 GPIO("범용 입출력" 핀)가 있습니다. "SENSOR_VP"와 "RXD0"과 같은 다른 이름도 사용됩니다.
ESP32 핀을 어떻게 지칭하나요?
ESP32의 거의 모든 핀은 다목적이므로 동일한 물리적 핀을 지칭하는 여러 이름을 사용할 수 있습니다. 이는 특정 핀으로 무엇을 할지에 따라 달라집니다. 이 시리즈와 비디오 강좌에서는 GPIO 표기법만 사용하려고 합니다. 따라서 I2C 인터페이스의 데이터 핀으로 사용할 경우, 물리적 핀 42번을 지칭하기 위해 예를 들어 "GPIO21"과 같이 사용할 것입니다.
ESP32 핀과 그 역할에 대한 모든 정보는 WROOM-32 데이터시트 에서 확인할 수 있습니다 . 아래 그림은 제가 가장 자주 사용하는 핀이 포함된 데이터시트의 일부를 발췌한 것입니다.

이 핀들이 각각 여러 기능을 가지고 있다는 게 보이시나요? 전원 핀을 제외하면 모두 다기능입니다.
GPIO34와 같은 예를 살펴보겠습니다. 이는 물리적 PIN 6에 해당합니다. 기본적으로 입력으로 사용되며, 아날로그-디지털 변환 채널 중 하나이고, RTC GPIO4에도 접근할 수 있습니다.
GPIO2와 같은 다른 예를 들어보겠습니다. 이 핀은 물리적 핀 24입니다.
이 핀은 입출력 핀으로 여러 가지 기능을 가지고 있습니다. GPIO2라는 것 외에도 아날로그-디지털 변환기(ADC) 핀 채널 2의 역할도 하고, 터치 센서를 노출하며, SPI 하드웨어의 일부이기도 합니다.
이 그림을 인쇄해서 가까이에 두면 핀 역할을 빠르게 확인할 수 있습니다. 고해상도 버전을 아래에 다시 올립니다. 클릭하면 크게 보실 수 있습니다.

ESP32 Dev Kit 핀 맵
아래에서 보실 수 있는 핀 맵도 개발했습니다. 이 자료를 다운로드 하고 인쇄하여 이 과정 동안 ESP32를 사용할 때 참고하시기 바랍니다 .

이 가이드와 비디오 강좌에서 데이터시트에서 정보를 찾는 것보다 훨씬 쉽고 빠르기 때문에 이 맵을 자주 참조합니다. 이 맵에는 제가 가장 자주 사용하는 핀 기능이 포함되어 있습니다.
간단한 예를 들어 보겠습니다. 맵에서 GPIO32를 찾아보세요. 맵에 따르면 이 핀은 ESP 모듈의 물리적인 12번 핀이며, 터치 센서 중 하나와 아날로그-디지털 변환기(ADC)에 접근할 수 있습니다.
또한, 저는 GPIO 번호를 사용하여 핀을 참조하는 것을 선호합니다. 맵에서 이 번호는 노란색 열에 표시되어 있습니다.
GPIO의 데이터시트 요약 표
제가 자주 사용하는 또 다른 문서는 다음과 같습니다.

이 포스팅의 참고자료와 이미지 출처는 이 링크를 따라가세요.
'ESP32' 카테고리의 다른 글
| ESP32 Devkit C V4 GPIO Table (0) | 2025.10.25 |
|---|---|
| ESP32 MicroPython 개발 참고 문서 (0) | 2025.10.19 |
| ESP32 DevkitC V4 USB C 타입 32E 모듈 적용 개발보드 (0) | 2025.10.19 |
| FreeRTOS를 사용한 ESP32: 세마포어 시작하기 (0) | 2025.10.14 |
| FPV 카메라가 장착된 ESP32 RC 잠수함 만들기(ESP-DIVE) (0) | 2025.10.14 |
| FreeRTOS 대기열을 사용한 ESP32: 작업 간 통신 (0) | 2025.10.13 |
| ESP32 듀얼 코어를 사용하는 방법 Arduino IDE (0) | 2025.10.13 |
| FreeRTOS를 사용한 ESP32 – 시작하기 Arduino IDE (0) | 2025.10.13 |