# ESP32 web IDE: compile and flash ESP32 in the browser

> Write, compile and flash ESP32 code in the browser. Soldr writes the sketch for your wiring, compiles it for the ESP32 core and flashes it from Chrome or Edge.

[HTML version](https://soldr.ai/esp32-web-ide)

[Soldr](https://soldr.ai/) / Tools

Soldr is a web IDE for the ESP32: the sketch is written for your build, compiled on our server for the ESP32 core, and flashed over USB from Chrome or Edge, with a Serial Monitor in the same tab.

[Start this build on Soldr](https://app.soldr.ai/?prompt=I%20want%20to%20build%20an%20ESP32%20that%20shows%20temperature%20and%20humidity%20from%20a%20DHT22%20on%20a%20web%20page)

## What it does

- Writes ESP32 code for the parts and pins in your build, avoiding the pins that are unsafe at boot.
- Compiles on our server for the ESP32 core.
- Flashes the ESP32 over USB from Chrome or Edge.
- Shows serial output in the same tab.

## Flashing

Flashing runs from Chrome or Edge on a desktop or laptop. ESP32 boards, the Arduino Uno, Mega and Nano flash over USB through the browser (a Nano with the new bootloader may need the Arduino IDE). A Raspberry Pi Pico flashes from Chrome or Edge in two presses: the first restarts it into its bootloader, the second writes the file; in other browsers you get one file to drop onto the board. Boards that use a CP2102 or CH340 USB chip may need a one-time USB driver. For any other board, download the sketch and upload it from the Arduino IDE or PlatformIO.

## Parts that exist

Every part Soldr picks is one Compoden stocks, shown In Stock with its price. Buy all puts every part in one Compoden cart, shipped across India; COD if checkout offers it for your order.
For example an [ESP32 DevKitC](https://compoden.com/products/esp32-devkitc-development-board-black-wifi-bluetooth-module) and a [DHT22](https://compoden.com/products/dht22-temperature-humidity-sensor-module-accurate-readings).

## What Soldr checks before it writes code

- **Free, safe pins:** no part on a pin the board needs to boot, on an input-only pin, or on a pin already in use. When the board runs out, it says which part has no pin.
- **Shared buses:** two I2C parts at the same address are told apart (an address pin tied high, for example).
- **Logic levels:** a 5 V part on a 3.3 V board gets a divider or a level shifter, or a note.
- **Power:** what every part draws against what the supply and the board's pins can give, including a servo's start-up peak; an adjustable converter comes with the voltage to set it to before you connect it.
- **Your own parts:** tell it what you already own and the build uses them instead of adding new ones.
The details are in [Wiring & pins](https://soldr.ai/docs/wiring-and-pins).

## What it costs

Questions are free. Generated code costs credits, priced by the size of what is written, and a compile costs 5 credits. Sign in and get 100 credits free.

## Questions

### Which ESP32 boards flash from the browser?

Common ESP32 boards, including the DevKit, S3 and C3, flash from Chrome or Edge on a desktop.

### Is there a serial monitor?

Yes, in the Firmware tab, next to the code.

### Do I need a driver?

Boards with a CP2102 or CH340 USB chip may need a one-time USB driver.

### Is it free?

Questions are free; code and compiles cost credits. Sign in and get 100 credits free.
