IOTHUB SOFTWARE · 02

ESP32 보드 설정 실무

ESP32 설정은 URL 하나를 붙여넣는 작업처럼 보이지만, 실제 제작에서는 보드명, 포트, 업로드 속도, BOOT 버튼, 드라이버가 모두 맞아야 합니다.

ESP32 보드 설정 hero image
핵심 용어ESP32보드 매니저CP210x시리얼 모니터TFT_eSPI

Arduino IDE는 기본 상태에서 Arduino 보드를 중심으로 동작합니다. ESP32 보드를 인식시키려면 추가 설정이 필요하며, 이 설정은 한 번만 진행하면 됩니다.


보드 매니저에 ESP32 추가

code
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

보드 선택

ESP32를 USB로 PC에 연결한 뒤:


드라이버 문제 (ESP32가 인식 안 될 때)

Windows: USB 연결 후 장치 관리자에서 ! 표시가 있으면 CP210x 드라이버가 없을 가능성이 큽니다.

Mac: 보통 드라이버가 이미 있다. 안 잡히면 위 CP210x 드라이버 설치.

공통: USB 케이블이 데이터 전송이 되는 케이블인지 확인합니다. 충전 전용 케이블은 ESP32가 인식되지 않습니다. 다른 데이터 케이블로 바꿔 보는 것이 가장 빠른 확인 방법입니다.


시리얼 모니터 사용법

코드 업로드 후 ESP32가 뭘 하고 있는지 확인할 때 쓴다.


TFT_eSPI 설정 (21~22편 필요)

21편부터 2.4인치 TFT를 사용하려면 TFT_eSPI 라이브러리의 User_Setup.h 파일을 수정해야 합니다.

cpp
#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

설치 확인


센서 붙이기 전 보드만 검증한다

ESP32 설정이 끝났는지 확인하려면 센서 코드를 바로 올리지 말고 보드 단독으로 테스트합니다. 빈 스케치가 올라가고, 시리얼 모니터가 열리고, 재부팅 로그가 보이면 보드 설정은 거의 통과입니다. 이 과정을 건너뛰면 이후 DHT, OLED, MQTT 오류가 IDE 설정 문제인지 회로 문제인지 구분하기 어렵습니다.

프로젝트마다 저장할 설정값

ESP32는 보드 종류가 많기 때문에 작업 노트에 설정값을 남겨야 합니다. 특히 Flash Size, Partition Scheme, Upload Speed는 OTA나 파일 저장을 쓰는 순간 중요해집니다. 같은 코드를 다른 보드에 올릴 때 이 값이 달라지면 갑자기 업로드가 실패하거나 저장공간이 부족해질 수 있습니다.

보드 이름은 정확히 선택해야 합니다

ESP32 계열은 종류가 많습니다. Dev Module, WROOM, S3, C3, CAM 보드가 서로 다르고, 플래시 크기와 PSRAM 여부도 다릅니다. 비슷해 보이는 보드를 잘못 고르면 컴파일은 되지만 업로드나 실행에서 이상한 문제가 생길 수 있습니다.

처음에는 보드 판매 페이지나 실크 인쇄를 확인하고, 확실하지 않으면 가장 일반적인 ESP32 Dev Module부터 테스트합니다. S3나 C3는 코어와 주변장치가 다르기 때문에 반드시 해당 보드 계열을 선택해야 합니다.

업로드가 안 될 때 보는 순서

  1. 포트가 실제 보드 연결 후 생긴 포트인지 확인합니다.
  2. Board가 보드 계열과 맞는지 확인합니다.
  3. Upload Speed를 낮춰봅니다. 불안정하면 921600보다 115200이 안전합니다.
  4. 업로드 시작 시 BOOT 버튼을 누른 상태로 진입해봅니다.
  5. 전원 부족 가능성이 있으면 센서와 릴레이를 떼고 보드만 연결합니다.

프로젝트별 권장 설정 기록

장치를 여러 개 만들면 IDE 설정을 매번 기억하기 어렵습니다. 프로젝트 폴더나 글 하단에 Board, Port, Flash Size, Partition Scheme, Upload Speed를 적어두면 나중에 같은 장치를 다시 만들 때 시간이 줄어듭니다.

ESP32 설정의 목표는 “컴파일 성공”이 아니라 “같은 환경을 나중에 다시 재현할 수 있는 상태”입니다.