IOTHUB SOFTWARE · 02
ESP32 보드 설정 실무
ESP32 설정은 URL 하나를 붙여넣는 작업처럼 보이지만, 실제 제작에서는 보드명, 포트, 업로드 속도, BOOT 버튼, 드라이버가 모두 맞아야 합니다.
Arduino IDE는 기본 상태에서 Arduino 보드를 중심으로 동작합니다. ESP32 보드를 인식시키려면 추가 설정이 필요하며, 이 설정은 한 번만 진행하면 됩니다.
보드 매니저에 ESP32 추가
- Arduino IDE 실행.
- Mac:
Arduino IDE→Settings. Windows:File→Preferences. Additional boards manager URLs입력칸에 아래 주소를 그대로 붙여넣는다:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonOK누르기.- 좌측 메뉴에서 보드 매니저 아이콘(네모 두 개) 클릭.
- 검색창에
esp32입력. esp32 by Espressif Systems→Install클릭. 용량이 커서 몇 분 걸린다.
보드 선택
ESP32를 USB로 PC에 연결한 뒤:
Tools→Board→ESP32 Arduino→ESP32 Dev Module.Tools→Port→ ESP32가 연결된 포트 선택 (Windows는COM3, Mac은/dev/cu.usbserial-XXXX).Tools→Flash Size→4MB (32Mb).
드라이버 문제 (ESP32가 인식 안 될 때)
Windows: USB 연결 후 장치 관리자에서 ! 표시가 있으면 CP210x 드라이버가 없을 가능성이 큽니다.
- CP210x USB to UART Bridge 드라이버 다운로드 → 설치
Mac: 보통 드라이버가 이미 있다. 안 잡히면 위 CP210x 드라이버 설치.
공통: USB 케이블이 데이터 전송이 되는 케이블인지 확인합니다. 충전 전용 케이블은 ESP32가 인식되지 않습니다. 다른 데이터 케이블로 바꿔 보는 것이 가장 빠른 확인 방법입니다.
시리얼 모니터 사용법
코드 업로드 후 ESP32가 뭘 하고 있는지 확인할 때 쓴다.
Tools→Serial Monitor(또는 돋보기 아이콘).- 우측 하단 숫자를 115200으로 맞춥니다. 이 값을 맞추지 않으면 글자가 깨져 보입니다.
- ESP32 보드의
EN버튼을 한 번 누르면 시리얼 모니터에 새 메시지가 찍힌다.
TFT_eSPI 설정 (21~22편 필요)
21편부터 2.4인치 TFT를 사용하려면 TFT_eSPI 라이브러리의 User_Setup.h 파일을 수정해야 합니다.
- Arduino IDE에서
Tools→Manage Libraries→TFT_eSPI검색 → 설치. - 라이브러리 폴더 찾기: Arduino IDE의
File→Preferences→Sketchbook location경로 확인. - 그 경로로 이동해
libraries/TFT_eSPI/User_Setup.h파일을 텍스트 편집기로 엽니다. - 파일 내용을 전부 지우고 아래 내용으로 교체:
#define ILI9341_DRIVER #define TFT_CS 15 #define TFT_DC 2 #define TFT_RST -1 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_BL 4 #define SPI_FREQUENCY 40000000
- 저장 후 Arduino IDE 재시작.
설치 확인
Tools→Board→ESP32 Dev Module이 보이는지 확인합니다.Tools→Port에서 ESP32 포트가 보이는지 확인합니다.- 간단한 Blink 예제를 업로드합니다.
File→Examples→01.Basics→Blink→ 업로드(→) 순서로 진행하고, ESP32 보드의 LED가 깜빡이면 정상입니다.
센서 붙이기 전 보드만 검증한다
ESP32 설정이 끝났는지 확인하려면 센서 코드를 바로 올리지 말고 보드 단독으로 테스트합니다. 빈 스케치가 올라가고, 시리얼 모니터가 열리고, 재부팅 로그가 보이면 보드 설정은 거의 통과입니다. 이 과정을 건너뛰면 이후 DHT, OLED, MQTT 오류가 IDE 설정 문제인지 회로 문제인지 구분하기 어렵습니다.
프로젝트마다 저장할 설정값
ESP32는 보드 종류가 많기 때문에 작업 노트에 설정값을 남겨야 합니다. 특히 Flash Size, Partition Scheme, Upload Speed는 OTA나 파일 저장을 쓰는 순간 중요해집니다. 같은 코드를 다른 보드에 올릴 때 이 값이 달라지면 갑자기 업로드가 실패하거나 저장공간이 부족해질 수 있습니다.
- Board: 실제 선택한 보드명.
- Port: 정상 인식된 포트명.
- Upload Speed: 안정적으로 성공한 속도.
- Partition Scheme: OTA 사용 여부와 연결.
- Flash Size: 보드 실물 사양과 일치 여부.
보드 이름은 정확히 선택해야 합니다
ESP32 계열은 종류가 많습니다. Dev Module, WROOM, S3, C3, CAM 보드가 서로 다르고, 플래시 크기와 PSRAM 여부도 다릅니다. 비슷해 보이는 보드를 잘못 고르면 컴파일은 되지만 업로드나 실행에서 이상한 문제가 생길 수 있습니다.
처음에는 보드 판매 페이지나 실크 인쇄를 확인하고, 확실하지 않으면 가장 일반적인 ESP32 Dev Module부터 테스트합니다. S3나 C3는 코어와 주변장치가 다르기 때문에 반드시 해당 보드 계열을 선택해야 합니다.
업로드가 안 될 때 보는 순서
- 포트가 실제 보드 연결 후 생긴 포트인지 확인합니다.
- Board가 보드 계열과 맞는지 확인합니다.
- Upload Speed를 낮춰봅니다. 불안정하면 921600보다 115200이 안전합니다.
- 업로드 시작 시 BOOT 버튼을 누른 상태로 진입해봅니다.
- 전원 부족 가능성이 있으면 센서와 릴레이를 떼고 보드만 연결합니다.
프로젝트별 권장 설정 기록
장치를 여러 개 만들면 IDE 설정을 매번 기억하기 어렵습니다. 프로젝트 폴더나 글 하단에 Board, Port, Flash Size, Partition Scheme, Upload Speed를 적어두면 나중에 같은 장치를 다시 만들 때 시간이 줄어듭니다.
ESP32 설정의 목표는 “컴파일 성공”이 아니라 “같은 환경을 나중에 다시 재현할 수 있는 상태”입니다.