Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Yes. You can build and run Zephyr firmware for supported ESP32-family targets without a physical board by using Espressif’s QEMU fork. It prints console output for workloads that use the parts of the chip the emulator models, but it cannot validate Wi-Fi, Bluetooth, or many real peripherals. The workflow below covers the documented ESP32, ESP32-S3, ESP32-C3, and ESP32-C6 targets.

What Zephyr’s ESP32 QEMU setup can—and cannot—test

Espressif’s fork adds ESP32-family machine models that are not included in the QEMU bundled with the Zephyr SDK or typical distribution packages. Install the Espressif build, rather than assuming an existing qemu-system-* binary can run ESP32 firmware. Zephyr documents QEMU board variants for ESP32, ESP32-S3, ESP32-C3, and ESP32-C6, though the available features differ by chip.

Emulation is useful for software bring-up and tests that rely on modeled functions such as boot, UART console output, flash, timers, eFuse, and selected cryptographic or other SoC blocks. It is not a substitute for checking the firmware on the physical device. Zephyr’s ESP32-DevKitC documentation describes the opt-in configuration this way: “The same firmware image can then be flashed to hardware (without that option) or run under QEMU.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Zephyr’s current per-chip documentation marks many features as unavailable in its QEMU variants, including Wi-Fi, Bluetooth, USB, general-purpose SPI, I2C, I2S, RMT, GPIO matrix/IOMUX, ADC/DAC, touch, MCPWM, pulse counter, ULP, and board GPIO keys. LEDC support is limited to ESP32; SD/MMC is not emulated on ESP32-S3. The ESP32-C6 page also lists omissions including TRNG and AES. Consult the ESP32-DevKitC and ESP32-S3-DevKitC feature tables for the target you intend to use; an application or driver test that needs an unavailable device will not run meaningfully in that variant.

#1 Best Overall
ESP-WROOM-32 ESP32 ESP-32S Development Board 2.4GHz Dual-Mode WiFi + Bluetooth Dual Cores Microcontroller Processor Integrated with Antenna RF AMP Filter AP STA Compatible with Arduino IDE (3PCS)
  • 2.4GHz Dual Mode WiFi + Bluetooth Development Board
  • Support LWIP protocol, Freertos
  • SupportThree Modes: AP, STA, and AP+STA
  • Ultra-Low power consumption, Compatible with Arduino IDE
  • ESP32 is a safe, reliable, and scalable to a variety of applications

Choose the test environment that matches your question

Environment What runs Best fit
unit_testing Test code and the Ztest harness as a host executable; the Zephyr kernel and driver model are not built. Isolated module logic. Provide stubs or mocks for external dependencies.
native_sim The full Zephyr OS, including kernel, devicetree, drivers, and subsystems, compiled into a host binary. Integration testing in a host environment when ESP32 SoC behavior is not the thing being tested.
Espressif QEMU ESP32-target firmware running against the SoC functions modeled by the Espressif machine. Target boot and supported core-block tests without a physical board.
Physical ESP32 hardware Firmware on the actual chip and attached peripherals. Wireless behavior and hardware, reset, or peripheral behavior outside the emulator model.

These options make different claims about your code. A passing host unit test says nothing by itself about the ESP32 boot path; a successful QEMU boot does not establish that Wi-Fi or an unmodeled driver works on a device. Zephyr’s board documentation also notes that its simulation: metadata was not wired for Twister at the time documented, so use the board’s west build -t run flow below rather than treating this as a stock qemu_* Twister simulation.

Install the matching Espressif QEMU binary

Begin with a functioning Zephyr west workspace and Zephyr SDK that can build your selected Espressif board. Install Espressif’s QEMU fork before configuring the Zephyr build. The target architecture determines which softmmu emulator you need:

Rank #2
ELEGOO 3PCS ESP-32 Dev Boards, ESP-WROOM-32, USB-C, WiFi Bluetooth 4.2
  • Dual-Core Performance Up to 240 MHz: Run sensor processing, wireless communication, automation logic and connected-device tasks on a 32-bit dual-core ESP32 platform designed for responsive embedded and IoT projects
  • Built-in Wi-Fi and Bluetooth 4.2: Connect to 2.4 GHz Wi-Fi networks or use Bluetooth Classic and BLE for wireless sensors, smart devices, remote controls, home automation and other connected projects
  • Flexible Power-Saving Modes: ESP32 power-management features support dynamic clock scaling and low-power operating modes, helping developers reduce energy use in compatible sensing, monitoring and connected-device applications, suitable for battery-powered Internet of Things (IoT) devices.
  • USB-C Programming with CP2102: Connect through USB-C for power, sketch uploads and serial monitoring, while GPIO, UART, SPI and I2C interfaces support sensors, displays, motor drivers and other modules (USB-C cable not included)
  • Over-the-Air Update Support: Configure OTA functionality through a compatible ESP-32 software framework to update deployed firmware over Wi-Fi without reconnecting the board by USB for every revision
Targets QEMU binary family
ESP32 and ESP32-S3 Xtensa: qemu-system-xtensa
ESP32-C3 and ESP32-C6 RISC-V: qemu-system-riscv32

The Xtensa and RISC-V packages are not interchangeable. If you install QEMU somewhere nonstandard or change its configured path, do so before configuring the Zephyr build; if the path changes later, rerun a pristine build so Zephyr can probe the intended binary again.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

There is a version caveat for ESP32-C6. Zephyr’s cited board documentation says C6 support had been merged in Espressif’s development branch but was not included in prebuilt release esp-develop-9.2.2-20260417. In that documented state, building the Espressif esp-develop branch was necessary for C6. Check the current Zephyr board page and Espressif releases before choosing a binary, as those release facts can change.

Rank #3
ELEGOO ESP-32 Super Starter Kit with Tutorial Compatible with Arduino IDE
  • Powerful ESP-32 Board: Unlock the world of Internet of Things (IoT) and advanced electronics with the heart of this kit: the ESP-32 board. It features a powerful dual-core processor, integrated Wi-Fi and Bluetooth 4.2, making it perfect for building connected, smart devices that communicate with your phone or the cloud. It's fully compatible with the Arduino IDE for easy programming.
  • Super Starter Kit: This kit contains over 35 different modules and electronic components, including sensors, displays, motors, and input devices. From LEDs and buttons to an OLED screen, servo motor, and keypad, you have everything needed to explore a vast range of projects in one box.
  • Step by Step Online Tutorial: Jump right in with our detailed, beginner-friendly tutorial. Access 30+ projects with complete code, clear circuit diagrams, and step-by-step instructions. Learn the fundamentals of electronics, coding, and how to utilize the ESP-32's unique capabilities without any prior experience.
  • Hands-on Learning for All Skill Levels: Perfect for students, makers, engineers, and hobbyists. Start with basic circuits and coding, then progress to intermediate and advanced IoT applications. Build practical projects like weather stations, smart home controllers, remote-controlled devices, and interactive gadgets. The skills you learn are the foundation for real-world innovation.
  • Quality & Great Support: Elegoo is committed to quality. We provide a clear, detailed tutorial guide, refined code, and a well-organized component kit. All modules are carefully selected for reliability and ease of use. Our dedicated technical support team and active online community are ready to help you succeed in your learning journey.

Build and run the Zephyr hello-world sample

For the ESP32-DevKitC QEMU board variant, from the root of a working Zephyr workspace, build and run the sample as follows:

west build -b esp32_devkitc/esp32/procpu/qemu 
  zephyr/samples/hello_world 
  -d build-qemu-esp32 --no-sysbuild --pristine
west build -d build-qemu-esp32 -t run
  1. Build for the QEMU board qualifier. The /qemu qualifier selects the documented emulation variant rather than the ordinary hardware configuration.
  2. Run the generated image. The board’s emulation platform wiring provides the run target; it starts the configured Espressif QEMU binary and presents the firmware’s console output in the terminal.

Another documented route is to build the hardware board name and enable QEMU with -DCONFIG_ESPRESSIF_QEMU=y after the west -- separator. This configuration creates the merged SPI flash image the emulator needs; for ESP32, the build also prepares an eFuse image. The same firmware configuration can therefore be built for emulation or, without that option, for the corresponding hardware board as described on the ESP32-DevKitC page.

Rank #4
ESP-WROOM-32 ESP32 ESP-32S Development Board 2.4GHz Dual-Mode WiFi + Bluetooth Dual Cores Microcontroller Processor Integrated with Antenna RF AMP Filter AP STA Compatible with Arduino IDE (1 PCS)
  • 2.4GHz Dual Mode WiFi + Bluetooth Development Board
  • Support LWIP protocol, Freertos;ESP32 is a safe, reliable, and scalable to a variety of applications
  • SupportThree Modes: AP, STA, and AP+STA
  • Ultra-Low power consumption, Compatible with Arduino IDE
  • 1PCS 30Pin ESP32 Development Board 2.4GHz WiFi Dual Cores Microcontroller Integrated with Antenna RF Low Noise Amplifiers Filters

Match the flash image size to the emulator

Espressif’s QEMU tutorial states that the emulator accepts SPI flash images padded to 2, 4, 8, or 16 MB. Zephyr’s merged image follows the size of the board’s zephyr,flash device-tree node, so the selected board or overlay must specify one of those supported sizes. A mismatch can prevent the emulator from accepting the image; check the board configuration and any overlay before changing the QEMU command.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Examples beyond hello world

Espressif’s tutorial documents more than a basic console boot. Its examples include:

Best Value
HiLetgo ESP-WROOM-32 ESP32 ESP-32S Development Board 2.4GHz Dual-Mode WiFi + Bluetooth Dual Cores Microcontroller Processor Integrated with Antenna RF AMP Filter AP STA for Arduino IDE
  • 2.4GHz Dual Mode WiFi + Bluetooth Development Board
  • Ultra-Low power consumption, works perfectly with the Arduino IDE
  • Support LWIP protocol, Freertos
  • SupportThree Modes: AP, STA, and AP+STA
  • ESP32 is a safe, reliable, and scalable to a variety of applications
  • Crypto samples and tests, plus Timer Group watchdog tests.
  • Memory-layout tests using both Simple Boot and MCUboot.
  • Clock-control API tests on several chips and retained-memory API tests.
  • Xtensa interrupt tests.
  • PSRAM tests on ESP32 and ESP32-S3 when QEMU is given a matching memory size.

These are examples of workloads documented for the emulator, not a guarantee that every Zephyr application or driver test is supported. Check whether each test’s dependencies appear in the selected SoC’s current emulation feature list.

When to move from QEMU to a board

Use QEMU while the question is about firmware startup, console output, or modeled chip blocks. Switch to a physical board when the result depends on Wi-Fi, Bluetooth, USB, a listed unmodeled peripheral, attached circuitry, or real-device behavior the emulator does not represent. QEMU removes the requirement for a board during those supported software tests; it does not remove the need for hardware validation of features beyond its model.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.