Loading...
Searching...
No Matches
ESP32-S3-DevKit Board

Support for generic ESP32S3 boards. More...

Detailed Description

Support for generic ESP32S3 boards.

Author
Gunar Schorcht gunar.nosp@m.@sch.nosp@m.orcht.nosp@m..net

ESP32-S3-DevKit

Table of Contents

  1. Overview
  2. Hardware
    1. MCU
    2. Board Configuration
    3. Board Pinout
  3. Flashing the Device

Overview

The Espressif ESP32-S3-DevKit boards are a couple of boards that use one of the following modules:

Espressif ESP32-S3-DevKitM-1


Due to the different modules used, the available versions of the ESP32-S3-DevKit board differ regarding the Flash size, the integrated SPI RAM and the SPI voltage. To be able to use all these different versions of the board with a single board definition, used board version can be specified by the variable BOARD_VERSION during compilation, for example:

BOARD=esp32s3-devkit BOARD_VERSION=esp32s3-devkitc-1-n8 make ...

The following table shows the available board versions, the size of the Flash and the SPI RAM as well as the value of the variable BOARD_VERSION that is used to specify the board version.

Board Version Flash (Mode) SPI RAM (Mode) BOARD_VERSION
ESP32-S3-DevKitC-1-N8 8 MB (Quad) - esp32s3-devkitc-1-n8 (default)
ESP32-S3-DevKitC-1-N8R2 8 MB (Quad) 2 MB (Quad) esp32s3-devkitc-1-n8r2
ESP32-S3-DevKitC-1-N8R8 8 MB (Quad) 8 MB (Octal) esp32s3-devkitc-1-n8r8
ESP32-S3-DevKitC-1-N16R8V 16 MB (Octal) 8 MB (Octal) esp32s3-devkitc-1-n16r8v
ESP32-S3-DevKitC-1-N32R8V 32 MB (Octal) 8 MB (Octal) esp32s3-devkitc-1-n32r8v
ESP32-S3-DevKitC-1U-N8 8 MB (Quad) - esp32s3-devkitc-1u-n8
ESP32-S3-DevKitC-1U-N8R2 8 MB (Quad) 2 MB (Quad) esp32s3-devkitc-1u-n8r2
ESP32-S3-DevKitC-1U-N8R8 8 MB (Quad) 8 MB (Octal) esp32s3-devkitc-1u-n8r8
ESP32-S3-DevKitM-1-N8 8 MB (Quad) - esp32s3-devkitm-1-n8
ESP32-S3-DevKitM-1U-N8 8 MB (Quad) - esp32s3-devkitm-1u-n8


Note
  • If the board version is not specified, ESP32-S3-DevKitC-1-N8 with 8 MByte Flash is assumed and BOARD_VERSION is set to esp32s3-devkitc-1-n8 by default.
  • Using a board version with embedded SPI RAM (BOARD_VERSION is any of esp32s3-devkitx-1x-*r* values) enables the esp_spi_ram feature. The SPI RAM can then be used as heap by enabling the esp_spi_ram pseudomodule.
  • Depending on the specified board version, one of the following modes is used for the SPI RAM:
    • Quad SPI mode: If BOARD_VERSION is one of the values esp32s3_devkitx-1x-*r2, the Quad SPI mode is used. In this mode, GPIO26 ... GPIO32** are occupied and are not available for other purposes.
    • Octal SPI mode: If BOARD_VERSION is one of the values esp32s3_devkitx-1x-*r8x, the Octal-SPI mode is used and the feature esp_spi_oct is additionally enabled. If then the SPI RAM is activated by using the pseudomodule esp_spi_ram, GPIO33 ... GPIO37 are occupied and are not available for other purposes. Conflicts may then occur when using these GPIOs.

Back to table of contents

Hardware

This section describes

Back to table of contents

MCU

Most features of the board are provided by the ESP32-S3 SoC. For detailed information about the ESP32-S3 SoC variant (family) and ESP32x SoCs, see section ESP32 SoC Series.

Back to table of contents

Board Configuration

ESP32-S3-DevKit boards have no special hardware on board with the exception of a single pin RGB-LED.

All GPIOs are simply broken out for flexibility. Therefore, the board configuration is the most flexible one which provides:

Since almost GPIOs have broken out, GPIOs can be used for different purposes in different applications. Following GPIOs are not broken out:

For flexibility, GPIOs can be used in multiple peripheral configurations, but they can only be used for one peripheral at a time. For example, GPIO9 is used in the ADC channel definition and the definition of the SCL signal for I2C_DEV(0).

This is possible because GPIOs are only used for a specific peripheral interface when either

That is, the purpose for which a GPIO is used depends on which module or function is used first.

For example, if module periph_i2c is not used, the GPIOs listed in I2C configuration can be used for the other purposes, that is, GPIO9 can be used as ADC channel.

The following table shows the default board configuration, which is sorted according to the defined functionality of GPIOs. This configuration can be overridden by application-specific configurations.

Function GPIOs Remarks Configuration
BUTTON0 GPIO0
ADC_LINE(n) GPIO1, GPIO2, GPIO4, GPIO5, GPIO6, GPIO7, GPIO8, GPIO9 ADC Channels
PWM_DEV(0) GPIO14, GPIO17, GPIO18, GPIO21 - PWM Channels
PWM_DEV(1) GPIO15, GPIO16 if module esp_rtc_timer_32k is not used PWM Channels
I2C_DEV(0) SCL GPIO9 I2C Interfaces
I2C_DEV(0) SDA GPIO8 I2C Interfaces
RGB-LED GPIO48 supported by driver module ws281x
SPI_DEV(0) CLK GPIO12 SPI2_HOST (FSPI) is used SPI Interfaces
SPI_DEV(0) MISO GPIO13 SPI2_HOST (FSPI) is used SPI Interfaces
SPI_DEV(0) MOSI GPIO11 SPI2_HOST (FSPI) is used SPI Interfaces
SPI_DEV(0) CS0 GPIO10 SPI2_HOST (FSPI) is used SPI Interfaces
UART_DEV(0) TxD GPIO43 Console (configuration is fixed) UART interfaces
UART_DEV(0) RxD GPIO44 Console (configuration is fixed) UART interfaces


Note
The RGB-LED is connected to GPIO38 on ESP32-S3-DevKitC-1 revision 1.1 boards.

For detailed information about the peripheral configurations of ESP32-S3 boards, see section Common Peripherals.

Back to table of contents

Board Pinout

The following figures show the pinouts as configured by default board definition.

ESP32-S3-DevKitC-1 Pinout
ESP32-S3-DevKitM-1 Pinout

The corresponding board schematics can be found:

Back to table of contents

Flashing the Device

Flashing RIOT is quite easy. The board has a Micro-USB connector with reset/boot/flash logic. Just connect the board to your host computer and type using the programming port:

BOARD=esp32s3-devkit make flash ...

For detailed information about ESP32-S3 as well as configuring and compiling RIOT for ESP32-S3 boards, see RIOT-OS on ESP32 SoC Series Boards.

Back to table of contents

Files

file  arduino_iomap.h
 Mapping from MCU pins to Arduino pins.
 
file  board.h
 Board definitions for ESP32-S3-DevKit boards.
 
file  gpio_params.h
 Board specific configuration of direct mapped GPIOs.
 
file  periph_conf.h
 Peripheral configurations for ESP32-S3-DevKit boards.