This guide walks you through building and flashing your first ESP32 project using the ESP-WROOM-32 DevKit and the official ESP-IDF framework on Windows.
What is the ESP32-WROOM-32?
The ESP32-WROOM-32 is a widely used Wi-Fi + Bluetooth SoC module from Espressif. It features:
- Dual-core LX6 CPUs at up to 240 MHz
- Built-in 2.4 GHz Wi-Fi and Bluetooth
- GPIOs, ADCs, SPI, I2C, UART
- Flash, PSRAM, and robust SDK support
It’s perfect for general-purpose IoT development and widely supported in the ESP-IDF ecosystem.
Prerequisites
- ESP-WROOM-32 DevKit board (USB Micro-B)
- Windows 10 or 11 (64-bit)
- ESP-IDF Tools Offline Installer v5.4.1
- Install ESP-IDF
- Download and run:
esp-idf-tools-setup-offline-5.4.1.exe
- Use the default install path:
C:\Espressif
- Select components:
ESP-IDF v5.4.1
Python, Git
Toolchain for ESP32
CMake and Ninja - Click Install and wait for setup to complete.
- Launch the ESP-IDF Command Prompt
From the Start Menu:
Start Menu > Espressif > ESP-IDF Command Prompt (v5.4.1)
This opens a terminal with all tools preconfigured (idf.py
, Python, Git, etc.).
- Create and Copy the Example Project
cd %USERPROFILE%
mkdir esp
cd esp
xcopy /E /I %IDF_PATH%\examples\get-started\hello_world hello_world
cd hello_world
- Set the Target Chip to ESP32
idf.py set-target esp32
This configures the project for the ESP32-WROOM-32 chip.
- Build the Firmware
idf.py build
This compiles the hello_world
project and generates the binary files.
- Flash the Board
- Plug in your ESP-WROOM-32 board using a Micro-USB cable
- Then flash the firmware:
idf.py flash
If only one ESP32 board is connected, idf.py
automatically detects the correct COM port. If you have multiple boards or want to be explicit, use:
idf.py -p COM7 flash
- Monitor Serial Output
idf.py monitor
Expected output:
Hello world!
This is esp32 chip with 2 CPU core(s), WiFi/BTBLE, silicon revision v3.0, 2MB external flash
Minimum free heap size: 305428 bytes
Restarting in 10 seconds...