ESP32/Chips/ESP32-S3

ESP32-S3

The workhorse. Two cores, native USB, room for PSRAM, and vector instructions that make camera work practical.

Before you plan anything
No classic Bluetooth and no DAC.
BLE only. If you were planning to stream audio to a phone over Bluetooth serial, this is the wrong chip — that needs the original ESP32.
Wi-Fi 4BLE 5No classic BTNo Zigbee or ThreadUSB OTGNo DACTouch, 14 pinsPSRAM up to 8 MBTwo coresNo MIPI display
Xtensa LX7 · 2 × 240 MHz
ESP32-S3 board photo
We stock
ESP32-S3 DevKitC-1
What we put in the starter kits. Native USB, no driver hunt, and PSRAM headroom for displays.
See it in the shop →

The pins that matter

Not all forty-odd of them. The five rows that decide whether your wiring works.

Default I2CSDA 8 · SCL 9Core default. Any GPIO works if you pass it to Wire.begin().
On-board LEDGPIO 48An addressable RGB LED, not a plain one. digitalWrite will not light it.
Two USB portsnative + UARTThe native port disappears on reset; the UART bridge does not. Pick the right one in Tools.
Strapping pinsGPIO 0, 3, 45, 46GPIO 45 and 46 also set flash voltage. Leave them alone.
Used by PSRAMGPIO 33–37On 8 MB octal-PSRAM modules only. Free on the quad variants.
Pinout diagram — ESP32-S3 DevKitC-1

Board settings, all three toolchains

Get one of these wrong and nothing else on the site will work.

Arduino IDEC++Tools → BoardESP32S3 Dev Module

Set "USB CDC On Boot" to Enabled if you want Serial to work over the native port.

MicroPythonPython + ThonnyfirmwareESP32_GENERIC_S3-20260201-v1.25.bin

Use the SPIRAM build if your board has 8 MB PSRAM, otherwise it will not be visible.

PlatformIObuild systemplatformio.iniboard = esp32-s3-devkitc-1

Add board_build.psram_type if you are using PSRAM.

What catches people out on this chip

These are the support emails. They exist nowhere else on the site because they are true of nothing else.

The port vanishes after upload

The native USB port is created by firmware. Reset the board and the port disappears until the sketch runs again. It is not broken — use the UART port while debugging.

Serial prints nothing until you flip one setting

With USB CDC On Boot disabled, Serial goes to the UART pins, not the USB you are watching. Two minutes of confusion for almost everyone.

The on-board LED is a WS2812

It needs the RGB LED call, not digitalWrite. Blink sketches copied from ESP32 tutorials appear to do nothing.

Octal PSRAM eats five GPIOs

If a pin behaves strangely on an 8 MB board, check it against the PSRAM list before suspecting your wiring.

News about this chip

2026-08-01MicroPython 1.25 firmware for all five chipsFresh .bin files, and the C6 build finally exposes the Wi-Fi 6 flags.
2026-07-20S3 boards stuck in download mode after IDE 2.3.4A USB CDC default flipped. Symptom is a board that uploads once and then vanishes from the port list.

Guides for this chip

76 of 81 apply

Written once for the whole family. Opening one from here fixes the pins to this chip and the code to your language.

01 · Start hereWhat the ESP32 is02 · Start hereChoosing your tools03 · Setup and uploadingInstall the toolchain04 · Setup and uploadingHello world over serial05 · Setup and uploadingBlink an LED06 · Setup and uploadingWhen uploads fail07 · Setup and uploadingSerial ports and drivers08 · Setup and uploadingPrinting, plotting and debugging09 · The board itselfThe EN and BOOT buttons10 · The board itselfThe pins you cannot use11 · The board itselfWhat the chip says about itself12 · Pins and signalsDigital I/O13 · Pins and signalsPWM with LEDC14 · Pins and signalsReading the ADC15 · Pins and signalsuse insteadDAC output16 · Pins and signalsTouch pins17 · Interrupts and timingInterrupts on a pin18 · Interrupts and timingSharing data with an ISR19 · Interrupts and timingHardware timers20 · Interrupts and timingCounting pulses21 · Interrupts and timingAddressable LEDs with RMT22 · Wires on the boardDigital in and digital out23 · Wires on the boardOne-wire sensor timing24 · Wires on the board1-Wire and device chains25 · Wires on the boardI2C, start to stop26 · Wires on the boardI2C addresses and conflicts27 · Wires on the boardI2C on a shared bus28 · Wires on the boardSPI and chip select29 · Wires on the boardUART, start to stop30 · Wires on the boardIR remote codes31 · BusesI2C32 · BusesSPI33 · BusesUART and baud rates34 · BusesRS485 and Modbus35 · StorageFilesystem on flash36 · StorageUploading files to LittleFS37 · StoragePreferences and NVS38 · StoragemicroSD cards39 · StoragePartition tables and flash size40 · Joining a networkWi-Fi station mode41 · Joining a networkAccess point mode42 · Joining a networkBoth at once: AP and station43 · Joining a networkSeveral networks, one board44 · Joining a networkWi-Fi provisioning45 · Joining a networkuse insteadWi-Fi 6 features46 · Living on a networkmDNS and NTP47 · Living on a networkKeeping time with time.h48 · Living on a networkHTTPS and certificates49 · Living on a networkOTA updates50 · Living on a networkEthernet instead of Wi-Fi51 · Web serverHello world from the board52 · Web serverA reading on the page53 · Web serverSwitching a pin from the page54 · Web serverAsync web server55 · Messages on the networkHTTP from a board56 · Messages on the networkMQTT and a broker57 · Messages on the networkWebSocket dashboards58 · Messages on the networkNames and time59 · Messages on the networkFirmware in two slots60 · BluetoothBLE server and client61 · BluetoothA value a phone can read62 · BluetoothA value a phone can write63 · Bluetoothuse insteadClassic Bluetooth serial64 · Other radiosESP-NOW65 · Other radiosESP-WIFI-MESH66 · Other radiosuse insteadZigbee, Thread and Matter67 · Other radiosLoRa for long range68 · Sleep and wake-upDeep sleep and wake sources69 · Sleep and wake-upHibernation, the floor below sleep70 · Sleep and wake-upWaking on a timer71 · Sleep and wake-upWaking on a pin or a touch72 · Sleep and wake-upWhat survives deep sleep73 · Sleep and wake-upThe ULP low-power core74 · PowerPower and the 3V3 rail75 · PowerBattery and power budget76 · PowerMeasuring current draw77 · SystemDual core tasks78 · SystemCrash dumps and the watchdog79 · SystemI2S audio80 · SystemCamera capture81 · Systemuse insteadMIPI displays
Modules that work with the ESP32-S3

Every module works. The TFT and camera lessons are written against this chip because of the PSRAM.

Browse the module index →