Source
Everything that knows about the chip lives in esp32s3/, so a program stays readable as just the program. Write yours in main.c, or start from one of the examples.
Get the source
codewithamoako/esp32s3-baremetalClone 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.git
cd esp32s3-baremetal
makeThese pages are generated from main, so what you clone is what you see here.
esp32s3/
13 filesEverything that knows about the chip. A program includes board.h and never touches a register directly.
board.c · clock.c · console.c · delay.c · gpio.c · uart.c · i2c.c · spi.c · pwm.c · adc.c · watchdog.c · led.c · linker.ld
examples/
7 filesOne runnable program per peripheral. Each replaces main.c for the build — just name it.
adc_read.c · gpio_button.c · i2c_scan.c · led_blink.c · pwm_fade.c · spi_loopback.c · uart_echo.c
main.c
Your program. Everything else on this site exists to be called from here.