적절한 Wi-Fi 지원 마이크로컨트롤러를 선택하는 것은 IoT 제품 개발에서 매우 중요한 결정입니다. Espressif Systems에서 제조한 ESP8266와 ESP32는 무선 연결성과 임베디드 처리에 있어 서로 다른 접근 방식을 나타냅니다. 이 글에서는 엔지니어와 조달팀이 애플리케이션 요구사항에 가장 적합한 모듈을 평가할 수 있도록 아키텍처, 주변기기, 통신 기능 및 실용적인 설계 고려사항을 기술적으로 비교하여 평가할 수 있도록 돕습니다.
ESP8266 및 ESP32 아키텍처 개요
ESP8266와 ESP32 모두 마이크로컨트롤러, Wi-Fi 트랜시버, 주변 인터페이스를 하나의 다이에 통합한 시스템-온-칩(SoC) 솔루션입니다. 32비트 RISC 아키텍처를 공유하고 SPI, I2C, UART와 같은 공통 직렬 프로토콜을 지원함에도 불구하고, 이들의 계산 자원과 기능 세트는 상당히 다릅니다.
이 ESP8266은 80 MHz(일부 구현에서는 160 MHz까지 오버클럭 가능)로 동작하는 단일 코어 Tensilica Xtensa LX106 프로세서를 기반으로 구축되었습니다. 802.11 b/g/n 크기의 Wi-Fi 연결, 128KB RAM, 그리고 일반적으로 4MB의 외부 플래시 메모리를 제공합니다. 이 간소화된 설계는 무선 인터넷 접속이 주요 요구사항인 애플리케이션에서 비용 효율성과 통합의 용이성을 우선시합니다.
ESP32는 80 MHz에서 240 MHz까지 조절 가능한 클럭 속도를 가진 듀얼 코어 Tensilica Xtensa LX6 프로세서를 사용합니다. 520KB의 SRAM, 4MB의 플래시(확장 가능), 그리고 와이파이와 함께 블루투스 4.2(BR/EDR 및 BLE)를 추가합니다. 확장된 GPIO 수, 추가 ADC/DAC 채널, 하드웨어 암호화 가속 덕분에 더 까다로운 임베디드 애플리케이션에 적합합니다.

ESP8266: 설계 특성과 일반적인 사용 사례
핵심 사양
이 ESP8266은 일반적으로 ESP-12E 또는 ESP-12F 모듈 형태로 구현되며, 3.0V에서 3.6V 전원으로 통합된 LDO 레귤레이터를 통해 작동합니다. 이 칩은 다음과 같은 기능을 제공합니다:
- 80/160 MHz의 싱글 코어 32비트 프로세서
- 프로그램 실행 및 데이터용 128 KB RAM
- 4 MB 외부 SPI 플래시 (표준 구성)
- 802.11 b/g/n Wi-Fi 스테이션 및 소프트 AP 모드 모두 포함
- 다중화 기능을 가진 17개의 GPIO 핀
- 10비트 ADC 채널 1개
- SPI, I2C, UART, PWM 지원
모든 GPIO 핀은 3.3V 논리 레벨에서 작동하며 5V 허용성이 없습니다. 5V 신호에 직접 연결하면 기기가 손상될 수 있습니다; 5V 시스템과 인터페이스할 때 레벨 시프터나 전압 분배기가 필요합니다.
실용적인 설계 고려사항
ESP8266의 단일 코어 아키텍처는 Wi-Fi 스택 처리가 애플리케이션 코드와 CPU 시간을 공유한다는 것을 의미합니다. 활성 Wi-Fi 전송 또는 수신 중에 사용자 코드 실행이 중단될 수 있으며, 이는 시간에 민감한 애플리케이션에서 실시간 성능에 영향을 줄 수 있습니다. 간단한 텔레메트리, 센서 데이터 로깅, 또는 서브밀리초 타이밍이 필수적이지 않은 원격 제어 작업에서는 이 제한이 거의 문제가 되지 않습니다.
활성 Wi-Fi 전송 시 전력 소비는 170 mA 이상에 이를 수 있습니다. 모듈은 Wi-Fi 연결을 유지하면서 전류 소모를 약 15 mA로 줄이는 모뎀 절전 모드와, 20 μA 이하의 딥 슬립 모드를 지원합니다. 다만 딥슬립은 외부 웨이크 신호나 타이머가 필요합니다.
제한된 수의 ADC 채널(사용 가능한 채널 하나)과 GPIO 핀은 여러 아날로그 센서나 광범위한 주변 접속 처리가 필요한 설계에 제약을 줄 수 있습니다. 이런 경우 외부 다중화기나 I/O 확장기를 사용할 수 있지만, 이는 복잡성과 비용을 증가시킵니다.
일반적인 응용
- Wi-Fi 연결 센서 (온도, 습도, 움직임)
- 스마트 스위치 및 릴레이
- 환경 모니터링 스테이션
- 교육 및 프로토타이핑 프로젝트
- 적당한 처리 요구를 가진 저비용 IoT 엔드포인트
ESP32: 복잡한 시스템을 위한 향상된 역량
핵심 사양
ESP32는 주로 ESP32-WROOM-32 또는 ESP32-WROVER 모듈 변형에서 볼 수 있으며, 기능 세트를 크게 확장합니다:
- 80-240 MHz 듀얼 코어 32비트 프로세서
- 520 KB SRAM, 외부 PSRAM 옵션 최대 8MB (WROVER 변형)
- 4MB 이상의 플래시 메모리
- 802.11 b/g/n Wi-Fi 고급 기능(Wi-Fi Direct, 이후 개정판의 WPA3 지원)
- 블루투스 4.2 (클래식 및 BLE)
- 48개의 GPIO 핀 (일반적으로 모듈에서 분리된 25+ 핀)
- 18개의 × 12비트 ADC 채널과 2개의 × 8비트 DAC 채널
- 10개의 정전용량식 터치 센서 입력
- 하드웨어 암호화 가속 (AES, SHA, RSA)
- CAN 2.0, I2S, SPI, I2C, UART 인터페이스
ESP8266과 마찬가지로 ESP32도 3.3V 논리 레벨에서 동작합니다. 통합 LDO 레귤레이터는 3.0V에서 3.6V까지 입력 전압을 수용하며, 개발 보드에는 5V USB 전원을 수용하는 추가 레귤레이터가 포함된 경우가 많습니다.
듀얼 코어 처리 및 작업 관리
ESP32의 듀얼 코어 아키텍처는 한 코어는 Wi-Fi 및 블루투스 스택 작업에 전용으로, 다른 하나는 애플리케이션 코드를 실행할 수 있습니다. 이 분리는 실시간 반응성을 향상시키고 센서 데이터, 통신 및 제어 알고리즘의 병렬 처리를 가능하게 합니다. 블루투스와 와이파이가 동시에 작동하거나 여러 센서에서 데이터 스트림을 처리하는 설계에 이 아키텍처는 측정 가능한 성능 이점을 제공합니다.
Espressif가 제공하는 FreeRTOS 기반 펌웨어는 작업을 특정 코어에 고정할 수 있게 하여 개발자가 워크로드 분배와 타이밍 동작을 명확히 제어할 수 있게 합니다.
확장 주변 집합
ESP32의 18개 ADC 채널은 외부 다중화 없이도 여러 아날로그 센서를 직접 연결할 수 있게 합니다. 12비트 해상도는 ESP8266의 10비트 ADC보다 더 세밀한 정밀도를 제공하며, 이는 정밀 센싱 응용 분야에서 중요할 수 있습니다. 두 개의 DAC 채널은 오디오 합성, 아날로그 제어 신호, 그리고 외부 부품 없이 파형 생성을 지원합니다.
정전용량 터치 감지는 하드웨어에 구현되어 사용자 인터페이스 설계에서 개별 터치 컨트롤러 IC의 필요성을 제거합니다. CAN 버스 인터페이스는 자동차 및 산업용 프로토콜 지원을 가능하게 하여 적용 가능한 시스템의 범위를 넓힙니다.
블루투스와 무선 공존
블루투스 클래식과 BLE의 통합은 디자인 가능성을 확장합니다. BLE는 스마트폰, 웨어러블, 비콘을 통한 저전력 통신을 가능하게 합니다. 블루투스 클래식은 오디오 스트리밍과 기존 기기 호환성을 지원합니다. Wi-Fi와 결합하면 ESP32는 BLE 센서에서 데이터를 수집해 Wi-Fi를 통해 클라우드 서비스로 전달하는 게이트웨이 역할을 하거나, 로컬 (블루투스)와 원격 제어(Wi-Fi) 제어를 모두 제공하는 듀얼 인터페이스 장치로 기능할 수 있습니다.
블루투스와 Wi-Fi는 동일한 2.4GHz RF 프론트엔드를 공유하며, 에스프레시프의 공존 메커니즘은 라디오 접속을 타임멀티플렉스합니다. 두 프로토콜이 동시에 활성화될 수 있지만, 각 링크의 최대 처리량은 독립적으로 작동할 때보다 낮습니다. 대부분의 IoT 애플리케이션에서는 이러한 절충이 허용됩니다.
일반적인 응용
- 여러 센서에서 데이터를 집계하는 IoT 게이트웨이
- 오디오 스트리밍 및 음성 인식 장치
- BLE 및 Wi-Fi가 필요한 웨어러블 기기
- 홈 자동화 허브
- CAN 버스를 이용한 산업 모니터링 및 제어 시스템
- 복잡한 전력 상태 관리가 가능한 배터리 구동 장치
핀 구성 및 GPIO 비교
ESP8266 GPIO 레이아웃
ESP8266은 17개의 GPIO 핀을 노출하지만, 여러 핀은 부팅 시간 또는 운영 제약이 있습니다:
- GPIO0: 정상 작동을 위해 부팅 시 높음 상태여야 합니다; 로우를 끌어올리면 플래시 프로그래밍 모드에 진입합니다
- GPIO2: 부팅 시 높음에 있어야 합니다; 종종 온보드 LED에 연결되는 경우가 많습니다
- GPIO15: 부팅 시 낮음 상태여야 함
- GPIO16: 실시간 시계에 연결; 딥 슬립 기상 모드에 사용되지만 변경 시 중단은 사용할 수 없습니다
- ADC0: 단일 아날로그 입력, 일반적으로 A0로 표기되며, 0-1.0 V 전압을 측정합니다
이러한 핀 제약 조건은 PCB 레이아웃과 펌웨어 초기화에서 신중한 계획이 필요합니다. GPIO0, GPIO2, 또는 GPIO15를 범용 입출력 장치로 사용하는 것도 가능하지만, 이들의 부팅 시간 상태를 고려해야 합니다.
ESP8266은 하나의 하드웨어 SPI 인터페이스와 하나의 I2C 인터페이스(비트뱅 또는 하드웨어)를 지원하며, 두 인터페이스 모두 다중화를 통해 사용 가능한 GPIO 간에 공유됩니다.
ESP32 GPIO 레이아웃

ESP32의 48개 GPIO는 전용 기능과 다중화 기능으로 나뉩니다. 주요 특징은 다음과 같습니다:
- ADC1과 ADC2에 분산된 18개의 ADC 채널 (참고: Wi-Fi가 활성화되어 있을 때는 ADC2를 사용할 수 없음)
- 2개의 DAC 채널 (GPIO25, GPIO26)
- 10개의 정전용량식 터치 핀
- 부팅 모드를 결정하는 스트래핑 핀(GPIO0, GPIO2, GPIO5, GPIO12, GPIO15); 파워업 중에도 비슷한 주의가 필요합니다
- 깊은 절면 시 사용할 RTC GPIO 하위 집합
ESP32의 주변 인터페이스는 IO_MUX 및 GPIO 매트릭스 덕분에 더 유연하며, 대부분의 디지털 주변기기(UART, SPI, I2C)를 다양한 핀에 매핑할 수 있습니다. 이러한 유연성은 PCB 라우팅을 단순화하고 레이아웃 제약을 수용합니다.
ESP32는 세 개의 UART 인터페이스, 세 개의 SPI 인터페이스, 두 개의 I2C 버스를 동시에 지원하여 외부 다중화나 프로토콜 브리징 없이도 복잡한 다중 주변기기 설계를 가능하게 합니다.
전력 소비 및 배터리 작동
전력 효율성은 배터리 구동 및 에너지 수확 응용 분야에서 매우 중요한 요소입니다.
ESP8266 파워 모드
- 능동 (Wi-Fi TX): ~170 mA
- 능동 (Wi-Fi RX): ~60 mA
- 모뎀 절전 시간: ~15 mA (Wi-Fi 연결 유지, 무선 듀티 사이클)
- 가벼운 수면: ~0.9 mA
- 딥 슬립: ~20 μA (RTC와 소량의 RAM 보유; GPIO16 또는 외부 리셋을 통한 깨우기)
딥슬립은 주기적 감지 응용에서 가장 실용적인 저전력 모드입니다. ESP8266은 깊은 절면에서 정교한 이벤트 시 깨어나는 기능을 지원하지 않습니다; 장치는 타이머가 만료되거나 하드웨어 리셋을 통해 깨어나도록 설정해야 합니다.
ESP32 파워 모드
- 능동 (Wi-Fi TX): ~160-240 mA
- 액티브 (Wi-Fi RX): ~80-100 mA
- 모뎀 슬립: ~20-30 mA
- 라이트 슬립: ~0.8 mA
- 딥슬립: ~10 μA (RTC, ULP 코프로세서, RTC 메모리 활성화)
- 최대 절전 모드: ~5 μA (RTC 타이머만 활성화됨)
ESP32의 초저전력 (ULP) 코프로세서는 메인 코어가 깊은 절전 상태에 있을 때 센서 모니터링과 간단한 데이터 처리를 가능하게 합니다. 이 기능은 센서 임계값(예: 모션 감지, 아날로그 레벨 건널목)에 기반한 저지연 깨어나기가 필요한 응용 분야에서 주 프로세서를 활성 상태로 유지하는 데 드는 에너지 소모 없이 유용합니다.
실제로 ESP32의 고급 절전 모드와 ULP 코프로세서는 ESP8266보다 더 유연한 전력 관리를 제공하며, 특히 외부 이벤트에 따라 자주 또는 조건부로 깨어나야 하는 설계에서 그렇습니다.
개발 생태계와 펌웨어 옵션
두 모듈 모두 여러 개발 환경에서 잘 지원됩니다:
아두이노 IDE
ESP8266와 ESP32용 Arduino 코어는 취미 사용자와 빠른 프로토타이핑을 위한 익숙하고 접근 가능한 API를 제공합니다. 라이브러리 지원은 공통 센서, 액추에이터, 통신 프로토콜을 포함할 만큼 광범위합니다. 성능 및 메모리 최적화는 네이티브 SDK 개발에 비해 덜 정밀하게 조정되지만, 사용의 편리성과 빠른 반복 능력은 큰 장점입니다.
ESP-IDF (에스프레시프 IoT 개발 프레임워크)
ESP-IDF는 FreeRTOS를 기반으로 한 Espressif의 공식 개발 프레임워크입니다. 하드웨어 기능에 대한 완전한 접근, 전력 관리에 대한 세밀한 제어, 최적화된 네트워킹 스택을 제공합니다. ESP-IDF는 성능, 메모리 효율성, 장기적 유지보수성이 우선순위인 프로덕션 펌웨어에 권장되는 환경입니다. 학습 곡선은 더 가파르지만, 프레임워크는 잘 문서화되어 있고 적극적으로 유지되고 있습니다.
마이크로파이썬 및 기타 언어
마이크로파이썬은 스크립팅, 테스트, 교육용 사용에 적합한 인터랙티브 인터프리터 파이썬 환경을 제공합니다. ESP8266와 ESP32 모두에서 잘 지원되지만, ESP8266의 메모리 제약으로 인해 MicroPython 애플리케이션의 복잡성이 제한될 수 있습니다.
Lua(NodeMCU), Rust, 심지어 JavaScript(Espruino, Moddable SDK)와 같은 다른 프레임워크도 제공되며, 이는 이 모듈들의 광범위한 커뮤니티 관심과 다양한 사용 사례를 반영합니다.
비교 요약: ESP8266와 ESP32 중 선택
| 특징 | ESP8266 | ESP32 |
|---|---|---|
| 프로세서 | 싱글 코어, 80 MHz | 듀얼 코어, 80-240 MHz |
| RAM | 128 KB | 520 KB |
| 플래시 | 4 MB (일반) | 4MB 이상 |
| 와이파이 | 802.11 b/g/n | 802.11 b/g/n, 와이파이 다이렉트 |
| 블루투스 | 아니요 | 블루투스 4.2 (클래식 + BLE) |
| GPIO 카운트 | 17 | 48 (모듈에서 25+ 접근 가능) |
| 원딜 | 1 × 10비트 | 18 × 12비트 |
| DAC | 없음 | 2 × 8비트 |
| 터치 감지 | 아니요 | 10개의 정전용량 입력 |
| CAN 버스 | 아니요 | 네 |
| 파워 (깊은 수면) | ~20 μA | ~10 μA (5 μA 휴면 기간) |
| ULP 코프로세서 | 아니요 | 네 |
| 일반적인 모듈 비용 | 아래쪽 | 보통 |
언제 선택할ESP8266
- 단위당 비용이 주요 관심사인 예산 제약 프로젝트
- 센서 보고 또는 원격 전환을 위한 간단한 Wi-Fi 연결
- I/O 요구사항이 제한된 응용 프로그램
- 교육 프로젝트 및 IoT 입문 개발
- 블루투스가 필요하지 않은 설계
ESP32를 선택할 시기
- Wi-Fi와 블루투스 연결을 모두 요구하는 애플리케이션
- 다수의 아날로그 또는 디지털 입력을 가진 다중 센서 시스템
- 듀얼코어 처리의 이점을 누리는 실시간 또는 컴퓨팅 집약적 작업
- 정교한 전력 관리와 조건부 깨어남이 필요한 배터리 구동 설계
- 하드웨어 가속 암호학 또는 CAN 버스 지원이 필요한 시스템
- 시간이 지남에 따라 복잡성 또는 기능 세트가 확장될 것으로 예상되는 프로젝트
실제 설계 예시: 환경 모니터링 스테이션
온도, 습도, 기압, 빛 세기, 토양 수분을 측정하고 15분마다 데이터를 클라우드 서비스에 보고하는 배터리 구동 환경 모니터링 스테이션을 고려해 보세요.
ESP8266 구현:
단일 ADC 채널은 직접 아날로그 센서 연결을 제한합니다; 토양 수분 및 광 센서에는 I2C로 연결된 다중 채널 ADC IC(예: ADS1115)가 필요합니다. 장치는 타이머로 딥슬립에서 깨어나 와이파이를 초기화하고, 네트워크에 연결하며, MQTT 또는 HTTP를 통해 데이터를 전송한 후 다시 딥슬립으로 돌아갑니다. 15분 주기 동안 평균 전류 소모량은 50-100 μA로, 소형 리튬 배터리로도 수개월간 작동할 수 있습니다.
ESP32 구현:
다중 ADC 채널은 외부 부품 없이 아날로그 센서를 직접 연결할 수 있게 합니다. ULP 코프로세서는 센서 임계값을 모니터링하고 주요 코어를 중대한 변화가 발생할 때만 깨우거나 15분 일정을 유지할 수 있습니다. 블루투스는 Wi-Fi 자격 증명을 하드코딩하지 않고도 스마트폰 앱을 통해 로컬 구성을 가능하게 할 수 있습니다. 최적화된 절면 상태 관리로 평균 전류 소모를 30-60 μA로 줄일 수 있어 배터리 수명을 더욱 연장할 수 있습니다. 듀얼 코어 아키텍처는 또한 동시 센서 폴링과 네트워크 통신을 가능하게 하여 총 웨이크 시간을 단축합니다.
이 경우 ESP32의 추가 비용은 외부 부품 수 감소, 배터리 수명 연장, 사용자 경험 향상으로 상쇄됩니다.
결론
ESP8266와 ESP32는 IoT 설계 스펙트럼의 서로 다른 세그먼트를 다룹니다. ESP8266은 처리 요구가 적고 블루투스가 불필요한 단순한 Wi-Fi 연결 기기에 실용적이고 비용 효율적인 선택지로 남아 있습니다. 성숙한 생태계, 광범위한 지역사회 지원, 낮은 진입 장벽 덕분에 교육용과 간단한 상업용 제품에 적합합니다.
ESP32의 듀얼 코어 프로세서, 확장된 메모리, 블루투스 통합, 그리고 더 풍부한 주변기기 세트는 더 높은 연산 용량, 다중 통신 인터페이스, 정교한 전력 관리가 필요한 애플리케이션에서 더 높은 비용을 정당화합니다. 기능이 진화하거나 확장될 것으로 예상되는 설계의 경우, ESP32의 유연성은 하드웨어 노후화 위험을 줄여줍니다.
엔지니어와 조달팀은 전력 예산, 입출력 요구사항, 통신 프로토콜, 단위 비용, 장기적 확장성을 평가하여 이 모듈들 중 하나를 선택해야 합니다. 두 기기 모두 성능이 뛰어나고 잘 지원됩니다; 최적의 선택은 응용의 구체적인 기술적·경제적 제약에 따라 달라집니다.