Support for the ESP32-S3-USB-OTG board. More...
Support for the ESP32-S3-USB-OTG board.
The Espressif ESP32-S3-USB-OTG is a development board designed for the development of applications that use the USB interface. For this purpose it is equipped with two USB type A ports:
USB_DEV
male port that is used to connect the board as a USB device to a host.USB_HOST
female port that is used to connect other USB devices to the board.USB_DEV
port, that is the board can only be used as USB device.The main features of the board are:
Feature | Support |
---|---|
ESP32-S3 SoC | yes (1 core) |
2.4 GHz WiFi 802.11b/g/n | yes |
Bluetooth5, BLE | yes |
8 MByte Flash | yes |
USB Type-A Host Interface | no |
USB Type-A Device Interface | yes |
SD Card Slot | yes (SPI mode) |
LCD Color Display 240 x 240 | yes |
This section describes
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.
The Espressif ESP32-S3-USB-OTG is a development board that uses the ESP32-S3-MINI-1 module. Most important features of the board are
USB_DEV
Type-A male portUSB_HOST
Type-A female portFunction | GPIOs | Remarks | Configuration |
---|---|---|---|
BTN0 | GPIO0 | OK Button | |
BTN1 | GPIO14 | MENU Button | |
BTN2 | GPIO11 | DW- Button | |
BTN3 | GPIO10 | UP+ active | |
LED0 | GPIO15 | Green LED | |
LED1 | GPIO16 | Yellow LED | |
LCD_DC | GPIO4 | ||
LCD_EN | GPIO5 | ||
LCD_RST | GPIO8 | ||
LCD_BL | GPIO9 | LCD Backlight | |
ADC_LINE(0) | GPIO1 | USB_HOST Voltage | ADC Channels |
ADC_LINE(1) | GPIO2 | Battery Voltage | ADC Channels |
PWM_DEV(0):0 | GPIO15 | LED0 | PWM Channels |
PWM_DEV(0):1 | GPIO16 | LED1 | PWM Channels |
SPI_DEV(0):SCK | GPIO6 | LCD_SCLK | SPI Interfaces |
SPI_DEV(0):MOSI | GPIO7 | LCD_SDA | SPI Interfaces |
SPI_DEV(0):MISO | GPIO3 | no used | SPI Interfaces |
SPI_DEV(0):CS0 | GPIO5 | LCD_EN | SPI Interfaces |
SPI_DEV(1):SCK | GPIO36 | SD_CLK | SPI Interfaces |
SPI_DEV(1):MOSI | GPIO35 | SD_CMD | SPI Interfaces |
SPI_DEV(1):MISO | GPIO37 | SD_DATA0 | SPI Interfaces |
SPI_DEV(1):CS0 | GPIO34 | SD_DATA3 | SPI Interfaces |
UART_DEV(0):TxD | GPIO43 | USB-to-UART bridge | UART interfaces |
UART_DEV(0):RxD | GPIO44 | USB-to-UART bridge | UART interfaces |
For detailed information about the peripheral configurations of ESP32-S3 boards, see section Common Peripherals.
The corresponding board schematic can be found here
There are two options to flash the board:
USB_DEV
port (default)To flash the board via the USB Serial/JTAG interface just connect the board with the USB_DEV
port to your host computer and use the following command:
Usually the make system resets the board before flashing to enable the USB Serial/JTAG controller and to reboot the ESP32-S3 in download mode.
In some very special cases this reset does not work and the programmer cannot connect to the card, so the flashing is aborted with a timeout:
This can happen either if RIOT is not yet installed or if the USB port was previously used with the USB OTG controller, for example with USBUS or tinyUSB. In this case, restart the board manually into download mode by pressing and releasing the RESET button while holding down the BOOT button. In download mode, the USB Serial/JTAG interface is always available.
Flashing RIOT using the USB-to-UART bridge 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:
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.
By default, the USB_DEV
port and the USB Serial/JTAG interface are used for the STDIO (module stdio_usb_serial_jtag
). If the USB port is used by the USBUS stack or the tinyUSB stack, implicitly the module stdio_cdc_acm
or stdio_tinyusb_cdc_acm
is used for the STDIO via the USB CDC ACM interface.
Alternatively, the USB-to-UART bridge and UART_DEV(0)
could be used for the STDIO. Simply add stdio_uart
to the list of used modules for this purpose:
Files | |
file | board.h |
Board definitions for the ESP32-S3-USB-OTG boards. | |
file | gpio_params.h |
Board specific configuration of direct mapped GPIOs. | |
file | periph_conf.h |
Peripheral configurations for ESP32-S3-USB-OTG boards. | |