소프트웨어 준비
Arduino IDE에 ESP32/ESP8266 보드 추가하기
ESP32나 ESP8266 보드는 Arduino IDE를 설치했다고 바로 컴파일되지 않습니다. 보드 매니저 URL을 추가하고, 보드 패키지를 설치한 뒤, 필요한 라이브러리와 포트를 확인해야 합니다. 이 글은 처음 설치하는 사람도 그대로 따라 할 수 있게 다운로드부터 컴파일 확인까지 순서대로 안내합니다.
메뉴에서 사용할 용어
이 과정은 보통 보드 매니저 설정 또는 ESP 보드 패키지 설치라고 부릅니다. 사이트 메뉴나 글 제목에는 사용자가 바로 이해할 수 있도록 Arduino IDE에 ESP32/ESP8266 보드 추가하기가 가장 적당합니다.
1. Arduino IDE 다운로드
공식 Arduino Software 페이지에서 Arduino IDE 2.x를 내려받아 설치합니다. Windows, macOS, Linux를 모두 지원하며, 기존 1.8.x IDE도 사용할 수 있지만 새로 시작한다면 IDE 2.x가 편합니다.
2. 보드 매니저 URL 추가
Arduino IDE를 열고 File > Preferences 또는 macOS의 Arduino IDE > Settings로 들어갑니다. Additional boards manager URLs 항목에 아래 주소를 넣습니다. 두 주소를 모두 쓸 때는 한 줄에 하나씩 넣거나 쉼표로 구분합니다.
https://arduino.esp8266.com/stable/package_esp8266com_index.json
ESP32만 쓸 예정이면 ESP32 주소만, ESP8266만 쓸 예정이면 ESP8266 주소만 넣어도 됩니다. 두 계열을 모두 다룰 예정이면 둘 다 넣어두는 편이 편합니다.
3. 보드 패키지 설치
Tools > Board > Boards Manager를 열고 esp32를 검색합니다. 패키지 이름이 esp32 by Espressif Systems로 보이면 설치합니다.
같은 Boards Manager에서 esp8266을 검색합니다. esp8266 by ESP8266 Community 패키지를 설치합니다.
4. 라이브러리 설치
보드 패키지는 컴파일러와 보드 정의를 설치하는 단계이고, 센서나 통신 기능은 별도 라이브러리가 필요한 경우가 많습니다. 예를 들어 DHT22 온습도 센서를 쓴다면 Sketch > Include Library > Manage Libraries에서 아래 라이브러리를 설치합니다.
- DHT sensor library
- Adafruit Unified Sensor
- MQTT를 쓸 때: PubSubClient
- JSON을 다룰 때: ArduinoJson
5. 보드와 포트 선택
USB로 보드를 연결한 뒤 Tools > Board에서 실제 보드에 가까운 항목을 고릅니다. NodeMCU ESP8266은 NodeMCU 1.0, Wemos D1 mini는 LOLIN(WEMOS) D1 R2 & mini, 일반 ESP32 DevKit은 ESP32 Dev Module부터 시작하면 됩니다. 그 다음 Tools > Port에서 연결된 COM 포트 또는 USB 시리얼 포트를 선택합니다.
6. 컴파일 확인
File > Examples > 01.Basics > Blink를 열고 왼쪽 위의 체크 버튼으로 컴파일합니다. 컴파일이 끝나면 Done compiling이 표시됩니다. 업로드까지 확인하려면 화살표 버튼을 눌러 보드에 올립니다.
| 컴파일 성공 | 보드 패키지와 기본 설정은 정상입니다. |
| 포트가 안 보임 | USB 케이블이 데이터 케이블인지, CH340/CP210x 드라이버가 필요한 보드인지 확인합니다. |
| 업로드 실패 | ESP32 일부 보드는 업로드 시작 시 BOOT 버튼을 누르고 있어야 합니다. |
| 라이브러리 없음 | 오류 메시지의 헤더 파일 이름을 보고 Library Manager에서 설치합니다. |
자주 막히는 부분
- 보드 목록에 ESP가 안 보일 때: URL 오타, 인터넷 연결, Arduino IDE 재시작을 확인합니다.
- 여러 URL을 넣었는데 저장이 안 될 때: Additional URLs 오른쪽 버튼을 눌러 줄 단위로 넣습니다.
- ESP8266 업로드가 불안정할 때: 전원 부족, 긴 USB 케이블, 불량 케이블이 흔한 원인입니다.
- ESP-01 업로드: GPIO0을 GND에 연결한 상태로 리셋해야 업로드 모드로 들어갑니다.
다음 단계
여기까지 끝나면 ESP32/ESP8266 예제 코드를 컴파일할 준비가 된 것입니다. 다음에는 DHT22 같은 센서를 연결하거나, Wi-Fi 예제로 공유기에 접속한 뒤 웹서버/MQTT로 값을 보내는 제작 글로 이어가면 됩니다.
설치 후 기준 환경을 기록해야 하는 이유
Arduino IDE 설치 글은 단순히 프로그램을 까는 절차로 끝나면 가치가 약합니다. 실제 제작에서는 “어떤 보드 패키지 버전에서, 어떤 보드 이름으로, 어떤 포트와 업로드 속도로 성공했는지”가 중요합니다. 이 기록이 없으면 몇 주 뒤 같은 코드를 다시 올릴 때 드라이버 문제인지, 보드 선택 문제인지, 코드 문제인지 구분하기 어렵습니다.
ESP8266과 ESP32는 USB-Serial 칩이 CH340, CP210x, FTDI 등으로 섞여 있습니다. 같은 D1 Mini처럼 보여도 PC에서는 전혀 다른 드라이버가 필요할 수 있습니다. 따라서 첫 업로드가 성공하면 보드 사진, 포트 이름, 드라이버 이름, 보드 매니저 버전을 함께 남겨 두는 편이 좋습니다.
센서 프로젝트를 시작하기 전에는 Blink, Wi-Fi Scan, I2C Scanner 같은 짧은 확인 코드를 따로 보관합니다. 본 코드가 실패할 때 이 기준 코드가 정상 동작하면 하드웨어와 개발환경은 살아 있고, 문제 범위를 센서 배선이나 애플리케이션 코드로 좁힐 수 있습니다.