본문 바로가기

ESP32

ESP32-S31 최신 2026 고성능 듀얼 코어 RISC-V SoC 2

반응형

말투는 신경쓰지 말고 그냥 읽으세요!

 

ESP32-S31은 Espressif의 최신 (2026) 고성능 듀얼 코어 RISC-V SoC로서, ESP32 라인업에서 강력한 업그레이드로 자리잡고 있어. 하나의 고성능 RISC-V 코어(320 MHz까지 FPU, SIMD, 넓은 128비트 데이터 경로 지원)와 낮은 소비 전력 코어, 512 KB SRAM, 고속 DDR PSRAM 지원(250 MHz 8비트까지), 60개의 GPIO, Wi-Fi 6, Bluetooth 5.4 (LE + Classic), 802.15.4 (Thread/Zigbee/Matter), 기가비트 이더넷 MAC, 풍부한 HMI 주변장치(카메라, LCD 인터페이스, 터치) 및 멀티미디어/AI를 위한 하드웨어 가속기를 특징으로 해.

 

ESP32-S31은 아키텍처적으로 ESP32-S3와 매우 유사하지만, RISC-V 코어(대신 Xtensa), 더 나은 무선 성능, 더 많은 GPIO, 개선된 성능/메모리 옵션이 있어. 펌웨어 개발은 다른 최신 ESP32 칩들과 동일한 생태계를 따라가.

 

1. 기본 펌웨어 개발 프레임워크: ESP-IDF

 

ESP-IDF (Espressif IoT Development Framework)는 ESP32-S31에 대한 생산 품질 펌웨어를 개발하는 공식 추천 방식이야. FreeRTOS 기반의 C 기반 프레임워크(일부 C++ 지원)로, 빌드를 위해 CMake/Ninja를 사용해.

 

  • 공식 시작 가이드 (ESP32-S31용): 여기에서 시작해 — https://docs.espressif.com/projects/esp-idf/en/latest/esp32s31/get-started/index.html 
  • 최신 ESP-IDF 버전(v5.x / v6.x+)을 지원해 (2026년 기준).
  • 설치 옵션: ESP-IDF 설치 관리자 (EIM) 또는 Git + 도구를 통한 수동 방식으로 설치할 수 있어. Windows, Linux, macOS에서 작동해.
  • 추천 IDE: 공식 ESP-IDF 확장 기능이 있는 VS Code(디버깅, 플래싱, 모니터링에 최상) 또는 Eclipse/CDT.
  • 주요 명령어: idf.py set-target esp32s31, idf.py menuconfig, idf.py build, idf.py flash, idf.py monitor.

 

ESP32-S31과 ESP32-S3는 아키텍처적으로 상당히 다르다, 비슷한 이름에도 불구하고. S31은 S3의 사소한 수정이 아니라 상당한 세대 전환을 의미해 (어떤 면에서는 S3 → P4 수준에 가까워).

 

1. 코어 아키텍처 차이점

 

기능 ESP32-S3 ESP32-S31 영향
CPU 듀얼코어 Xtensa LX7 (240 MHz) 듀얼코어 32비트 RISC-V (320 MHz까지) 주요
코어 기능 SIMD/벡터 확장 (AI용) 128비트 데이터 경로 + SIMD + FPU의 HP 코어; LP 코어 S31이 DSP/AI/센서 융합에 강해
메모리 512 KB SRAM, Octal SPI PSRAM (~80-120 MHz 일반) 512 KB SRAM, 고속 250 MHz 8비트 DDR PSRAM S31의 외부 RAM 대역폭이 훨씬 우수해
GPIO 수 45개 사용 가능 60 GPIO (일부 출처는 62-63개까지 가능하다고 해) 훨씬 더 많은 I/O
무선 Wi-Fi 4 (802.11b/g/n), BT 5 LE Wi-Fi 6, BT 5.4 (LE + Classic), 802.15.4 주요 업그레이드
이더넷 10/100 Mbps RMII MAC 기가비트 이더넷 MAC 유선 애플리케이션에 중요해
HMI 주변 장치 병렬 카메라/LCD, 터치 개선됨 (JPEG 코덱, 더 나은 병렬 I/O 등) 멀티미디어 성능이 더 좋음

 

 

  • 명령어 세트 & ABI: 완전히 다름. Xtensa 코드는 재컴파일 없이는 RISC-V에서 실행되지 않아 (대개 소스 변경이 필요해).
  • 주변 장치 레지스터 맵 & 저수준 드라이버: 크게 다름. 주변 장치 유형이 비슷하더라도 (I2C, SPI, UART 등), 기본 주소, 레지스터 레이아웃, 일부 동작이 달라.
  • 인터럽트 시스템, 전원 관리, 클럭: 새로운 코어와 아키텍처로 인해 다름.

아키텍처에 대한 결론: 직접 바이너리 이식은 불가능해. 저수준 코드의 소스 레벨 이식에는 작업이 필요해.

 

2. 핀 아웃 및 GPIO 차이

 

  • ESP32-S3: 45개 GPIO (GPIO0–21 + 26–48). 많은 제한사항 (플래시/PSRAM 핀, GPIO0/3/45/46 같은 스트래핑 핀, USB 핀).
  • ESP32-S31: ~60개 GPIO — 더 높은 수치이며 다른 물리적 핀 배치/패키지가 있을 가능성이 있어.

 

주요 결과:

 

  • 핀 다중화(IO MUX + GPIO 매트릭스)는 두 제품 모두에 존재하지만, 핀당 사용 가능한 기능과 기본 매핑이 다름.
  • 스트래핑 핀, 플래시/PSRAM 할당 및 부트 모드 핀은 일치하지 않을 것이야.
  • S3 보드에서 S31 보드로 동일한 회로도 또는 정확한 핀 할당을 사용할 수 없어. 데이터시트를 검토해야 해.

 

센서(GPS는 UART, I2C 나침반/조도 센서)는 GPIO 매트릭스 덕분에 두 보드 모두에서 유연하지만, 코드와 하드웨어에서 핀을 다시 할당해야 해.

 

정확한 핀 기능을 위해 항상 ESP32-S31 데이터시트와 기술 참고 매뉴얼을 참고해.

 

두 보드는 ESP32-S31에 대한 공식 Espressif 개발 키트이다. 잘 문서화되어 있으며, 센서 프로젝트 시작에 훌륭한 기반을 제공해.

 

1. ESP32-S31-Function-CoreBoard-1

 

이것은 일반 용도 / IoT 중심 보드로, ESP32-S31-WROOM-3 모듈(16 MB 플래시 + 16 MB PSRAM)를 기반으로 해.

 

주요 특징:

  • 기가비트 이더넷 (RJ45 + PHY).
  • USB 2.0 OTG 고속 (Type-A 포트, ESP32-S31 호스트 역할).
  • 온보드 모노 오디오 코덱 (ES8311) + PA + 스피커 출력 + 마이크.
  • GPIO60에 RGB LED.
  • 대부분의 사용 가능한 GPIO를 노출하는 40핀 헤더 J2.
  • 여러 개의 USB-C 포트(하나는 UART/디버그용, 다른 하나는 USB OTG용).
  • 리셋 + 부트 버튼.

 

GPIO 노출 (J2 헤더) - 문서에서 일부 목록:

 

GND, TX0 (GPIO58), RXD (GPIO59), GPIO61 (부트), GPIO60 (RGB), GPIO23, GPIO0, GPIO3, GPIO49, GPIO1, GPIO47, GPIO48, GPIO45, GPIO46, GPIO43, GPIO44, GPIO40, GPIO42, GPIO39 등.

 

더 많은 GPIO가 사용 가능해 (칩에서 최대 ~60개). 보드는 많은 수를 깔끔하게 분리해. 항상 전체 회로도를 참조해: 링크 전체회로도

https://dl.espressif.com/schematics/esp32-s31-function-coreboard-1-schematics.pdf 

 

이 보드는 센서 프로젝트에 이상적이야 (UART에서 GPS, I2C 센서에서 나침반/조도 등) 깨끗한 GPIO 헤더와 일반 용도 설계 덕분에.

 

2. ESP32-S31-Korvo-1 V1.1

 

이것은 멀티미디어 / HMI 중심 보드야.

 

주요 특징:

  • 이중 아날로그 마이크 + 스테레오 오디오 코덱 (ES8389) + 이중 스피커 출력.
  • 카메라 커넥터(전용 전원 LDO: 2.8V / 1.5V) — OV3660 같은 모듈을 지원해.
  • LCD 확장 커넥터.
  • microSD 카드 슬롯 (4비트 SDIO).
  • 기능 버튼 (PLAY, SET, VOL±).
  • GPIO8에 RGB LED.
  • 동일한 ESP32-S31-WROOM-3 모듈.

 

이 보드는 나중에 디스플레이/카메라를 추가할 계획이라면 더 나은 선택이지만, 더 많은 주변 장치가 미리 할당되어 있어 (오디오, SD, 카메라), 이는 남는 GPIO 수를 줄이거나 핀 선택을 신중하게 요구할 수 있어.

 

비교 및 포팅 영향(S31 vs S3)

  • GPIO 번호 지정: ESP32-S31은 많은 경우 더 높은 GPIO 번호를 사용해 (예: GPIO58/59에서 UART0, 전형적인 S3 기본값 대신). GPIO 매트릭스는 여전히 매우 유연해 — 대부분의 주변 장치(I2C, SPI, UART 등)를 거의 모든 핀에 연결할 수 있어.
  • 핀 충돌: S3 보드와 다름. S3 핀 할당을 맹목적으로 복사하지 마. 보드 회로도 + ESP32-S31 기술 참고 매뉴얼에서 IO MUX 기능을 확인해.
  • 모듈: 두 보드 모두 WROOM-3 모듈을 사용해, 이는 플래시/PSRAM/안테나를 표준화하지만 전형적인 S3 모듈보다 더 많은 GPIO를 노출해.

 

회로도를 여기에서 확인해: 위 보드의 가이드 링크

https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s31/esp32-s31-korvo-1/user_guide.html 

 

 

이 튜토리얼 기사를 참고하고 아래 댓글 바바. 주옥같은 내용이 많다.

 

 

Espressif ESP32-S31 CoreBoard and Korvo Kits Target AIoT, HMI, and Smart Audio Apps - Electronics-Lab

 

 

반응형