1. 개요
ESP8266로 유명한 에스프레시프 시스템즈(Espressif Systems/乐鑫信息科技)사에서 2016년에 출시한 마이크로컨트롤러 제품군이다. Wi-Fi와 블루투스 무선 통신 기능을 탑재한 저전력 마이크로컨트롤러로, 1개의 칩에서 와이파이+블루투스를 둘다 쓸수있다는 점이[1] 가장 특징적으로 이를 위해 ESP8266과는 다른 강력한 퍼포먼스까지 탑재되어있기 때문에 ESP8266과는 다르게 상대적으로 고성능 애플리케이션(머신비전[2], 머신러닝 등등)까지 소화 가능한 고성능 애플리케이션을 처리하기 위한 용도로 많이 쓰인다. 상당히 강력한 RISC 구조의 CPU와 메모리와 I/O 를 포함한 마이크로 컨트롤러 기능을 내장하고 있어서 단지 Wifi/BT 인터페이스용 뿐만 아니라 프로그래밍 가능한 내장제어용 마이크로컨트롤러 보드처럼 널리 쓰이고 DIY 용으로도 인기가 높지만 단가가 저렴한 만큼 ESP8266처럼 그냥 WiFi+BLE 어댑터로만 쓰는 경우도 많다.TSMC 40nm 공정을 사용하여 생산된다.
2020년 발표된 C 시리즈와 그 이후 시리즈들은 RISC-V CPU 구조를 쓰고 있지만, 2016년 발표된 오리지널 S 시리즈 제품군은 원가절약을 위해 Tensilica Xtensa LX6 라는 특수한 CPU 명령어 구조를 사용하여, 기계어 수준에서는 서로 호환되지 않는다. 제조사는 신규 응용개발에 RISC-V 기반 시리즈 사용을 권하고 있다.
ESP32 칩과 정면으로 경쟁제품이랄 수 있는 제품으로는 STMicroelectronics STM32WB 시리즈와 NXP반도체의 K32W 시리즈와 노르딕 세미컨덕터 블루투스 컨트롤러 시리즈들이 있다. 이들은 모두 ARM 의 M 시리즈 CPU 구조를 쓰고 있다.
2025년 3월, ESP32 시리즈에 백도어가 들어가 있었다는 소식이 퍼져 관련 업계가 시끌시끌했으나 Espressif가 바로 해명을 올려 일단락되었다. 발견된 것은 문서화되지 않은 디버그 명령이었는데 Espressif는 이것이 테스트 목적으로 포함되어 제품 내부에서만 사용되며 원격으로 접근할 수 없다고 밝혔다. #
2. 사양
본 문단에 기술된 사양은 제일 기본적인 ESP32 기준이다.2016년 9월 ESP32가 발표된 이래로 다양한 바리에이션이 출시되었고 각 칩셋마다 스펙에 변경점이 존재한다. 자세한 비교는 공식 홈페이지의 전체 SoC 제품군 목록이나 sekcompsci/Comparison Espressif ESP MCUs.md를 참고할 것.
- 프로세서 및 메모리
- Xtensa® single-/dual-core 32-bit LX6 microprocessor(s)
- 448 KB ROM
- 520 KB SRAM
- 16 KB SRAM in RTC
- QSPI supports multiple flash/SRAM chips
- 무선 통신
- Wi-Fi : 802.11b/g/n (2.4 GHz)
- 블루투스 : v4.2 BR/EDR 및 Bluetooth LE
- 주변 인터페이스
- 34 × programmable GPIOs
- 5 strapping GPIOs
- 6 input-only GPIOs
- 6 GPIOs needed for in-package flash/PSRAM (ESP32-D0WDR2-V3, ESP32-U4WDH)
- 12-bit SAR ADC up to 18 channels
- 2 × 8-bit DAC
- 10 × touch sensors
- 4 × SPI
- 2 × I2S
- 2 × I2C
- 3 × UART
- 1 host (SD/eMMC/SDIO)
- 1 slave (SDIO/SPI)
- Ethernet MAC interface with dedicated DMA and IEEE 1588 support
- TWAI®, compatible with ISO 11898-1 (CAN Specification 2.0)
- RMT (TX/RX)
- Motor PWM
- LED PWM up to 16 channels
3. 제품군
SoC | 스펙 | 기능 |
ESP8266 | Tensilica L106 32-bit (up to 160MHz) | |
ESP32 | Tensilica Xtensa 32-bit LX6 (up to 240MHz) (optionally dual core) | |
ESP32-S2 | Tensilica Xtensa 32-bit LX7 (up to 240MHz) | |
ESP32-C3 | RISC-V 32-bit (up to 160MHz) | |
ESP32-S3 | Tensilica Xtensa 32-bit LX7 dual core (up to 240MHz) | |
ESP32-C6 | RISC-V 32-bit (up to 160MHz) | |
ESP32-C2 | ||
ESP32-H2 | ||
ESP32-C5 | ||
ESP32-P4 |
3.1. ESP32
32-bit MCU & 2.4 GHz Wi-Fi & Bluetooth/Bluetooth LE
2016년 9월 처음으로 공개된 마이크로프로세서이다.ESP32 데이터시트
3.2. ESP32-S2
32-bit MCU & 2.4 GHz Wi-Fi
2019년 9월에 공개되었다.ESP32-S2 데이터시트
3.3. ESP32-C3
32-bit RISC-V MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE)
2020년 11월에 공개되었다. ESP32-C3과 ESP8685 두 가지 버전으로 출시되었다.ESP32-C3 데이터시트
ESP8685 데이터시트
3.4. ESP32-S3
32-bit MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE)
2020년 12월에 공개되었다.ESP32-S3 데이터시트
3.5. ESP32-C6
32-bit RISC-V MCU & 2.4 GHz Wi-Fi 6 & Bluetooth 5 (LE) & IEEE 802.15.4
2021년 4월에 공개되었다.ESP32-C6 데이터시트
3.6. ESP32-C2
32-bit RISC-V MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE)
2022년 1월에 공개되었으며, ESP8684라는 이름으로 출시되었다.ESP8684 데이터시트
3.7. ESP32-H2
32-bit RISC-V MCU & Bluetooth 5 (LE) & IEEE 802.15.4
ESP32-H2 데이터시트WiFi 지원이 제거된 대신에 Zigbee/쓰레드 지원이 추가된 PAN 통신류에 최적화된 칩.
3.8. ESP32-C5
2022년 6월에 공개되었으며, ESP32-C6의 후속 제품으로 Wi-Fi 6 (802.11ax)을 지원이 강화되었다.Introducing ESP32-C5: Espressif’s first Dual-Band Wi-Fi 6 MCU
3.9. ESP32-P4
2023년 1월에 공개되었으며, 많은 IO 연결과 보안 기능이 강화된 MCU이다.Espressif Reveals ESP32-P4: A High-Performance MCU with Numerous IO-Connectivity and Security Features
Embedded World 2024 발표가 예정되어 있다.
2024년 4월 9일-11일, 장소는 Hall 3A, Booth 419 | Nuremberg, Germany이다.
github에 공개된 esp-idf 개발도구를 통해 몇가지 하드웨어적으로 알려진 사실이 있다.
그 부분은 출시전까지 다양한 작성자들을 통해 작성하기로 하며, 출시 이후에는 모든 내용이 사라질 것이다.
첫째, ESP32-S3는 최대 16비트의 databus를 지원하기 때문에, RGB16 interface LCD와 16비트 병렬 카메라 모듈까지 지원가능했으나, ESP32-P4는 24비트 RGB interface도 지원할 것으로 확인된다.
4. 관련 문서
[1] 정말 특이한 점으로 비슷한 주파수 대역을 쓴다고 해도 둘의 디바이스 스택이 다른 만큼 이를 위한 공간이 너무 커져 선호되지 않는다. 그런데 ESP32는 SRAM을 미친듯이 확보해 이 스택을 다 구동이 가능한 용량을 확보하고 QSPI 메모리에 이를 위한 코드를 다 올릴수 있도록 충분한 용량을 확보가능하게 설계해 매우 여유로운 모습을 보여준다. 단 아래에 나온 다이어그램처럼 2.4Ghz RF 프론트엔드를 양쪽이 공유하기 때문에 스마트폰처럼 이 둘을 동시에 사용하는건 불가능하다.[2] 실제로 이를 위한 공식 드라이버 지원과 테스트용 보드(ESP32-CAM)까지 있다.