상위 질문
타임라인
채팅
관점
ESP32
위키백과, 무료 백과사전
Remove ads
ESP32는 와이파이 및 블루투스 기능을 모두 통합한 저비용, 에너지 효율적인 마이크로컨트롤러 제품군이다. 이 칩들은 듀얼 코어 및 싱글 코어 변형으로 제공되는 텐실리카 Xtensa LX6 마이크로프로세서, Xtensa LX7 듀얼 코어 프로세서 또는 단일 코어 RISC-V 마이크로프로세서를 포함한 다양한 처리 옵션을 특징으로 한다. 또한 ESP32는 내장 안테나 스위치, RF 발룬, 전력 증폭기, 저잡음 수신기, 필터 및 전력 관리 모듈과 같은 무선 데이터 통신에 필수적인 구성 요소를 통합한다.
일반적으로 ESP32는 특정 장치용 인쇄 회로 기판에 내장되거나 다양한 GPIO 핀 및 커넥터를 포함하는 개발 키트의 일부로 제공되며, 구성은 모델 및 제조업체에 따라 달라진다. ESP32는 에스프레시프 시스템즈에서 설계했으며 TSMC의 40 nm 공정을 사용하여 제조한다.[2] 이는 ESP8266 마이크로컨트롤러의 후속 제품이다.
Remove ads
특징


ESP32의 특징은 다음과 같다.[3]
- 프로세서:
- 메모리: 520 KiB RAM, 448 KiB ROM
- 무선 연결:
- 주변 장치 인터페이스:
- 보안:
- 전력 관리
- 내부 저전압 강하 레귤레이터
- RTC를 위한 개별 전력 도메인
- 5 μA 딥 슬립 전류
- GPIO 인터럽트, 타이머, ADC 측정, 정전식 터치 센서 인터럽트로부터 깨어나기
Remove ads
ESP32-xx 제품군
요약
관점
오리지널 ESP32가 출시된 이래로 여러 변형이 소개되고 발표되었다. 이들은 ESP32 마이크로컨트롤러 제품군을 구성한다.[8] 이 칩들은 다른 중앙 처리 장치와 기능을 가지고 있지만, 모두 동일한 SDK를 공유하고 있으며 대부분 코드 호환성이 있다. 또한 오리지널 ESP32는 수정되었다 (예: ESP32 ECO V3 참조).
ESP32
ESP32-S2
ESP32-S3

- 듀얼 코어 Xtensa LX7 CPU, 최대 240 MHz,[14] 및 단정밀도 부동소수점 장치 지원
- 머신러닝 애플리케이션 가속을 위한 추가 명령어
- 512 KiB SRAM, 384 KiB ROM, 및 16 KiB RTC SRAM
- 쿼드 SPI 또는 옥탈 SPI를 통해 외부 PSRAM 및 플래시에 연결 가능하며, 동일한 32 MiB 주소 공간 공유
- 약 17.5 MHz 클럭 속도로 작동하는 초저전력 RISC-V (RV32IMC) 코프로세서
- 이전 ESP32 및 ESP32-S2와 유사한 초저전력 유한 상태 기계 (FSM) 코프로세서
- 와이파이 2.4 GHz (IEEE 802.11 b/g/n)[15]
- 블루투스 5 (LE)
- 45 GPIO
- 통합 이더넷 MAC 없음
- 2 × 12비트 SAR ADC, 최대 20채널
- USB 온더고
ESP32-C2
ESP32-C3

ESP32-C6
- 고성능 32비트 RISC-V CPU, 최대 160 MHz,[20] RV32IMAC 구현
- 저전력 32비트 RISC-V CPU, 최대 20 MHz, RV32IMAC 구현
- 512 KiB SRAM 및 320 KiB ROM
- IEEE 802.11ax (Wi-Fi 6) 2.4 GHz에서, 11ax 모드에서 20 MHz 대역폭, 11b/g/n 모드에서 20 또는 40 MHz 대역폭 지원
- IEEE 802.15.4 (스레드 + 직비)
- 블루투스 5.3 (LE)
- 30 (QFN40) 또는 22 (QFN32) GPIO
- USB 장치
ESP32-H2
Remove ads
발표됨
ESP32-C5
- 싱글 코어 32비트 RISC-V CPU, 최대 240 MHz[22]
- 저전력 32비트 RISC-V CPU, 최대 40 MHz.
- 384 KB SRAM 및 320 KB ROM
- IEEE 802.11ax (Wi-Fi 6) 2.4 및 5 GHz에서, 11ax 모드에서 20 MHz 대역폭, 11b/g/n 모드에서 20 또는 40 MHz 대역폭 지원
- IEEE 802.15.4 (스레드 + 직비)[23]
- 블루투스 5 (LE)
- 20개 이상 GPIO
ESP32-P4
- 고성능 듀얼 코어 32비트 RISC-V CPU, 최대 400 MHz
- RV32IMAFC_Zicsr_Zifencei 및 사용자 지정 AI/벡터 명령어 구현
- 단정밀도 부동소수점 장치 (FPU) 지원
- 저성능 싱글 코어 32비트 RISC-V CPU, 최대 40 MHz
- RV32IMAC_Zicsr_Zifencei ISA 확장 구현
- 고성능 코어 시스템에 768 KiB SRAM
- 고성능 코어 시스템에 8 KiB TCM
- 저전력 서브시스템에 32 KiB SRAM
- PSRAM 지원
- H.264를 포함한 다양한 미디어 인코딩 프로토콜을 위한 통합 하드웨어 가속기
- 와이파이 또는 블루투스 없음
- 50개 이상 GPIO[24]
QFN 패키지 칩 및 모듈
요약
관점
ESP32는 49개의 패드를 가진 다양한 크기의 QFN 패키지에 담겨 있다. 구체적으로는 측면에 48개의 연결 패드와 하단에 하나의 큰 열 패드 (접지 연결)가 있다.
칩
ESP32 시스템 온 칩 집적회로는 6 mm × 6 mm 및 5 mm × 5 mm 크기의 QFN 패키지에 담겨 있다.
2020년, ESP32-D0WDQ6 및 ESP32-D0WD 칩은 V3 버전 (ESP32 ECO V3)이 출시되어 일부 버그를 수정하고[25] 이전 버전보다 개선되었다.
모듈
ESP32 PICO system in package 모듈은 ESP32 실리콘 칩, 크리스탈 발진기, 플래시 메모리 칩, 필터 커패시터 및 RF 매칭 링크를 단일 7 mm × 7 mm 크기의 QFN 패키지에 결합한다.
처음 출시된 PICO는 ESP32-PICO-D4로, 240MHz의 듀얼 CPU, 4MiB 내장 플래시, 40MHz 발진기 및 34개의 GPIO를 갖추고 있다.[26]
이후 2020년에 ESP32 ECO V3 웨이퍼를 기반으로 하는 ESP32-PICO-V3 및 ESP32-PICO-V3-02 모듈이 출시되었다.[27][28]
2022년에는 USB OTG 및 내부 PSRAM이 포함된 ESP32-S3-PICO-1 모듈이 출시되었다.[29]
Remove ads
인쇄 회로 기판
요약
관점
표면 실장 모듈 보드
ESP32 기반 표면 실장 인쇄 회로 기판 모듈은 ESP32 SoC를 직접 포함하며 다른 회로 기판에 쉽게 통합할 수 있도록 설계되었다. 아래 나열된 모듈의 PCB 트레이스 안테나에는 구불구불한 역F형 안테나 디자인이 사용된다. 플래시 메모리 외에도 일부 모듈에는 슈도정적 RAM (pSRAM)이 포함된다.
개발 및 기타 보드


개발 및 브레이크아웃 보드는 배선을 확장하고 기능을 추가할 수 있으며, 종종 ESP32 모듈 보드를 기반으로 하여 개발 목적으로, 특히 브레드보드와 함께 사용하기 쉽도록 만들어진다.
† ESP32 SoC가 개발 보드에 직접 통합됨; 모듈 보드는 사용되지 않음.
Remove ads
프로그래밍
ESP32 프로그래밍에 사용되는 프로그래밍 언어, 프레임워크, 플랫폼 및 환경:
- ESP-IDF[73][74] – ESP32, ESP32-S, ESP32-C 및 ESP32-H 시리즈 SoC를 위한 에스프레시프의 공식 IoT 개발 프레임워크.
- 아두이노-ESP32[75] – ESP32, ESP32-S2, ESP32-S3 및 ESP32-C3를 위한 아두이노 코어.
- ESP32forth[76] – ESP32를 위한 FORTH 구현
- 에스프루이노 – Node.js를 밀접하게 에뮬레이트하는 JavaScript SDK 및 펌웨어
- 마이크로파이썬 (및 CircuitPython) – 마이크로컨트롤러를 위한 파이썬 3의 간결한 구현
- Mongoose OS – 마이크로컨트롤러의 연결된 제품을 위한 운영체제; JavaScript 또는 C로 프로그래밍 가능. 에스프레시프 시스템즈[77], AWS IoT[78], Google Cloud IoT[79]에서 권장하는 플랫폼.
- ESP32를 위한 mruby
- ESP32를 위한 님
- NodeMCU – Lua 기반 펌웨어
- 러스트[80][81]
- 스위프트[82][83]
- 공식적으로 지원되는 Espressif 통합 개발 프레임워크 (ESP-IDF) 확장 프로그램을 포함한 비주얼 스튜디오 코드[84]
- Zerynth – ESP32를 포함한 사물인터넷 및 마이크로컨트롤러를 위한 파이썬
- Matlab 시뮬링크
Remove ads
수용 및 사용
ESP32의 상업적, 산업적, 학문적 사용:
상업용 장치에서의 사용
- 알리바바 그룹의 IoT LED 손목 밴드, 2017년 그룹 연례 모임 참가자들이 사용. 각 손목 밴드는 "픽셀"로 작동하며, 조율된 LED 조명 제어 명령을 수신하여 "라이브 무선" 화면을 형성할 수 있도록 한다.[85]
- 딩톡의 M1, 생체 인식 출퇴근 기록 시스템.[86]
- Pium, 가정용 향수 및 아로마테라피 장치.[87]
- 하드커널의 오드로이드 고, 오드로이드 10주년을 기념하여 제작된 ESP32 기반 휴대용 게임 장치 키트.[88]
- 플레이데이트, 패닉 Inc.와 틴에이지 엔지니어링이 공동 개발한 휴대용 비디오 게임 콘솔.
- Octopus Energy Mini, ESP32-C6 기반 실시간 에너지 모니터.[89]
- Mysa 스마트 온도 조절기, ESP32-WROOM 기반.[90]
산업 장치에서의 사용
학문적 사용
Remove ads
ESP32의 문서화되지 않은 HCI 명령어
2025년 3월, Tarlogic Security의 연구원들은 ESP32 블루투스 펌웨어에서 문서화되지 않은 HCI(Host Controller Interface) 명령어를 발견했으며, 이는 그 기능과 잠재적 영향에 대한 논의를 촉발했다.[96] 이 발견은 2025년 3월 6일 RootedCON 컨퍼런스에서 Tarlogic Security 팀에 의해 발표되었다.[97]
식별된 명령어(예: Write Memory (0xFC02))는 주로 디버깅 및 테스트 목적으로 사용되는 공급업체별 HCI 명령어이다. 이러한 유형의 명령어는 개발 및 문제 해결에 도움을 주기 위해 블루투스 컨트롤러 구현에서 흔히 사용된다. 이들은 표준 HCI 명령어 세트의 일부가 아니며 일반적으로 통제된 환경에서 사용된다.[98] 처음에는 "백도어"로 묘사되었지만, 추가 설명에서는 "문서화되지 않은 디버깅 기능"으로 분류되었다. 이 명령어는 표준 블루투스 연결을 통해 원격으로 접근할 수 없지만, 개체가 장치에 물리적으로 접근하거나 HCI-UART 구성으로 작동하는 경우 상호 작용할 수 있다.
에스프레시프 시스템즈는 이 명령어에 대해 명확하게 설명하며, 이들은 디버깅을 위한 것이며 정상 작동 조건에서는 보안 위험을 초래하지 않는다고 밝혔다. 회사는 이 명령어들이 원격으로 트리거될 수 없으며 표준 블루투스 작업에서 사용되지 않는다고 강조했다. 이 명령어들은 ESP32 칩에만 존재하며, ESP32-C, ESP32-S, ESP32-H 시리즈에는 포함되어 있지 않다. 보안 커뮤니티에서 제기된 우려를 해소하기 위해 에스프레시프는 향후 ESP-IDF 버전에 이 디버깅 명령어에 대한 접근을 제한하고 공급업체별 HCI 명령어에 대한 문서화를 개선하는 업데이트를 포함할 것이라고 발표했다. 이러한 조치는 투명성을 높이고 개발자들이 사용 가능한 기능에 대해 잘 알 수 있도록 하는 것을 목표로 한다.[99]
Remove ads
같이 보기
각주
외부 링크
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads