초보자가 자주 하는 ESP32 프로젝트 실수 5가지 및 방지 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
초보자 및 중급자(하드웨어 개발, 임베디드 시스템 분야)
핵심 요약
- GPIO 핀 사용 규칙 무시:
GPIO12
와 같은 핀은 HIGH로 설정 시 부팅 모드에 락킹됨. 안전한 핀(예: 2, 4, 5 등) 사용 권장 - 전원 공급 불충분: Wi-Fi/Bluetooth 사용 시 5V/2A 어댑터 또는 470μF 이상의 커패시터 사용
- 복잡한 코드 구조:
FreeRTOS
대신delay()
,millis()
등 기본 함수부터 시작 - 디버깅 기술 부족:
Serial.print()
를 통해 코드 조각별 테스트 수행 - 보안 취약점: Wi-Fi 인증 정보는
.gitignore
에 포함된 secrets.h 파일로 관리
섹션별 세부 요약
1. 핀 사용 규칙 무시
- ESP32의 GPIO는 입력 전용, 부팅 시 사용, 부팅 락킹 핀 등 다양한 제한이 있음
GPIO12
가 HIGH로 설정 시 부팅 모드 고정됨- 안전한 핀 목록: 2, 4, 5, 18, 19, 21, 22, 23 등 사용 권장
2. 전원 공급 문제
- USB 포트는 500mA 미만으로 ESP32의 최대 요구 전력(최대 500mA) 충족 못함
- Wi-Fi/Bluetooth 사용 시 전압 하강 발생 가능
- 해결책: 5V/2A 어댑터 또는 470μF 커패시터 사용
3. 코드 복잡성 과도
- FreeRTOS, 멀티태스킹 사용 시 기초 개념(Serial Monitor, delay()) 미스터리
- 초보자 전략:
delay()
로 시작 →millis()
활용 → 비동기 처리로 이동
4. 디버깅 기술 부족
- 코드 업로드 후 즉시 실행 시도 → 오류 발생 시 추측
- 효율적인 디버깅:
Serial.print()
사용, 코드 조각별 테스트, PlatformIO/Visual Studio Code 도구 활용
5. 보안 취약점
- 코드에 SSID, API 키 직접 입력 → GitHub 등 공개 시 보안 위험
- 대안:
.gitignore
에 포함된secrets.h
파일 사용 또는 EEPROM 기반 설정 - 추가 보안: Wi-Fi 설정을 위한 캡티브 포털 생성 권장
결론
- GPIO 핀 사용 규칙 확인, 전원 안정화, 기본 함수부터 학습, Serial.print() 활용, secrets.h 파일 사용 등 실무 적용 시 주의사항을 체크리스트로 활용하세요.