↓ Skip to main content

Overview of the ESP32-S31 Features

·6 mins·
Table of Contents
ESP32-S31-SECURITY - This article is part of a series.
Part 2: This Article

A walkthrough of the ESP32-S31 features
#

This lecture covers the ESP32-S31 and the ESP32-S31-Function-CoreBoard-1 before you enable Secure Boot, flash encryption, and the other assignment modules. The SoC offers dual RISC-V cores with Wi-Fi 6, Bluetooth 5.4, IEEE 802.15.4, a Gigabit Ethernet MAC, and security hardware documented in the datasheet and ESP-IDF documentation.

This is a walkthrough, not a TRM chapter. You will see which peripherals matter on the bench, which security blocks the security overview configures, how the ESP32-S31-Function-CoreBoard-1 exposes USB and Ethernet for the labs, and where to open the official docs when you need pin names, etc. The introduction describes how that path fits the rest of the workshop.

Learning objectives
#

By the end of this lecture, you should be able to:

  • Name the main ESP32-S31 wired and multimedia peripherals compared with earlier ESP32 parts
  • List the SoC security blocks that the later assignments use
  • Point to the ESP32-S31-Function-CoreBoard-1 connectors used to flash, debug, and run TLS labs
  • Choose the right Espressif datasheet, TRM, board guide, or ESP-IDF security page for a given question

System and connectivity
#

The ESP32-S31 has a dual-core 32-bit RISC-V CPU at up to 320 MHz, 512 KB internal SRAM, and external PSRAM and flash over high-speed SPI. One core implements 128-bit SIMD for signal-processing style workloads. An MMU maps external memory, which you rely on once flash encryption is enabled and the application grows.

For radios and wired links, the SoC integrates 2.4 GHz Wi-Fi 6 (802.11ax), Bluetooth 5.4 (LE and Classic), IEEE 802.15.4 (Thread and Zigbee), and a Gigabit Ethernet MAC. On the ESP32-S31-Function-CoreBoard-1, the RJ45 port is an easy choice for TLS when you want a fixed wired lab network instead of Wi-Fi credentials in a classroom.

New peripherals on the ESP32-S31
#

If you have used ESP32-S3 or ESP32-C SoCs, the I/O list will look familiar but longer. The ESP32-S31 has 60 programmable GPIOs, multiple UART/SPI/I2C blocks (including low-power variants), USB 2.0 High-Speed OTG, USB Serial/JTAG, TWAI (CAN FD), SDIO, timers, ADCs, touch sensing, and motor-control PWM.

For display and audio products, the same SoC adds a JPEG codec, Pixel Processing Accelerator (PPA), 2D-DMA, camera and LCD controllers, and I2S with hardware Bluetooth audio timing. The security assignments ignore most of that, but it matches the ESP32-S31-Function-CoreBoard-1 layout: Ethernet, USB host, microphone, and speaker for connected voice demos.

The table below ties SoC interfaces to this workshop:

AreaESP32-S31 capabilityRelevance in this workshop
USBUSB 2.0 HS OTG + USB Serial/JTAGFlashing, debug, and optional device-mode workflows
Ethernet1000 Mbps MAC (with external PHY on the board)TLS over a stable wired link in Assignment 1
WirelessWi-Fi 6, Bluetooth 5.4, 802.15.4Wi-Fi path used in Assignments 1 to 5
StorageExternal flash and PSRAMTargets for flash encryption and secure boot
MultimediaJPEG, PPA, I2S, codec-friendly designOptional product features outside this security lab track

Security elements (overview)
#

The security features overview covers these blocks in detail. The ESP32-S31 includes a cryptography and security component described in the ESP-IDF security overview:

  • Secure Boot and flash/PSRAM encryption for authenticity and confidentiality of code and data at rest
  • Hardware accelerators (AES, SHA, RSA, ECC, HMAC) and a True Random Number Generator (TRNG) for TLS and provisioning
  • Digital signature peripherals (RSA_DS, ECDSA_DS) so private signing material can stay out of normal software reach
  • Secure Debug Controller, power-glitch detection, and side-channel hardening on selected blocks
  • Access Permission Management (APM) and Trusted Execution Environment (TEE) support for isolating software on multi-app products

The assignments enable these controls one module at a time.

Development kit: ESP32-S31-Function-CoreBoard-1
#

The ESP32-S31-Function-CoreBoard-1 is the board used in this workshop. It carries the ESP32-S31-WROOM-3 module (16 MB flash and 16 MB PSRAM in the mass-production configuration), breaks out GPIOs on header J2, and adds Gigabit Ethernet, two USB-C ports (UART bridge and native USB Serial/JTAG), a USB 2.0 Type-A host port, microphone and speaker paths through an ES8311 codec, an addressable RGB LED, and Boot and Reset buttons.

Power the board from either USB-C port or the 5 V and GND pins on J2. For daily ESP-IDF work, the USB Serial/JTAG port is enough to build, flash, and monitor; the USB-to-UART port is a familiar fallback. Use Ethernet when you want TLS on a fixed lab network.

ESP32-S31-Function-CoreBoard-1 development board
ESP32-S31-Function-CoreBoard-1 development board

Block diagram
#

The diagram below shows how the ESP32-S31-WROOM-3 module connects to USB, Ethernet, and audio on the board.

Block diagram of the ESP32-S31-Function-CoreBoard-1
ESP32-S31-Function-CoreBoard-1 block diagram

Board components
#

The front of the board contains the interfaces and controls used most often during development:

Annotated front view of the ESP32-S31-Function-CoreBoard-1
ESP32-S31-Function-CoreBoard-1 front view
No.ComponentDescription
1J2 pin headerExposes power, ground, GPIO, and peripheral signals
2RJ45 Ethernet portConnects the board to an Ethernet network
3Ethernet transformerProvides signal coupling and isolation for Ethernet
4USB 2.0 Type-A portConnects USB peripherals to the board
5USB Serial/JTAG portNative USB connection for flashing, monitoring, and JTAG debugging
6USB Type-C to UART portUSB-to-UART connection for flashing and serial monitoring
73.3 V power-on LEDIndicates that the board’s 3.3 V supply is active
8J5Current-measurement header; remove the jumper to insert an ammeter in series with the module supply (see the user guide)
95 V to 3.3 V DC/DC converterSupplies the board’s 3.3 V power rail
10ESP32-S31-WROOM-3Module containing the ESP32-S31 SoC
11MicrophoneCaptures audio input
12RGB LEDUser-controllable status indicator
13Audio codecConverts and routes digital and analog audio
14Reset buttonResets the ESP32-S31
15Speaker output portConnects an external speaker
16Boot buttonControls the boot mode and can be used as an input

The back of the board contains additional interface circuitry:

Annotated back view of the ESP32-S31-Function-CoreBoard-1
ESP32-S31-Function-CoreBoard-1 back view
No.ComponentDescription
17Audio power-amplifier chipDrives the speaker output
18Ethernet PHYImplements the Ethernet physical layer
19USB-to-UART bridgeConverts USB communication to the UART interface
20SwitchTPS2051C USB power switch; limits USB host port current to 500 mA

Software support
#

Use ESP-IDF v6.1 with target esp32s31, as listed in the workshop prerequisites. Install and activate the framework with EIM or the ESP-IDF extension for VS Code, then open or create a project and run idf.py --preview set-target esp32s31.

Note

ESP-IDF v6.1 support for the ESP32-S31 is still in preview. APIs, default configurations, and documentation may change between releases. Pin the ESP-IDF version you use for the workshop and read release notes before you ship production firmware.

Espressif also publishes esp_board_manager for the ESP32-S31-Function-CoreBoard-1, which can initialize the codec, LED, and buttons when you move past bare security examples. Secure boot, encryption, and related options still come from ESP-IDF Kconfig, eFuse, and the guides in the next section.

Documentation and resources
#

Use these references while you work through the workshop:

DocumentUse it when you need
ESP32-S31 Series DatasheetFeature lists, electrical limits, and security block overview
ESP32-S31 Technical Reference ManualRegister-level detail for peripherals and security hardware
ESP32-S31-WROOM-3 DatasheetModule pinout, memory, and antenna information
ESP32-S31-Function-CoreBoard-1 user guideBoard setup, connectors, and current measurement
ESP32-S31-Function-CoreBoard-1 schematic (PDF)Net names and power paths for hardware debug
ESP-IDF: Security overview (ESP32-S31)How ESP-IDF maps SoC features to Secure Boot, flash encryption, and identity
ESP Hardware Design Guidelines (ESP32-S31)Product-level integration and layout guidance

For a first flash and serial connection, follow ESP-IDF Get Started for ESP32-S31.

Navigation#

Next: Overview of the security features on the ESP32-S31

Return to the workshop main page

ESP32-S31-SECURITY - This article is part of a series.
Part 2: This Article

Related