Source
Everything that knows about the chip lives in board/, so a program stays readable as just the program. Write yours in src/main.c, or start from one of the examples.
Get the source
codewithamoako/esp32s3-baremetal-support-libraryClone it, build it, and you have build/main.bin — no configure step, no submodules, nothing to generate. You will need the Espressif Xtensa toolchain and esptool on the way; Getting started covers finding them.
git clone https://github.com/codewithamoako/esp32s3-baremetal-support-library.git
cd esp32s3-baremetal-support-library
makeThese pages are generated from main, so what you clone is what you see here.
board/
12 filesEverything that knows about the chip. A program includes esp32s3.h and never touches a register directly.
esp32s3.c · esp32s3_clock.c · esp32s3_console.c · esp32s3_delay.c · esp32s3_gpio.c · esp32s3_uart.c · esp32s3_i2c.c · esp32s3_spi.c · esp32s3_pwm.c · esp32s3_watchdog.c · led.c · esp32s3.ld
examples/
6 filesOne runnable program per peripheral. Each replaces src/main.c for the build — just name it.
gpio_button.c · i2c_scan.c · led_blink.c · pwm_fade.c · spi_loopback.c · uart_echo.c
src/
1 fileYour program. Everything else on this site exists to be called from here.
main.c