지난번의 글, 최소기능 ESP32에 이어서 씁니다. (http://greentam.tistory.com/204)
최소 기능 ESP32보드
이번 글에서는 ESP32를 구동하기 위한 최소구성 회로도를 보여드리겠습니다. 이 회로는 ESP32에 USB 전원을 인가하고, 호스트 PC(아두이노 IDE)와 시리얼통신/펌웨어 다운로드를 하게 하는 단 두 가지
greentam.tistory.com
이제 보드에 기능을 추가하기 위해서, 버튼, LED, 센서, 그리고 핀헤더를 추가해 줍니다.
먼저 버튼입니다.

버튼 회로는 기본적으로 pull-up회로이며, 추가로 캐패시터가 1개 달려있습니다. 즉, 버튼을 누르기 전에는 3.3V가 유지되다가, 버튼을 누르면 0V가 됩니다.
그래서 버튼을 눌렀을 때, 버튼의 기능을 하려면 아두이노 편집창에서 아래와 같이 작성하면 됩니다.
pinMode(BUTTON_PIN, INPUT); (GPIP34 ~ 39핀의 경우)
여기서 주의할 것은 ESP32 칩의 경우, GPIO34 ~ 39는 내부 pull회로가 없기 때문에, 위의 예에서 처럼 외부 pull회로를 달아주어야 위의 코드가 동작합니다.
그 외의 핀(GPIO0 ~ 33)의 경우에는 내부 pull회로가 있으므로 아래처럼 해주면 됩니다.
pinMode(BUTTON_PIN, INPUT_PULLUP); 혹은
pinMode(BUTTON_PIN, INPUT_PULLDOWN);
이때 핀의 값을 읽으려면,
if (digitalRead(BUTTON_PIN) == LOW) {
// 버튼 눌림에 따른 처리 루틴
}
와 같이 해주면 됩니다.
그 다음은 LED입니다.

왼쪽은 보드의 전원유무를 표시하는 LED로 USB 커넥터를 연결하면 항상 켜집니다.
오른쪽은 사용자 LED로 사용자가 원하는 대로 켜고 끌 수 있습니다. 이때, LED를 켜기 위해서는 핀(위의 예에서 GPIO18)을 0V로 놓으면 됩니다.
pinMode(LED_PIN, OUTPUT); // LED_PIN은 18번핀
digitalWrite(LED_PIN, LOW); // GPIO18은 0V로 놓음
그 다음은 센서입니다.

왼쪽의 센서는 온습도센서(SHTC3)이며, 오른쪽 센서는 조도센서(GL5528)입니다.
SHTC3는 I2C로 통신을 하며, 조도센서는 전압으로 출력합니다.
나머지는 핀헤더입니다.

여러개의 GPIO핀을 빼내었고, I2C용 2개의 핀(SDA, SCL)도 노출시켰습니다.
또한 외부 기기 전원공급을 위해서 3.3V, 5V, GND도 노출했습니다.
이제 완성된 보드로 할 수 있는 기능을 살펴보겠습니다.
1. 버튼 입력 (디지털 입력)
2. LED 출력 (PWM 출력, 아날로그 출력)
3. 센서값 측정, 디스플레이 출력 등 (I2C 입출력)
4. 아날로그 입력 (조도 센서 등)
5. 디지털 출력 (On/Off 또는 펄스 길이)
6. BLE 통신
7. WiFi연결 및 HTTP 통신
8. SPI 입출력
9. 호스트 PC와 시리얼 통신(UART) 및 펌웨어 다운로드
'DIY Electronics' 카테고리의 다른 글
| 고효율 Buck-Boost 컨버터 TPS63802 완전 정리 (0) | 2026.04.11 |
|---|---|
| ESP32로 시작하는 초보자 프로젝트 12가지 (1) | 2026.04.09 |
| ESPConnect – 설치 없이 사용하는 ESP32 올인원 웹 툴 (2) | 2026.04.08 |
| 개발 보드 비교 (0) | 2026.04.06 |
| ESP32 vs STM32 vs nRF52 vs RP2040 비교 (1) | 2026.04.05 |
