Basic Concepts
Key Features of the ESP32-S31
- Chip series: ESP32-S31
- CPU: RISC-V 32-bit Dual-Core HP Core @ 320 MHz
- RAM (expandable PSRAM): 512 KB (Expandable 250 MHz 8-bit DDR PSRAM)
- Wireless: 2.4 GHz Wi-Fi 6 + BLE 5.4 + Bluetooth Classic + Thread 1.4 + Zigbee 3.0
- Peripherals: 16-bit DVP, 24-bit RGB, USB OTG 2.0 High Speed, PPA, JPEG Codec, 1000 Mbps Ethernet
- Typical use cases: Multimedia devices, Edge AI devices, LE Audio, IoT devices, Gigabit gateways, Smart Home Appliances, Voice Control devices, Smart Home Hubs, Video Doorbells
Chips, Modules, Development Boards
Chips (SoCs)
- The chip is a basic integrated circuit (IC) manufactured by Espressif Systems, and is the core of the entire ESP series. These chips typically include hardware functions such as a processor (CPU), memory, communication interfaces, and GPIO (General Purpose Input/Output). The chip can be directly embedded into custom circuit boards to build highly customized IoT devices, suitable for projects requiring compact size and specific functions.
- The chip cannot be powered on directly; it requires basic external circuitry for startup, such as a crystal oscillator circuit, flash memory circuit, and antenna circuit. Furthermore, products based on a chip design require RF certification on your own, which increases project development cost and time.
Modules
- The module is a packaged version of Espressif's chips, integrating the chip, crystal oscillator circuit, antenna circuit, Flash and PSRAM storage. Espressif's modules typically have FCC, CE and other certifications, allowing developers to focus more on application development without worrying about antenna hardware matching design and RF certification details, thus accelerating product time-to-market.
Development Boards
- The development board is a complete PCB that integrates power-supply and download circuitry for a chip or module. You can use it directly for testing and development. It provides interfaces and resources for debugging, development, and testing, including software debugging and firmware flashing during development. Development boards are typically used for rapid verification in early project stages; modules are used when products move to mass production.
- At the same time, the development board also provides a quick-start path for developers who are new to Espressif chips. The development board can quickly verify developers' ideas and designs, allowing ideas to take shape rapidly.
Hardware Selection Guide
Choosing the right chip, module, or development board depends on your project requirements, timeline, technical capability, and budget. Consider the following factors:
1. Rapid development and prototype verification
- Development boards are especially helpful for rapid feature validation in the early project stage.
2. Custom hardware design
- If you need a highly customized PCB and hardware design, chips are the better fit.
[!NOTE] Custom designs require wireless protocol certification, which may increase development time and cost.
3. Time to market
- Modules usually accelerate time to market and come with comprehensive RF certification reports. Developers can focus more on application development without having to deal with the details of antenna hardware matching design and RF certification.
4. Cost budget
- Chips typically have lower cost, but custom designs increase development time and difficulty. Modules cost more but can speed up development.
5. Team technical capability
- If your team is new to Espressif or has limited technical resources, using modules is easier to adopt, helps move the project forward faster, and reduces technical risk. Using chips requires stronger technical capabilities and more development experience.
6. Pin and storage configuration
Number of GPIO
-
Calculate the required number of pins based on the actual number of peripherals being controlled. Common needs include:
- UART, I2C, SPI (Each interface typically needs 2–4 GPIOs)
- Control signals such as LEDs, buttons, and relays (Each interface typically needs 1 GPIO)
RAM & PSRAM size
-
Used for runtime data such as buffers, variables, and task stacks.
- Simple applications (e.g., sensor logging): internal RAM on ESP32-C series chips is often enough.
- Larger applications (e.g., camera, LVGL UI): prefer chips that support PSRAM.
Flash size
-
Stores firmware, web assets, configuration, etc.
- Firmware and OTA updates only: 4 MB is often sufficient.
- Web pages or multilingual assets: 8 MB or more is recommended.
Software Development Environment Selection Guide
Espressif provides multiple official development environments for different stages—from learning and prototyping to commercial production. Pick the one that best matches your experience and project needs.
- Beginners / quick start / multi-version management: ESP-IDF Installation Manager (EIM) — Provides a one-stop installation and version management tool, suitable for quickly building and switching ESP-IDF environments.
- Commercial firmware / automation / maximum flexibility: ESP-IDF command-line environment — Provides full low-level access capabilities, supports scripted builds and CI/CD integration.
- Daily development / GUI / rich plugin ecosystem: VS Code IDE — Deep ESP-IDF integration in VS Code with graphical debugging and configuration.
- Large projects / complex systems / component analysis: Espressif-IDE (Eclipse) — Full-featured IDE based on Eclipse, with excellent support for large codebases and dependency management.
- Beginners / rapid prototyping / open ecosystem: Arduino IDE — High-level APIs and rich examples to help you quickly program for hardware interaction.
Different platforms vary significantly in terms of toolchain completeness, development efficiency, debugging capabilities, and applicable scenarios. The team should make the selection based on the project phase and technical requirements.
[!NOTE] ESP-IDF version selection
- Before you set up your environment, refer to Which version should I choose? to select an ESP-IDF version.
- Currently, ESP32-S31 is supported only on the ESP-IDF master branch (v6.1 and later).
- For chip-to-IDF version mapping, see ESP-IDF Version and Espressif Chip Compatibility.