Skip to content

Get serial to work on ESP32-S3 chipset #22527

Description

@habazut

Description

It could be that this is just a "howto" (documentation) issue but on the Arduino IDE my hello world type program works out of the box without any need to edit Makefiles, add unknown modules or other source changes. The goal from a user perspecuive should be that one can write make flash BOARD=something-with-esp32-s3 and get working serial without further jumping trough loops as I can on the Arduino IDE where I took a random generic ESP32-S3 from the list and it worked.

Can not get serial output from ESP32-S3 directly connected to USB

Steps to reproduce the issue

build examples/basics/leds_shell with:

USEMODULE += shell
USEMODULE += periph_gpio
USEMODULE += stdio_cdc_acm
CFLAGS += -DLOG_LEVEL=LOG_DEBUG
CFLAGS += -DSTDIO_UART_BAUDRATE=115200
make flash reset term BOARD=esp32s3-devkit BOARD_VERSION=esp32s3-devkitc-1-n8 PORT=/dev/ttyACM0 BAUD=115200
make term BOARD=esp32s3-devkit BOARD_VERSION=esp32s3-devkitc-1-n8 PORT=/dev/ttyACM0 BAUD=115200
/home/src/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" -ln "/tmp/pyterm-haba" -rn "2026-07-30_11.22.13-leds_shell-esp32s3-devkit"  
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2026-07-30 11:22:13,556 # Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.

Expected results

Here I press the reset button and expect the puts() stdio_write() and prinf() in main() but:

2026-07-30 11:22:19,358 # Serial port disconnected, waiting to get reconnected...
2026-07-30 11:22:20,360 # Try to reconnect to /dev/ttyACM0 again...
2026-07-30 11:22:20,362 # Reconnected to serial port /dev/ttyACM0

As a simple hello world sketch works from the Arduino IDE I expect the HW to be OK.

Actual results

Nothin to see on serial ;-)

Versions

$ make print-versions

RIOT version information
----------------------------
         RIOT branch: master-haba branched off at 6f9067c6d36bc9e6cf602349c0d7bc308e0783da
         RIOT commit hash: f2e4a105166edbcab00274da58402e411f93d7f6
         RIOT commit date: 2026-07-29

Operating System Environment
----------------------------
         Operating System: "Linux Mint" "20 (Ulyana)"
                   Kernel: Linux 5.4.0-104-generic x86_64 x86_64
             System shell: /bin/dash (probably dash)
             make's shell: /bin/dash (probably dash)

Installed compiler toolchains
-----------------------------
               native gcc: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
        arm-none-eabi-gcc: missing
                  avr-gcc: missing
           msp430-elf-gcc: missing
       riscv-none-elf-gcc: missing
  riscv64-unknown-elf-gcc: missing
      riscv32-esp-elf-gcc: missing
  riscv32-unknown-elf-gcc: missing
     xtensa-esp32-elf-gcc: xtensa-esp-elf-gcc (crosstool-NG esp-14.2.0_20241119) 14.2.0
   xtensa-esp32s2-elf-gcc: xtensa-esp-elf-gcc (crosstool-NG esp-14.2.0_20241119) 14.2.0
   xtensa-esp32s3-elf-gcc: xtensa-esp-elf-gcc (crosstool-NG esp-14.2.0_20241119) 14.2.0
   xtensa-esp8266-elf-gcc: missing
                    clang: missing

Installed compiler libs
-----------------------
     arm-none-eabi-newlib: missing
        msp430-elf-newlib: missing
    riscv-none-elf-newlib: missing
riscv64-unknown-elf-newlib: missing
   riscv32-esp-elf-newlib: missing
riscv32-unknown-elf-newlib: missing
  xtensa-esp32-elf-newlib: "4.3.0"
xtensa-esp32s2-elf-newlib: "4.3.0"
xtensa-esp32s3-elf-newlib: "4.3.0"
xtensa-esp8266-elf-newlib: missing
                 avr-libc: missing (missing)

Installed development tools
---------------------------
                   ccache: ccache version 3.7.7
                    cmake: cmake version 3.25.1
                 cppcheck: Cppcheck 1.90
                  doxygen: missing
                      git: git version 2.25.1
                     make: GNU Make 4.2.1
                  openocd: missing
                   python: missing
                  python2: Python 2.7.18
                  python3: Python 3.8.10
                   rustup: missing
                    cargo: missing
                    rustc: missing
                   c2rust: missing
                     node: missing
                      npm: missing
                   flake8: error: /usr/bin/python3: No module named flake8
               coccinelle: missing

Declaration of AI-Tools / LLMs usage:

AI-Tools / LLMs that were used are:

  • none

Metadata

Metadata

Assignees

No one assigned

    Labels

    AI: Not UsedAI was stated to not be used in this PR/IssueArea: boardsArea: Board portsPlatform: ESPPlatform: This PR/issue effects ESP-based platformsType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions