ESP32-S31
(espressif.com)- ESP32-S31은 최대 320MHz로 동작하는 듀얼코어 32비트 RISC-V 마이크로컨트롤러로, 멀티프로토콜 연결과 풍부한 HMI가 필요한 고급 IoT 애플리케이션을 겨냥함
- 연결성은 2.4GHz Wi-Fi 6, IEEE 802.15.4 기반 Thread·Zigbee, Bluetooth 5.4 LE와 Bluetooth Classic, 1000Mbps Ethernet MAC을 함께 제공하는 구성임
- 시스템·메모리는 60 GPIO, MMU, 6.86 CoreMark/MHz, 512KB SRAM, 250MHz 8비트 DDR PSRAM 연결, 동시 flash·PSRAM 접근, 고속 Octal SPI 호환 전용 SPI 인터페이스를 갖춤
- HMI·오디오는 DVP 카메라, 병렬 RGB/I8080/MOTO6800 LCD, JPEG 코덱·PPA·2D-DMA, 최대 14채널 터치, LC3 기반 LE Audio와 듀얼 I2S의 하드웨어 Bluetooth 오디오 동기화를 결합한 형태임
- 보안·소프트웨어는 TRNG, RAM 기반 PUF, secure boot, flash·PSRAM 암호화, AES/RSA/ECDSA/ECC 가속기, TEE/APM을 제공하고 ESP-IDF, ESP-Matter, ESP-BLE-AUDIO, ESP-GMF, ESP Private Agents와 연계될 예정임
개요
- ESP32-S31은 고성능 듀얼코어 32비트 RISC-V 마이크로컨트롤러로, 최대 320MHz에서 동작하며 포괄적인 멀티프로토콜 연결과 풍부한 인간-기계 인터페이스가 필요한 고급 IoT 애플리케이션을 목표로 함
- 60개 GPIO를 통해 여러 무선 프로토콜, 다양한 디스플레이 인터페이스, 넓은 범위의 주변장치를 통합하는 복잡한 설계에 유연성을 제공함
- 엣지 AI와 머신러닝 워크로드에 적합하며, 신경망 추론, 고급 신호 처리, 컴퓨터 비전, 지능형 오디오 애플리케이션을 임베디드 플랫폼 효율성 안에서 다루는 방향임
연결성과 처리 성능
- 2.4GHz Wi-Fi 6(802.11ax)는 전송 효율 향상과 전력 소비 절감을 목표로 하며, 배터리 구동 및 항상 연결된 기기에 적합한 선택지임
- IEEE 802.15.4는 Thread와 Zigbee 프로토콜을 가능하게 하며, Bluetooth 5.4 LE는 LE Audio, Direction Finding, Bluetooth Mesh 1.1을 지원함
- Bluetooth Classic(BR/EDR)은 기존 오디오 기기와 저지연 HMI 애플리케이션과의 호환성을 담당하며, 1000Mbps Ethernet MAC은 안정적인 고대역폭 유선 연결을 제공함
- 시스템은 MMU를 지원하는 듀얼코어 32비트 RISC-V 구조이며, 6.86 CoreMark/MHz 처리 성능과 60개 GPIO를 제공함
- 한 코어는 128비트 데이터 경로와 SIMD 명령을 갖춰 빠른 병렬 처리를 지원함
- 메모리는 512KB SRAM, 250MHz 8비트 DDR PSRAM 연결, flash와 PSRAM 동시 접근, 고속 Octal SPI 모드 호환 전용 SPI 인터페이스 기반 외부 메모리 확장으로 구성됨
HMI와 오디오
- 카메라 입력은 8~16비트 DVP 카메라 인터페이스를 사용하며, LCD는 8~24비트 병렬 RGB, I8080, MOTO6800을 지원함
- RGB565, YUV422, YUV420, YUV411 간 변환을 지원하며, JPEG 코덱, PPA, 2D-DMA 하드웨어 가속기로 이미지 처리와 디스플레이 업데이트 효율을 높임
- 최대 14개 정전식 터치 감지 채널을 제공해 스마트 디스플레이, 비디오 도어벨, 멀티미디어 패널, 터치·시각·오디오 통합 애플리케이션에 맞는 구성임
- Bluetooth 5.4 LE Audio는 LC3 코덱과 멀티스트림 오디오 기반의 고품질 저전력 스트리밍을 지원함
- Bluetooth Classic은 헤드폰, 스피커, 자동차 시스템 호환성을 담당하며, 듀얼 I2S 컨트롤러는 하드웨어 수준 Bluetooth 오디오 동기화로 정밀한 타이밍과 낮은 지연을 제공함
보안
- 하드웨어 기반 보안 기능은 엄격한 산업 요구사항을 가진 애플리케이션을 겨냥함
- TRNG와 RAM 기반 PUF 기능을 통합해 키 생성과 기기 보안을 위한 기반을 제공함
- secure boot, flash 및 PSRAM 암호화, AES-128/256·RSA·ECDSA·ECC 암호화 가속기를 지원함
- ECDSA 기반 디지털 서명 주변장치는 소프트웨어 접근으로부터 개인 키를 보호하며, TEE와 APM은 안전한 다중 애플리케이션 배포를 위한 소프트웨어 격리를 가능하게 함
소프트웨어와 제품 리소스
- ESP32-S31은 Espressif의 오픈소스 IoT 개발 프레임워크 ESP-IDF, Matter 기기용 ESP-Matter, ESP-BLE-AUDIO, 멀티미디어 애플리케이션용 ESP-GMF를 통해 지원될 예정임
- ESP Private Agents 플랫폼 및 일반 LLM과 직접 연동해 AI 에이전트를 실행하거나 상호작용하는 클라이언트 기기를 만들 수 있는 방향임
- 제품 리소스에는 ESP32-S31 SoC, ESP32-S31-WROOM-3 모듈, ESP32-S31-Korvo-1 및 ESP32-S31-Function-Coreboard-1 개발 키트가 나열됨
댓글과 토론
Hacker News 의견들
-
Espressif가 정말 잘나가고 있고, CPU에 SIMD 명령어까지 들어감
임베디드 시스템에서 RISC-V 코어는 큰 의미가 있음. 이제 SoC용 컴파일이 반쯤 망가진 독점 툴체인과 SDK를 내려받는 일이 아니라rustup target add riscv32imac-unknown-none-elf한 줄에 가까워졌기 때문임
현대적인 Rust 임베디드 개발을 시작하려면 https://kerkour.com/introduction-to-embedded-development-wit...와 https://kerkour.com/rust-esp32-pentest를 보면 됨- SIMD 명령어는 맞지만 하드웨어 부동소수점은 없어 보임. CORDIC 모듈 설명도 고정소수점 계산을 가리키고, 부동소수점 언급이 없는 것과도 일치함
CAN-FD와 Motor PWM 모듈은 반갑지만, ADC 변환 시간이 어디에도 보이지 않음. 모터 제어에서는 1µs 이하 변환 시간이 필요하고, 약 15년 동안 미뤄오다가 작년에 고정소수점에서 부동소수점으로 넘어갔음 - 그래도 Wi-Fi, 이더넷, USB 같은 IP 블록이 필요해지는 순간 다시 원점으로 돌아감
- 아키텍처 대상 이름의
imac이 무엇을 뜻하는지 궁금함 - ESP32로 상상하던 프로젝트를 실제로 다 만들 수 있게, 하드웨어 프로젝트용 Claude Code 같은 것이 필요함
3D 프린팅, 부품 자동 조달, 맞춤 소프트웨어 작성, 어쩌면 로봇 팔까지 합쳐서, 책상 위의 예쁜 박스에 우편함처럼 부품을 넣으면 되는 물건이면 좋겠음. PROFIT - 이런 장치에서 Rust를 써보려고 했는데, 지금까지 본 RISC-V 쪽은 ARM과 RISC-V가 섞여 있는 것처럼 보여 이상했음
- SIMD 명령어는 맞지만 하드웨어 부동소수점은 없어 보임. CORDIC 모듈 설명도 고정소수점 계산을 가리키고, 부동소수점 언급이 없는 것과도 일치함
-
전부 ESP32라고 부르지 않았으면 좋겠음. ESP8266과 ESP8285에서 ESP32로 넘어간 건 말이 됐지만, 이제는 기능과 아키텍처가 다른 버전이 10개 넘게 있음
Raspberry Pi Pico(RP2030/RP2350) 관련 스레드마다 항상 단일 보드 컴퓨터 버전과 헷갈리는 사람이 나오는 것과 비슷함
ESP32라고 들으면 아직도 보통 ESP32 Classic, 대개 WROOM-32E가 먼저 떠오름- 마이크로컨트롤러 제품군이 어떻게 구성되는지 근본적으로 오해하고 있는 것 같음
기능이 다른 “버전”이 10개 넘게 있는 게 아님. 버전이라는 말은 시간이 지나며 점진적으로 발전하는데 모듈을 붙였다 뗐다 해서 망치고 있다는 뉘앙스가 강함
실제로는 같은 SDK, 설계 철학, 가격 구조, 공급망, 지원 채널을 공유하는 4~5개 제품 라인이 있는 것임. 제품을 설계하는 엔지니어링 팀에는 이 각각이 매우 중요함. 취미로 배우는 사람만을 위한 이야기가 아니지만, 그런 사람들에 대한 지원도 꽤 잘한다고 봄
그 라인들 안에서는 실제 버전이 있음. 예를 들어 현재 주로 S, C, H, P 라인이 있고, ESP32-S2는 새 설계에 더 이상 권장되지 않으며 ESP32-S3를 써야 함
결국 이걸 이해하는 기준은 “ESP32라는 이름이 붙은 칩을 PCB에 올리고 같은 SDK로 프로그래밍할 수 있는가”임
RP2XXX 마이크로컨트롤러 시리즈도 마찬가지임. 마이크로컨트롤러와 단일 보드 컴퓨터 차이를 헷갈린다면, 그 자리에 맞지 않는 것일 수도 있음
더 크게 보면, 이런 것을 마주했을 때 “나는 이미 이해했고 남들이 틀렸다”는 가정으로 시작하지 않는 편이 더 빠르게 배움. 열린 마음으로 질문을 많이 하는 게 낫고, 지금은 독학자에게 황금기지만 그건 겸손한 호기심을 오래 가져가는 사람에게만 해당함 - STM32, EFM32, GD32 등과 같은 명명 체계임
- ESP-IDF 호환성을 나타내는 이름임
- 다른 제품군도 비슷함. STM32가 있고, 그 아래에 입문형 STM32C0부터 STM32MP2 같은 완전한 Linux 칩까지 중간 선택지가 많이 있음
- 재미있게도 Pico라는 개발 보드와 그 칩인 RP2040을 방금 섞어 말했음
- 마이크로컨트롤러 제품군이 어떻게 구성되는지 근본적으로 오해하고 있는 것 같음
-
WLED로 취미용 LED 아트 프로젝트를 만들고 있는데, WLED는 ESP32 플랫폼 위에만 구축되어 있음. 정말 재미있고, 이 작은 보드들의 성능과 오픈소스 커뮤니티가 계속 놀랍게 느껴짐
선호하는 컨트롤러 플랫폼은 QuinLED 라인임. 전원 분배, 전압 레귤레이터, 두꺼운 구리 배선, 설정 가능한 데이터 라인 저항, 스마트 보조 하드웨어 지원이 들어가고 컨트롤러당 30~50달러 정도로 저렴함. quinled.info
<https://kno.wled.ge/>는 WLED 홈페이지이고, 개인적으로 역대 가장 영리한 URL 중 하나라고 봄- 어떤 하드웨어를 쓰는지 궁금함. 어떤 LED나 매트릭스를 사고 있는지, QuinLED 컨트롤러는 어느 모델을 쓰는지 알고 싶음. 최근 HUB75 디스플레이로 꽤 재미를 보고 있어서 다른 선택지와 프로젝트도 살펴보고 싶음
- LED 프로젝트를 많이 하지만 그냥 WS2812를 씀. 컨트롤러가 필요한 이유가 뭔지 궁금함. 큰 밝기 때문일까?
- cr.yp.to/도 꽤 멋진 URL이고, 아주 오래전부터 있었음
-
데이터시트를 보니 BitScrambler 주변장치가 있고, 유연성 면에서 Raspberry Pi Pico의 PIO와 매우 비슷해 보임
비트 단위 연산은 CPU를 꽤 많이 쓸 수 있고, DMA는 원래 이런 작업을 CPU에서 덜어내도록 설계되었기 때문에, ESP32-S31은 BitScrambler라는 전용 주변장치 두 개를 통합합니다. 이 모듈들은 메모리와 주변장치 사이의 전송 중 데이터 형식을 변환하도록 설계되었습니다. 하나의 BitScrambler는 메모리에서 주변장치로 또는 메모리에서 메모리로의 전송을 처리하고, 다른 하나는 주변장치에서 메모리로의 전송 전용입니다. BitScrambler는 앞서 언급한 비트 단위 연산을 처리할 수 있지만, 실제로는 더 고급 변환도 수행할 수 있는 유연하고 프로그래밍 가능한 상태 기계입니다.
Pi Pico의 PIO만큼 유용하길 기대함 -
사양은 좋아 보이고, 선호하는 Espressif 폼팩터인 WROOM 모듈이나 작은 개발 보드로 나오기까지 얼마나 걸릴지 봐야 함. 가격도 궁금한데, 지금까지는 비슷한 가격에 세대가 갈수록 훨씬 더 많은 것을 제공해서 인상적이었음
상대적으로 빠른 RISC-V 코어와 SIMD가 기대된다면 이미 구할 수 있는 P4도 볼 만함. 클록은 약간 더 빠르지만 무선은 없음: https://products.espressif.com/#/product-comparison?names=ES...
DSP 기능과 내장 이미지 처리를 활용해 많은 픽셀 데이터를 처리하는 흥미로운 작업도 있고, S31에서도 비슷하게 동작할 듯함: https://www.reddit.com/r/WLED/comments/1ry2jd7/wledmmp4_with...- 가격이 비교적 비슷하게 유지된다면 가성비가 엄청날 것 같음. 오래된 ESP32에서 최적화 문제 때문에 미뤄둔 다른 사이드 프로젝트로 돌아가기 위해, 지금 하는 사이드 프로젝트를 또 미뤄야 할지도 모르겠음
- 이미 ESP32-S31-WROOM-3와 이를 기반으로 한 개발 보드 두 개, ESP32-S31-Function-CoreBoard-1과 ESP32-S31-Korvo-1이 출시됨. 모두 Espressif 공식 Aliexpress 스토어에서 구할 수 있음
-
두 달 전 발표 당시의 이전 논의: https://news.ycombinator.com/item?id=47561678
-
같은 부품에 Wi-Fi와 유선 이더넷이 다시 들어간 건 좋음
다만 P4 듀얼 코어 RISC-V 라인에 있던 MIPI 지원은 잃었음- 둘 다 같은 칩에 있으면 정말 좋겠음
- 이런 칩에서 유선 이더넷은 기술적으로 어떻게 동작하는지 궁금함. 전용 GPIO 핀 8개를 쓰는 식인가?
-
이 작은 장치들은 정말 흥미로움. 언젠가 시작할 사이드 프로젝트가 하나 있는데, SoC 32개 또는 코어가 더 많은 더 적은 수의 SoC를 배치하고, PCB 배선으로 이더넷 허브에 연결한 뒤, 여러 보드를 연결할 수 있게 하나 이상의 상위 네트워크 포트를 남기는 것임
각 코어는 90도 LED 홀더를 통해 보드 앞면의 빨간 LED를 켜게 할 생각임
그런 보드 16개를 묶어서 작은 Connection Machine 큐브를 만들고 싶음
다만 아주 약한 서버 512개짜리 클러스터를 어디에 쓸지는 잘 모르겠음. 아마도 비합리적으로 많은 노드를 관리하는 법을 배우는 용도일 듯함- 늘 n-cube 기계를 만들어보고 싶었음. 개인적으로는 RP2350을 더 선호하고, 칩 간 PIO↔PIO로 무엇을 할 수 있을지 생각하는 데 꽤 관심이 있음
핵심 목표는 사용 편의성과 성능의 균형을 맞추면서 이걸 어떻게 프로그래밍할지 알아내는 것임
PSRAM 접합부 같은 아이디어도 좋음. 모든 코어가 PSRAM을 하나씩 갖되, 이웃끼리 소유권을 교환할 수 있게 하는 것임
ESP32로 해보면 무선 주파수 대역에 무슨 일이 벌어질지도 궁금했음. 작은 공간에서 장치 512개가 서로 소리치는 셈이니까
- 늘 n-cube 기계를 만들어보고 싶었음. 개인적으로는 RP2350을 더 선호하고, 칩 간 PIO↔PIO로 무엇을 할 수 있을지 생각하는 데 꽤 관심이 있음
-
ESP32 라인 전반에 RISC-V 채택이 늘어나는 건 반가움. 예전 Xtensa 기반 부품도 괜찮았지만, RISC-V라면 도구, 컴파일러 지원, 장기 생태계가 더 깔끔해질 것임
-
악기를 조금 다뤄서 오디오 출력에 관심이 있음
마이크로컨트롤러에서 Bluetooth 오디오 출력은 지금 어떤 상태인지 궁금함. 낮은 지연시간과 고품질 출력이 가능할까?- Bluetooth 오디오의 낮은 지연시간은 코덱에 달려 있고, 가장 좋은 코덱들은 독점임
이런 하드웨어에서 무선을 쓰면서 지연을 정말 줄이고 싶다면, ESP32를 하나 더 써서 둘 사이에 직접 비트스트림을 보내는 방법이 있음 - Espressif 제품은 Bluetooth 오디오에 이상적이지 않음. Bluetooth 오디오에 아직 주로 쓰이는 Classic Bluetooth 지원이 들쭉날쭉하고, 최신 모델에서는 아예 빠진 경우도 많음
- 무선을 원하는 이유가 따로 있는지 궁금함. 내가 알기로 Bluetooth 오디오는 엉망이라 음악에는 쓰고 싶지 않을 것임. 그냥 유선으로 가는 편이 낫고, 무선 공간은 이미 너무 붐빔
- 진지한 음악 관련 용도에서는 오디오 재생부터 MIDI 입력까지 Windows의 Bluetooth가 재앙이라는 데 동의하고 싶음
몇 년 전 고급 Windows 노트북으로 이동 중 취미용 DAW 작곡 환경을 구성하려 했음. 노트북에서 헤드폰이나 이어버드로 가는 실제 BT 오디오 지연만으로도 쓸 수 없었고, 별도로 BT MIDI 컨트롤러 입력 지연도 쓸 수 없었음. 둘을 겹치면 전체 지연은 웃길 정도였음
당시에는 문제가 널리 알려져 있었고 많이 한탄됐음. 일부 기술 블로그, MSFT 블로그 포함, 드라이버·펌웨어·실리콘 등 스택의 모든 층에 문제가 있으며 종단 간 난장판을 해결하는 작업이 진행 중이라고 했음
온라인에서 언급된 실사용 가능한 Windows 해법은 특정 비-Bluetooth 무선 장치를 쓰는 것뿐이었음. 노트북에 전용 USB 동글을 꽂아야 하고, 특정 장치 하나를 고르거나 모든 장치를 지원하는 수신기 동글을 골라야 하는 건 그냥 선을 쓰는 것보다 덜 매력적임
이후로도 1년에 한 번쯤 다시 찾아봤지만 의미 있는 진전 보고는 아직 못 봤고, 진행 중인 작업에 대한 논의도 더 줄었음. 매우 실망스러움. BT 오디오 품질 쪽도 크게 나아 보이지 않음
오디오 품질 저하를 피하려면 독점 BT 코덱을 지원하는 특정 장치를 고르거나, 비-BT 무선 동글 하드웨어로 바꿔야 함. 오디오 품질 개선 이야기는 그래도 있지만, BT 오디오 표준에서 더 나은 기본 최소 음질이 의무화될 조짐은 뚜렷하지 않음
Windows 구성에서 표준 BT 장치의 기본 지연시간이나 품질, 입력이든 출력이든 개선될 정보가 있다면 정말 듣고 싶음
- Bluetooth 오디오의 낮은 지연시간은 코덱에 달려 있고, 가장 좋은 코덱들은 독점임