Overview Version History Q & A Rating & Review
ESP32 Studio
Current version: 1.0.4
A focused VS Code toolbox for common ESP32 binary workflows:
NVS partition generation
Combine multiple .bin images into one
Advanced (batch export) presets for repeatable builds
Chinese README is included as README_CN.md in this project.
🌟 Features
ESP32 Studio groups 3 tools into a single panel container, so you can stay inside VS Code while preparing firmware artifacts.
NVS Tool : generate an NVS partition binary using Python tooling
Combine Bin : combine multiple binaries into one image
Advanced Bin : batch export / reusable presets for repeatable packaging
🚀 Getting Started
Step 1: Install Python
Python 3.x available in PATH
The extension uses the pythonPath set in the panel (default: python)
Verify:
Step 2: Install Required Python Modules
Required:
esptool
esp_idf_nvs_partition_gen
Install:
python -m pip install --upgrade "esptool>=5.2.0"
python -m pip install --upgrade esp-idf-nvs-partition-gen
If esp-idf-nvs-partition-gen fails to install (some environments require installing from the Git repo), make sure git is installed and available in PATH, then run:
python -m pip install --upgrade "esp-idf-nvs-partition-gen @ git+https://github.com/espressif/esp-idf-nvs-partition-gen.git"
Verify:
python -m esptool version
python -m esp_idf_nvs_partition_gen --help
Notes:
Combine Bin flashing now uses the saved target offset instead of blindly writing to 0x0, so esptool 5.2.0+ is recommended.
When Secure Boot is detected, the extension blocks writes that overlap the protected boot area by default.
If you are doing recovery work and intentionally need to override that guard, set ESP32_STUDIO_FLASH_FORCE_WRITE=1.
Step 3: Open ESP32 Studio Panel
Use the status bar:
Click the ESPSTUDIO icon to open the ESP32 Studio panel container.
Or open Command Palette and run:
Notes:
The panel view order is Combine → NVS → Advanced .
ESP32 Studio: Open Panel focuses the Combine view by default.
📋 Commands
Open the Command Palette and run:
ESP32 Studio: Open Panel
ESP32 Studio: Open NVS Tool
ESP32 Studio: Open Combine Bin
ESP32 Studio: Open Advanced Bin
Also available:
ESP32 Studio: Add Selection As Variable
ESP32 Studio: Select Language
ESP32 Studio: Flash as Combine Bin
ESP32 Studio: Set as Advanced Source Bin / 设为 Advanced 源 Bin
⚙️ Project Configuration
Project settings are stored in the workspace root:
Backward compatibility:
Older versions may have used .vscode/esp32_studio.json (read-only fallback).
Notes:
NVS entries can contain plain-text values. Do not commit secrets.
This config file is ignored by Git.
🐛 Common Issues
"python not found" : set a valid pythonPath in the panel or fix PATH.
Missing module esptool : install esptool (see Getting Started).
Missing module esp_idf_nvs_partition_gen : install esp-idf-nvs-partition-gen.
Serial connection failed : check port, baud, cable, and device permissions.
Secure Boot flashing blocked : confirm you are not writing into the protected boot region, or use the override only for deliberate recovery.
📝 Changelog
See CHANGELOG.md .
💰 Support / Donate
If this extension helps your daily ESP32 workflow, you can support ongoing maintenance and updates: