L3 양산 변환에서 가장 많이 선택되는 타겟이 ESP32-WROOM-32 입니다. 이 가이드는 모듈을 보드에 직접 실장할 때 ibouPCB 가 무엇을 자동으로 넣고, 무엇을 경고하며, 인증에 대해 사용자가 무엇을 알아야 하는지 정리합니다.
왜 베어칩이 아니라 모듈인가
ESP32 칩 단품을 쓰려면 40 MHz 크리스탈, 플래시, RF 매칭 네트워크, 안테나, 전원 시퀀싱을 직접 설계하고 무선 인증을 직접 받아야 합니다. ESP32-WROOM-32 모듈은 이 전부를 금속 실드 안에 캡슐화한 부품입니다. 사용자가 그릴 것은 모듈 + 3.3 V 전원 + 커넥터 + 센서 인터페이스뿐이고, 2층 기판과 오토라우팅으로 충분합니다. 베어칩 완전통합은 ibouPCB 의 범위 밖입니다.
인증 — 모듈이 들고 있는 것과 아닌 것
ESP32-WROOM-32 는 KC(한국), 技適(일본), FCC(미국), CE(유럽) 의 모듈 인증을 보유하고 있습니다. 카탈로그의 certification { kc, giteki, fcc, ce } 필드가 이것이고, L3 타겟 선택 시 인증 보유 모듈이 우선 제시됩니다.
- 무선(RF) 인증은 모듈에 붙습니다. 모듈을 개조하지 않고, 안테나를 바꾸지 않고, 데이터시트의 레퍼런스대로 실장하면 최종 제품에서 RF 시험을 새로 하지 않아도 되는 경우가 대부분입니다.
- 완제품 인증은 별개입니다. 판매 제품이라면 KC 적합성평가 · 技適 표시 · CE 선언 등 완제품 단계의 절차가 여전히 필요합니다. 모듈 인증은 그 절차를 크게 간소화할 뿐 대체하지 않습니다.
- 인증을 무효화하는 것: 외장 안테나로 교체(모듈 변형에 따라 별도 인증 필요), 실드 제거, 데이터시트 밖의 송신 출력 설정.
자동으로 들어가는 지원 회로
| 부품 | 값 | 왜 |
|---|---|---|
| 3.3 V 레귤레이터 | AMS1117-3.3 또는 동급, 입력 10 µF / 출력 10 µF + 100 nF | ESP32 는 Wi-Fi 송신 시 순간 500 mA 를 당깁니다. 3.3 V 레일은 최소 500 mA 여유가 필요합니다 |
| EN 풀업 + 캡 | 10 kΩ + 0.1 µF | 전원이 안정된 뒤 리셋이 풀리도록 RC 지연. 없으면 콜드 부팅이 불안정합니다 |
| 3V3 디커플링 | 10 µF + 0.1 µF (모듈 핀 옆) | 송신 펄스 전류 흡수 |
| IO0 풀업 (경고) | 10 kΩ 또는 내부 풀업 + 버튼 | 부팅 시 IO0 가 LOW 면 다운로드 모드로 들어갑니다 |
| UART 프로그래밍 헤더 | TX · RX · EN · IO0 · 3V3 · GND | L3 보드에는 USB-Serial 이 없습니다. 첫 펌웨어를 넣을 길이 필요합니다 |
IO0 풀업은 흥미로운 사례입니다. 골든 패턴 코퍼스에 Olimex ESP32 보드 4종을 임포트했을 때 EN 10 k 풀업과 3V3 벌크 캡은 손으로 쓴 패턴과 일치했지만, IO0 외부 풀업은 4보드 모두 없었습니다(버튼 + 내부 풀업으로 충분). 그래서 IO0 풀업 누락은 error 가 아닌 warning 입니다. 검증기는 이렇게 실제 보드를 근거로 조정됩니다.
스트랩 핀 — 코드에서 쓰던 핀이 재배정되는 이유
ESP32 는 리셋 직후 몇 개의 GPIO 레벨을 읽어 부팅 방식을 정합니다. 그 핀에 센서나 LED 가 달려 있으면 부팅이 바뀌거나 실패합니다. P4 ERC 의 "부트 스트랩 핀 오용" 규칙이 이것을 잡아 경고하고 다른 핀을 제안합니다.
- IO0 — 부팅 시 LOW 면 다운로드 모드. 부팅 시 LOW 를 만들 수 있는 부하(예: 액티브 LOW 릴레이 입력)를 달지 마세요.
- IO2 — 다운로드 모드 진입 시 LOW 또는 플로팅이어야 합니다. 온보드 LED 정도는 괜찮습니다.
- IO12 (MTDI) — 부팅 시 HIGH 면 내부 플래시 전압이 1.8 V 로 설정되어 3.3 V 플래시 모듈이 부팅하지 않습니다. 외부 풀업 금지.
- IO15 (MTDO) — 부팅 로그 출력 여부. LOW 면 부팅 메시지가 사라집니다.
- IO6–IO11 — 내부 플래시에 연결되어 있습니다. 절대 사용하지 않습니다. 카탈로그에서 배정 대상에서 제외되어 있습니다.
- IO34–IO39 — 입력 전용. 내부 풀업 · 풀다운이 없고 출력이 안 됩니다. 버튼을 달면 외부 풀업이 자동 삽입됩니다.
레이아웃 — 안테나
모듈 끝의 PCB 안테나 아래와 주변에 구리가 있으면 방사 성능이 크게 떨어지고, 인증 조건에서도 벗어납니다. ibouPCB 의 배치기는 Espressif 가이드대로 모듈의 안테나 끝을 보드 가장자리에 맞추고, 안테나 키프아웃을 모든 구리층의 룰 에어리어로 미러해서 하단 GND 폴에서도 제외합니다. 실측 예제(온도 + 릴레이, 32부품 · 21넷)는 이 규칙으로 83 × 46 mm, DRC 0건으로 완주했습니다.
3.3 V 로직
ESP32 의 GPIO 는 3.3 V 입니다. 아두이노 Uno 에서 쓰던 5 V 모듈(HC-SR04 ECHO, 5 V 릴레이 모듈, 일부 OLED)은 그대로 연결할 수 없고, 변환기가 분압기 · 레벨 시프터 · 드라이버 트랜지스터를 넣습니다. 목록에 "왜?" 가 함께 나옵니다.
시뮬레이션
ESP32 는 브라우저 엔진이 없어 서버의 Espressif QEMU(별도 프로세스)가 돌립니다. 타겟 빌드는 DIO 플래시 모드로 컴파일되고, 4 MB merged.bin 이 그대로 플래시로 부팅됩니다. GPIO 에지와 UART 출력이 캡처되어 P8 회귀에 쓰입니다. Wi-Fi 와 Bluetooth 는 시뮬레이션되지 않습니다 — 로직 게이트는 GPIO · UART · I²C 수준의 검증입니다.