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:
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-s3and 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:
Expected results
Here I press the reset button and expect the puts() stdio_write() and prinf() in main() but:
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
Declaration of AI-Tools / LLMs usage:
AI-Tools / LLMs that were used are: