yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
ESP32 Core Board📖
1. ESP32 Introduction
  • 1. ESP32S3 Overview
  • 2. Environment Setup Introduction
  • 3. Dev Board Introduction
2. ESP-IDF Development Tutorial
1. Before Development
  • 1. Environment Setup (Windows)
  • 2. Environment Setup (Linux)
  • 3. Build and Flash
2. Basic Peripherals
  • 1. LED Control
  • 2. Button Detection
  • 3. Peripheral Interrupts
  • 4. ESP_TIMER
  • 5. GPTIMER
  • 6. Watchdog Timer
  • 7. DMA
  • 8. ADC
  • 9. PWM Breathing LED
  • 10. RGB LED Effects
3. Serial Communication and Storage System
  • 1. Serial UART Communication Experiment
  • 2. I2C_OLED Display Experiment
  • 3. SPI Bus Communication Experiment
  • 4. PSRAM External Memory Experiment
  • 5. Flash Read and Write Experiment
  • 6. USB Emulated Mass Storage Experiment
4. FreeRTOS operating system
  • 1.FreeRTOS Core Concepts Theory
  • 2.Task Creation and Management
  • 3.Queue
  • 4.Binary Semaphore
  • 5.Mutex
  • 6.Event Groups
  • 7.Software Timer
  • 8.Task Scheduler
  • 9.Low Power Mode
  • 10.Deadlock
  • 11.Priority Inversion
5. Network Protocols and Wireless Communication
  • 1. WIFI Network Basics
  • 2. WIFI STA Mode
  • 3. WIFI AP Mode
  • 4. UDP Client Experiment
  • 5. UDP Server Experiment
  • 6. TCP Client Experiment
  • 7. TCP Server Experiment
  • 8. Socket Programming Basics
  • 9. HTTP Client Experiment
  • 10. HTTP Server Experiment
  • 11. MQTT IoT Communication Protocol
  • 12. WIFI OTA Upgrade
  • 13. Bluetooth Fundamentals
  • 14. Bluetooth Slave Mode
  • 15. Bluetooth Master Mode
6. Audio Applications
  • 1.I2S Microphone Recording and U-Disk Playback
  • 2.I2S Audio Playback Experiment
  • 3.Repeater Experiment
7. Xiaozhi AI Voice
  • 1. Burn Xiaozhi Firmware
  • 2. Network and Configuration
  • 3. AI Agent Settings
  • 4. Program Analysis
  • 5. Free Chat
3. Arduino Development Course
1. Before Development
  • 1. Environment Setup
  • 2. Build and Flash
2. Basic Peripherals
  • 1. LED Control
  • 2. Button Detection
  • 3. Peripheral Interrupts
  • 4. ESP_TIMER
  • 5. GPTIMER
  • 6. Watchdog Timer
  • 7. ADC
  • 8. PWM Breathing LED
  • 9. RGB LED Effects
3. Serial Communication and Storage System
  • 1. Serial UART Communication
  • 2. I2C OLED Display
  • 3. SPI Bus Communication
  • 4. Flash Read and Write
  • 5. USB Emulated Mass Storage
4. Network Protocols and Wireless Communication
  • 1. WIFI Network Basics
  • 2. WIFI STA Mode
  • 3. WIFI AP Mode
  • 4. UDP Server Experiment
  • 5. UDP Client Experiment
  • 6. TCP Client Experiment
  • 7. TCP Server Experiment
  • 8. HTTP Client Experiment
  • 9. HTTP Server Experiment
  • 10. MQTT IoT Communication Protocol
  • 11. WIFI OTA Upgrade
  • 12. Bluetooth Fundamentals
  • 13. Bluetooth Slave Mode
  • 14. Bluetooth Master Mode
5. Audio Applications
  • 1.I2S Microphone Recording and U-Disk Playback
  • 2.I2S Audio Playback Experiment
  • 3.Repeater Experiment
4. MicroPython Development Course
1. Before Development
  • 1. Environment Setup
  • 2. Build and Flash
  • 3. Thonny IDE
2. Basic Peripherals
  • 1. LED Control
  • 2. Button Detection
  • 3. Peripheral Interrupts
  • 4. TIMER_IT
  • 5. Watchdog Timer
  • 6. ADC
  • 7. PWM Breathing LED
  • 8. RGB LED Effects
3. Serial Communication and Storage System
  • 1. Serial UART Communication Experiment
  • 2. I2C_OLED Display Experiment
  • 3. SPI Bus Communication Experiment
  • 4. Flash Read and Write Experiment
  • 5. Print Storage
4. Network Protocols and Wireless Communication
  • 1. WIFI Network Basics
  • 2. WIFI STA Mode
  • 3. WIFI AP Mode
  • 4. UDP Client Experiment
  • 5. UDP Server Experiment
  • 6. TCP Client Experiment
  • 7. TCP Server Experiment
  • 8. HTTP Client Experiment
  • 9. HTTP Server Experiment
  • 10. MQTT
  • 11. Bluetooth Fundamentals
  • 12. Bluetooth Slave Mode
  • 13. Bluetooth Master Mode
5. Audio Applications
  • 1. I2S Audio Playback Experiment
  • 2. Repeater Experiment
Download
  • Code
  • Hardware_Info
  • 3D_Model_File
  • Software_Tools
  • VMware
  • VM_File
Download ZIP

Welcome to ESP32 Core Board repository

1. Environment Setup (Windows)

Windows Environment Setup — VSCode + ESP-IDF 6.0.2


Windows Environment Setup — VSCode + ESP-IDF 6.0.21. Overview2. Prerequisites2.1 Hardware Requirements2.2 Downloads Required3. Install CH340 Driver3.1 Check if Driver is Already Installed3.2 Download Driver3.3 Installation Steps3.4 Verification4. Install VSCode5. Install ESP-IDF Extension + EIM5.1 Install ESP-IDF Extension5.2 Launch EIM Installer Through Extension6. Open Example and Create Your First Project6.1 Open the Official hello_world Example6.2 Create a Project6.3 Project File Structure6.4 Set Target Chip7. Build, Flash, and Monitor7.1 Connect Hardware7.2 Select Serial Port7.3 Build7.4 Flash7.5 Serial Monitor8. Troubleshooting


1. Overview

ESP-IDF (Espressif IoT Development Framework) is the official development framework provided by Espressif for ESP32 series chips. It is based on FreeRTOS and includes drivers, protocol stacks, build systems, and toolchains.

This tutorial sets up the ESP32-S3 development environment on Windows, consisting of two steps:

  1. Install ESP-IDF framework — Install v6.0.2 online via EIM (ESP-IDF Installation Manager)

  2. Install VSCode extension — Enable VSCode to detect the installed ESP-IDF and provide GUI-based compilation/flashing/monitoring

ESP-IDF v6.0+ uses EIM uniformly as the installer. Whether using GUI mode or command-line mode, EIM handles the downloading and management of the framework and toolchains under the hood. The VSCode extension also has built-in EIM entry points.


2. Prerequisites

2.1 Hardware Requirements

ItemRequirement
Operating SystemWindows 10 / 11 (64-bit)
Disk Space≥ 13 GB (ESP-IDF framework + toolchain ~3~4 GB + GitHub repositories)
Memory≥ 8 GB
USB InterfaceAt least 1 USB-A / USB-C (for connecting the development board)
NetworkMust access GitHub (to download toolchains and framework)

2.2 Downloads Required

FileDescriptionDownload Address
VSCode InstallerVisual Studio Code (skip if already installed)VSCode Download Page

ESP-IDF framework and toolchains do not need manual download — EIM pulls and installs them automatically online.


3. Install CH340 Driver

The ESP32-S3 development board communicates with the computer via a USB-to-serial chip. Most development boards use the CH340 series chip, but Windows does not include its driver by default, so manual installation is required.

3.1 Check if Driver is Already Installed

  1. Connect the development board to your computer using a USB data cable

  2. Right-click Start Menu → Device Manager → Expand Ports (COM & LPT)

  3. Observe the list:

PhenomenonStatusAction
COMx appears (no exclamation mark)Driver readySkip this section
Device with yellow exclamation markDriver missingContinue installation
No new device appearsUSB cable / port issueReplace data cable or USB port

3.2 Download Driver

WCH Official Download Page → Download the latest version CH340SER.EXE (compatible with CH340 series).

You can also search for "WCH CH340 driver" to access the official website. The development board in this tutorial uses CH340K, and the installer is approximately 300KB.

3.3 Installation Steps

  1. Double-click CH341SER.EXE

  2. Click INSTALL

  3. After installation completes, you will see "Driver install success!"

  4. Re-plug the development board's USB cable

3.4 Verification

Go back to Device Manager → Ports (COM & LPT), and you should see:

xxxxxxxxxx
USB-SERIAL CH340 (COM3)

Note down the port number (e.g., COM3), as you will need to select it during compilation and flashing.


4. Install VSCode

If VSCode is already installed, skip to Chapter 4.

  1. Double-click VSCodeUserSetup-x64-1.130.0.exe

  2. Check "I accept the agreement" and click "Next".

  3. Click "Browse" to select your installation path, then click Next.

  4. Click "Next".

  5. Check additional shortcuts, then click "Next".

  6. Click "Install".

  7. After installation completes, click "Finish".

  8. Launch VSCode


5. Install ESP-IDF Extension + EIM

5.1 Install ESP-IDF Extension

  1. Open VSCode

  2. Click the Extensions icon on the left sidebar (or Ctrl + Shift + X)

    Extensions图标

  3. Search for "ESP-IDF"

  4. Select "Espressif IDF" (publisher: Espressif) and click Install

    After installation, the ESP-IDF icon will appear in the left activity bar.

    下载ESP插件

  5. Download the following plugin the same way.

5.2 Launch EIM Installer Through Extension

The ESP-IDF extension has a built-in entry point for EIM (ESP-IDF Installation Manager):

  1. Open the ESP-IDF Installation Manager using the ESP-IDF pluginESP-IDF插件图标.

  2. Select GitHub, and the extension will start downloading and launching the EIM installer interface

    image-20260723165036939

    image-20260723165108407

  3. Use the EIM GUI to install ESP-IDF v6.0.2. We will choose Custom Installation

  4. After entering, Prerequisites Check and Python Sanity Check will run. Once completed, you can Select Target.

  5. Select IDF version.

    If you find a newer version is available, you can select Show old stable versions to check historical stable versions.

  6. Select Mirror

  7. Select Features

  8. Select Tools

  9. Select installation path

  10. Then install and wait for the installation to complete.

image-20260723170717557


6. Open Example and Create Your First Project

6.1 Open the Official hello_world Example

  1. Select File → Open Folder

  2. Navigate to the ESP-IDF installation folder (espidf) → 6.0.2 → esp-idf → examples → get-started → hello_world

  3. We can see the project architecture/file structure

    Hello_world框架

6.2 Create a Project

  1. Click theimage-20260723190648046 in the bottom left corner to select the corresponding ESP-IDF environment.

image-20260723190755434

  1. Open the ESP-IDF Installation Manager using the ESP-IDF pluginESP-IDF插件图标, and select New Project Wizard.

  1. Select the corresponding ESP-IDF environment.

image-20260723184257539

  1. Select template.

    ①ESP-IDF Examples are ready-to-use Demos for learning and referencing functional code. They focus on single-function demonstrations and serve as references for how to use a particular peripheral/protocol. ②ESP-IDF Templates are blank standardized project scaffolds for creating new formal projects, providing the most basic and standardized project skeleton without business functionality. (This document primarily focuses on creating blank templates)

选择模板(实例or模板)

  1. Create a New Project.

  1. Configure the new project settings ①Project Name

    ②Enter Project directory

    ③Choose ESP-IDF Target (IDF_TARGET)

    ④Choose ESP-IDF Board

    ⑤Choose serial port

6.3 Project File Structure

xxxxxxxxxx
blink/
├── CMakeLists.txt          # Top-level build file
├── main/
│   ├── CMakeLists.txt      # main component build file
│   └── blink_example_main.c
├── sdkconfig               # Project configuration (generated by Kconfig)
└── ...

6.4 Set Target Chip

Click the芯片配置 in the bottom toolbar → Select esp32s3

ESP-IDF will regenerate sdkconfig to adapt to ESP32-S3.


7. Build, Flash, and Monitor

7.1 Connect Hardware

  1. Connect the ESP32-S3 development board to your computer using a USB data cable

  2. Open Device Manager → Expand Ports (COM & LPT)

  3. Confirm a new serial port appears (e.g., COM3) and remember the port number

    Common USB-to-Serial ChipsDriver Source
    CP2102 / CP2104Silicon Labs CP210x driver
    CH340 / CH343WCH official driver
    CH9102WCH official driver
    FT232FTDI driver

    If a yellow exclamation mark appears, install the corresponding driver.

7.2 Select Serial Port

Click the serial port selection area on VSCode's bottom status bar → Select the corresponding COM port.

The bottom status bar should display:

xxxxxxxxxx
[ESP-IDF]  esp32s3  |  COM3  |  ...

7.3 Build

Click the BuildBuild icon on the bottom toolbar.

Initial build takes approximately 2~5 minutes, while incremental builds take only a few seconds. The end of the output should display:

xxxxxxxxxx
Project build complete.

7.4 Flash

Click the Flash Flash icon on the bottom toolbar.

After flashing completes, the chip will automatically reset and the program will start running.

7.5 Serial Monitor

Click the 串口Monitor icon on the bottom toolbar.

You can view the chip's serial log output in the OUTPUT panel.

One-Click Operation: The 一键编译烧录串口 Build, Flash and Monitor icon on the bottom toolbar can sequentially complete build + flash + monitor.


8. Troubleshooting

PhenomenonCauseSolution
EIM fails to download toolchainGitHub network instabilitySelect Espressif China mirror in EIM Custom Installation
EIM download is slowLimited domestic access to GitHubSame as above, switch to domestic mirror
VSCode extension cannot detect ESP-IDFeim_idf.json path abnormalCheck if C:\Espressif\tools\eim_idf.json exists; or manually press F1 → ESP-IDF: Select Current ESP-IDF Version
idf.py command not availableNot running in EIM terminalUse F1 → ESP-IDF: Open ESP-IDF Terminal or EIM's Open IDF Terminal
Build error "Python not found"System Python conflicts with IDF PythonRun in EIM terminal, do not use system PowerShell
Flash failure "Timed out waiting for packet header"Chip not in download modeHold BOOT button → Press EN button once → Release BOOT
Flash failure "Invalid head of packet"Serial baud rate or driver issueLower baud rate (idf.py flash -b 115200)
No serial port in Device ManagerUSB driver missingInstall CH340 / CP2102 driver
COM port occupiedOther terminal programs not closedClose serial assistant / other VSCode Monitor sessions
Build failure "CMake Error"ESP-IDF environment variables not loadedReopen EIM terminal, do not use regular terminal

Dev Board Introduction
Environment Setup (Linux)

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文