part · Level 10 · Connected · board

What an ESP32 board is

ESP32 Wi-Fi board — A brain with Wi-Fi. Your projects can now text you.

What it is

An ESP32 development board is another programmable brain, like the Arduino Nano — but this one has Wi-Fi and Bluetooth on the chip. The same code style, the same pins-you-switch-and-read, plus the ability to send a reading to your phone, fetch the weather, or host a tiny web page you can open from the sofa.

It is also faster (two cores at up to 240 MHz against the Nano's 16 MHz), has far more memory, and costs about the same. The catch, and it is a real one for everything you have built so far: it runs on 3.3 V, not 5 V. Its pins can be damaged by 5 V signals, and its output can look "weak" to parts expecting 5 V.

Most boards have a USB connector, a 3.3 V regulator, two buttons (EN = reset, BOOT) and about 25 usable pins along the edges. It is wider than a Nano; on a standard breadboard it may cover all the rows on one side, so many people use two breadboards side by side.

How it works

Logic is 3.3 V. HIGH is 3.3 V, and an input must not see more than about 3.6 V. A 5 V sensor output needs a voltage divider first: 10 kΩ over 20 kΩ gives 5 × 20 ÷ 30 = 3.3 V — the same divider math from Level 3.

Pins give less current: 12 mA is the recommended maximum per pin (40 mA absolute). An LED still works: (3.3 − 2.0) ÷ 220 ≈ 5.9 mA, dimmer than on 5 V but plenty; use 100 Ω for 13 mA. Anything bigger goes through the 2N2222 as before: base resistor (3.3 − 0.7) ÷ 1 000 ≈ 2.6 mA, enough to switch a buzzer or a small motor.

Power spikes. Wi-Fi transmits in bursts of up to 250–300 mA. The board's regulator wants 5 V in (USB or the VIN/5V pin) and a supply that can deliver half an amp without sagging — a 3×AA pack is too low for the regulator and too weak for the bursts; a USB power bank or a 4×AA pack is right. Add a 100 nF and a 10 µF across the 3.3 V pins and the resets stop.

Analog inputs read 0–4095 (12-bit) over 0–3.3 V, and only on the ADC1 pins (GPIO 32–39) while Wi-Fi is on.

The numbers

Logic level3.3 V — inputs must not exceed ≈ 3.6 V
Pin current12 mA recommended, 40 mA max — LED with 220 Ω ≈ 6 mA
Wi-Fi burst currentup to ≈ 300 mA — needs a supply that can deliver it
Power in5 V on USB/VIN — 4×AA or a power bank; 3×AA is too low
Speed / memory240 MHz, 520 KB RAM — vs 16 MHz, 2 KB on a Nano

Mistakes everyone makes

  • 5 V sensor into a 3.3 V pin. Damages the pin over time. Fix: a 10 k / 20 k divider, or a 3.3 V sensor.
  • Random resets when Wi-Fi starts. Supply cannot deliver the burst. Fix: better power, decoupling caps on 3.3 V.
  • Upload fails ("failed to connect"). Some boards need the BOOT button held while uploading. Fix: hold BOOT, click upload, release.
  • analogRead returns nonsense with Wi-Fi on. ADC2 pins are taken by the radio. Fix: use GPIO 32–39.
  • Board too wide for the breadboard. Fix: straddle two breadboards, or use a narrow variant.

Questions people ask

What is the difference between an ESP32 and an Arduino?
An ESP32 is faster, has much more memory, and has Wi-Fi and Bluetooth built in — but it runs on 3.3 V, so 5 V parts and signals need care. You program it with the same Arduino tools.
Can an ESP32 run on batteries?
Yes, but not 3×AA into the 5 V input — that is too low. Use 4×AA, a USB power bank, or a lithium cell with a board that has a charger. Wi-Fi bursts need a supply good for 300 mA.
Can I connect a 5 V sensor to an ESP32?
Power it from 5 V if it needs that, but drop its signal to 3.3 V with a voltage divider (10 kΩ over 20 kΩ) before it reaches an ESP32 pin.

Projects that use this part

No project uses it yet — it arrives at Level 10, and the projects for that level are still being written and verified.

verified against: Espressif — ESP32 documentation · Adafruit — ESP32 guide · Arduino docs — ESP32 core install