Skip to content

Flash a physical device

Physical flashing is available for ESP32, ESP32-C3, and ESP32-S3 Arduino projects in current desktop versions of Chrome and Microsoft Edge. The browser must open Instant Command through HTTPS or localhost.

  1. Press Flash in the editor header. Matching cached firmware is reused. If a build is needed, choose Build firmware in the window; simulation does not need to run.
  2. Connect the board and choose Select device, or select a previously authorized port. The browser owns the permission prompt. Identifying the chip temporarily stops its current application.
  3. Review Confirm your device. The window shows the detected chip, serial port and suggested generic board profile. The USB adapter cannot identify an exact board model.
  4. Under Advanced: change board and upload options, you can select a board profile manually. If the project targets another chip, use Use this board for the project and rebuild, build the firmware, and select the device again. An unsupported chip or known mismatch cannot be forced through.
  5. Press Confirm device and flash. Keep the board connected while the selected regions are written, verified and reset.

Stored settings and filesystem files are preserved by default. If the build contains a data/ folder, choose Replace the device filesystem to upload it; this deletes existing files in that partition. The advanced Erase all device data option also deletes settings and credentials. A different or unrecognized partition layout requires that explicit erase choice, or firmware matching the existing layout. Uploading replaces the bootloader, partition table, OTA selection and first application.

The default upload speed is 115,200 baud. Advanced connection settings offer faster speeds with an automatic fallback. Close other applications’ serial monitors before connecting. Device diagnostics can be expanded and downloaded from the window.

After a successful upload, expand Physical device serial monitor, select the baud rate used by Serial.begin(), and choose Open serial monitor. You can inspect output and send text with a selected line ending. Press the board’s RESET button to capture startup output.

Instant Command reuses an authorized serial device when the browser makes it available. When several authorized devices are connected, choose one inside the flash window. Device and board controls do not remain in the editor after the window closes. Closing before uploading restarts the existing application. Stop upload releases an interrupted upload; reconnect and flash again before using a board that may contain incomplete firmware.

If Instant Command cannot enter the bootloader automatically, hold the board’s BOOT button, press RESET, and try again. A target mismatch, disconnected cable, denied permission, invalid firmware manifest, or failed verification stops the process and leaves an actionable message in the same window.

Firefox and Safari do not currently expose the Web Serial API required by this release. Builds use the existing cloud compiler when needed; USB access and device writes stay in your browser.