ESP32 guides
Task guides for the Espressif boards: ESP32-S3-DevKitC-1 identification, revisions, storage-occupied pins and first flash; ESP32-DevKitC V4 bring-up.
Guides for the Espressif boards on this site. The facts here come from the pinned Espressif documentation snapshots — the same sources every published field on the board pages cites.
- Which ESP32-S3-DevKitC-1 do I have? — chip vs module vs board vs SKU vs PCB revision, and what to do when you cannot tell.
- Why the onboard LED is GPIO38 or GPIO48 — the revision that moved the addressable RGB LED, and how to drive it.
- Can I use GPIO35, GPIO36 and GPIO37? — a condition on the module's memory, not a blanket ban.
- First connection, flashing and LED troubleshooting — two USB ports, the charging-cable trap, download mode, and the LED failure checklist in order.
- ESP32-DevKitC V4 — first connection and flash — the classic ESP32 board: one USB port, no user LED, the C15 trap.
- ESP32-C3-DevKitM-1 or ESP32-C6-DevKitC-1 — which one? — radio generation, USB ports and flash, in one decision table.
- First flash on C3/C6 — and which USB port to use — the cable trap, download mode, and the C6's two Type-C ports with different roles.
- Choosing an ESP32-DevKitC module — WROOM vs WROVER (PSRAM and its GPIO16/17 cost), E vs UE/IE (antenna).
- Nano ESP32 pin numbering — the silkscreen Dn/An vs the chip's GPIO numbers, and the IDE switch between them.
- XIAO ESP32C3 or ESP32-C3-DevKitM-1 — which one? — same ESP32-C3 chip, two forms: one native-USB Type-C vs a micro-USB bridge with the native pins on J3.
- ESP32-S3-Zero or Arduino Nano ESP32 — which one? — download paths, the RGB vs D13 LED, and GP silk vs Dn/An numbering.
- Arduino UNO R4 WiFi — which MCU, and what voltage? — the RA4M1 (not an ESP32 and not an RA6M5), the ESP32-S3 co-processor, and the 5 V/3.3 V domains.
- ESP32-C6-DevKitM-1 or DevKitC-1 — which one? — MINI-1 vs WROOM-1 modules, 30 vs 32 contacts, board size.
Sections
- ESP32 guides
Task guides for the Espressif boards: ESP32-S3-DevKitC-1 identification, revisions, storage-occupied pins and first flash; ESP32-DevKitC V4 bring-up.
Guides
- Which ESP32-S3-DevKitC-1 do I have?
Five different things are called an ESP32-S3: chip, module, board, sales SKU and PCB revision. How to tell them apart, and what to do when you cannot.
- ESP32-S3-DevKitC-1 RGB LED: GPIO38 vs GPIO48
Two ESP32-S3-DevKitC-1 revisions are on the market and they moved the addressable RGB LED. Which pin yours is on, how to drive it, and what the documentation does not say.
- ESP32-S3-DevKitC-1: can I use GPIO35, GPIO36 and GPIO37?
Depends on which module your ESP32-S3-DevKitC-1 carries. The condition, how to check your board, and why some tutorials ban these pins outright.
- ESP32-S3-DevKitC-1: first flash and LED troubleshooting
Two USB ports, one charging-cable trap, a download mode, and why the first blink sketch may not light the LED — the ESP32-S3-DevKitC-1 bring-up path in order.
- ESP32-DevKitC V4 — first connection and flash
The classic ESP32 board's bring-up path: one USB port, one boot mode, no user LED to blink — what to check before flashing and where the V4 traps are.
- ESP32-C3-DevKitM-1 or ESP32-C6-DevKitC-1 — which one?
Both are Espressif entry boards; the difference is the radio generation (Wi-Fi 4 + BLE vs Wi-Fi 6 + BLE 5 + 802.15.4), the USB story (one bridge port vs two Type-C ports with different roles) and flash. A decision table with sources.
- First flash on C3/C6 — and which USB port to use
The bring-up path for ESP32-C3-DevKitM-1 and ESP32-C6-DevKitC-1: the charging-cable trap, download mode, and the C6's two Type-C ports that look identical but do different jobs.
- Seeed XIAO ESP32C3 vs ESP32-C3-DevKitM-1 — thumb-size carrier or 30-pin dev board?
Both run the same ESP32-C3 RISC-V chip, but they wire USB very differently: the XIAO's one Type-C goes straight to the chip's native USB Serial/JTAG, while the DevKitM-1's micro-USB sits behind a USB-to-UART bridge and the native USB D-/D+ (GPIO18/19) is only on header pins J3-13/J3-14. A comparison table with sources.
- Waveshare ESP32-S3-Zero vs Arduino Nano ESP32 — two S3 boards, two philosophies
Both run the ESP32-S3, but the S3-Zero is a bare castellated module with GPIO-numbered silk, a WS2812 on GPIO21 and a BOOT-to-download flow, while the Nano ESP32 is a u-blox NORA-W106 board with D0-D13/A0-A7 silk, factory USB flashing and a double-tap bootloader. A comparison with sources.
- Arduino UNO R4 WiFi — which MCU is it really, and what voltage do the pins run at?
The main microcontroller is the Renesas RA4M1 (Cortex-M4 48 MHz with FPU), not an ESP32: a soldered ESP32-S3-MINI-1-N8 only serves Wi-Fi/BLE at 3.3 V behind a level translator. Board logic is 5 V, VIN is 6-24 V, GPIOs handle 8 mA. Sources from the pinned Arduino datasheet.
- ESP32-C6-DevKitM-1 vs ESP32-C6-DevKitC-1 — MIni module or WROOM, 30 or 32 pins
Same chip, same two-Type-C USB story, different module: the DevKitM-1 carries the ESP32-C6-MINI-1 (4 MB flash in the chip package) on 30 contacts; the DevKitC-1 carries the ESP32-C6-WROOM-1 (8 MB module flash) on 32 contacts. Verified against both pinned user guides.
- Adafruit Feather ESP32-S3 — which SKU to buy: 5323 vs 5477 vs 5885
One PCB, three listings: 5323 is 8 MB flash without PSRAM, 5477 trades down to 4 MB flash but adds 2 MB PSRAM, 5885 is 8 MB flash without PSRAM plus a w.FL connector for an external antenna. Same pinout. How to choose. (Prices are not reproduced here — they drift; check the Adafruit product pages for 5323/5477/5885.)
- M5Stack AtomS3 — the three GPIO groups: exposed, shared with the IMU, and taken by the screen
AtomS3 GPIO budget in three groups: G5-G8 and port G1/G2 are exclusively free; G38/G39 are edge pads that double as the MPU6886 I2C bus (IO38=SDA, IO39=SCL); six GPIOs belong to the GC9107 LCD. With pad orders from the official PinMap.
- LOLIN C3 mini vs Seeed XIAO ESP32C3 — two tiny ESP32-C3 boards, different USB and boot stories
Both carry the ESP32-C3 in a thumb-size footprint, but the C3 mini is a 34.3 x 25.4 mm D1-mini-shield board with a PCB antenna and a Button-9 + Reset download sequence, while the XIAO ESP32C3 is 21 x 17.8 mm, requires its bundled U.FL antenna and has strapping pads D0/D8/D9 plus the D6 boot-log quirk. USB and boot comparison with sources.
- Choosing an ESP32-DevKitC module — WROOM vs WROVER, E vs UE/IE
Two decisions pick the module for an ESP32-DevKitC build: do you need PSRAM (WROVER, and its GPIO16/17 cost), and do you need an external antenna connector (UE/IE). Facts from the pinned guide and MCUID module data.
- Nano ESP32 pin numbering — the silkscreen Dn vs the chip's GPIO
On the Arduino Nano ESP32 the number you write in code is not the ESP32-S3 GPIO number by default: pinMode(2) targets the pin labelled D2, which is GPIO5. How the two schemes differ and the IDE switch that selects between them.