← Hardware projects

ESP32 Board Builder

Program an ESP32 or ESP8266 dev board right from your browser. Drop parts on the board, drag wires to its pins, and flash it over USB with MicroPython. Your WiFi password never leaves this page.

Drag from a part's pin to a board pin (or tap one, then the other). Drag a part to move it. Grey pins are power. Now pick a board pin. Faded pins don't fit. Esc cancels.

secrets.py
Your edits are kept, but the builder has newer code for this file.
Edited by you. Changing the wiring won't overwrite it.

Add a part to see how to wire it.

No problems. Plug in your board and hit Program.

Live values

Readings and button presses show up here once the board is running. Turn on Debug mode in Build settings to also see raw pin changes.


                    

Program an ESP32 in four steps

  1. Step 1

    Pick your board

    Choose your ESP32, ESP8266, S3 or C3 dev board. Every pin is mapped, with the ones to avoid marked.

  2. Step 2

    Drop in parts

    Drag sensors, buttons, relays, LEDs and servos onto it and drag a wire from each part to a pin. Bad pins get flagged before anything is flashed.

  3. Step 3

    Set it up

    Change read intervals and thresholds, link parts together, and turn on WiFi, MQTT, Home Assistant or a mesh with the setup wizard.

  4. Step 4

    Program it

    Plug the board in over USB and click Program. MicroPython gets installed if needed, your code is uploaded, and the live console shows what it is doing.

Supported dev boards

  • ESP32 DevKit V1 (30 pin) ESP32

    The common DOIT ESP32 board. CP2102 or CH340 USB serial, blue LED on GPIO2.

  • NodeMCU v1.0 (ESP8266) ESP8266

    ESP-12E board with D0-D8 labels. One analog pin (A0), LED on D4.

  • Wemos D1 Mini (ESP8266) ESP8266

    Small ESP8266 board. Same D-pin numbers as the NodeMCU.

  • ESP32-S3-DevKitC-1 ESP32-S3

    Espressif S3 board with two USB ports. Flash through the UART port. GPIO35-37 are left off, they belong to the PSRAM on most versions.

  • ESP32-C3 SuperMini ESP32-C3

    Tiny C3 board with native USB. Blue LED on GPIO8 (on when low), BOOT button on GPIO9.

Sensors and parts you can wire up

  • 💡 LED - An LED that stays on, stays off or blinks.
  • 🔘 Push button - Reports pressed / released. Uses the built-in pull-up, no resistor needed.
  • 🔌 Relay - Switches a relay on, off, or when another value goes above or below a limit.
  • 🌡️ DHT22 / DHT11 - Temperature and humidity.
  • 🌡️ DS18B20 temperature - Waterproof one-wire temperature probe. Several can share one pin.
  • 🪴 Soil moisture (capacitive) - Capacitive soil probe, reported as 0-100%.
  • ☀️ Light sensor (LDR) - Photoresistor module, reported as 0-100% brightness.
  • 🚶 PIR motion sensor - HC-SR501 / AM312 motion sensor. Reports motion true / false.
  • 📏 HC-SR04 distance - Ultrasonic distance in cm, 2-400 cm.
  • 🔊 Passive buzzer - Beeps at startup, or while another value is true.
  • ⚙️ Servo (SG90) - Hobby servo. Holds an angle or sweeps back and forth.

New parts are added all the time. Missing one you need? Tell me.

Questions

Can I program an ESP32 from my browser?+

Yes. In Chrome or Edge on a computer, plug the board in with a USB data cable and click Connect. The builder reads the chip, installs MicroPython if it is missing, and uploads your code over Web Serial. Nothing to install.

Which dev boards does it support?+

ESP32, ESP32-S2, ESP32-S3, ESP32-C3 and ESP8266 boards, with ready pin maps for ESP32 DevKit V1 (30 pin), NodeMCU v1.0 (ESP8266), Wemos D1 Mini (ESP8266), ESP32-S3-DevKitC-1 and ESP32-C3 SuperMini. Other boards with the same chips work too, pick the closest one.

What language does the code use?+

MicroPython. The builder writes main.py, a commented config.py and a small helper library, and you can edit any of it in the built-in code editor before you program the board.

Does it work with Home Assistant and MQTT?+

Yes. The setup wizard turns on WiFi, MQTT and Home Assistant MQTT discovery, so your sensors show up in Home Assistant on their own. Boards out of WiFi range can join an ESP-NOW mesh and send through a gateway board.

Is my WiFi password sent to TurtleBytes?+

No. Passwords go straight from the page to your board in secrets.py. They are not saved or sent to the server.

Is it free?+

Yes. An account is only needed to save builds, and that is free too.

My board does not show up when I click Connect. What now?+

Use a USB cable that carries data (many charge-only cables do not). Some older boards with CH340 chips need the USB driver on Windows or macOS. On boards that will not connect, hold the BOOT button while you click Connect.

Need something bigger than a breadboard?

I build custom hardware and software, from greenhouse controllers to full web apps. Real person, real replies.

Get in touch

Partner link. I may earn a small commission, at no cost to you.

Today's 60-second quiz

Which website platform fits your business?

What is the main job of your website?

Need a hand with your software?

Broken app, emails not sending, worried about security? I fix and look after software for small businesses.

Request work