Kit: LAFVIN Basic Starter Kit for ESP32 · Board: ESP32 DEVKIT V1 (ESP‑WROOM‑32, 30‑pin)
The foundation for every other project: what the ESP32 is, how to read its pins, and how to upload your first sketch.
Brand new to electronics? Read Project 00 — Electronics & Communication Basics first.
The ESP32 is a low‑cost, low‑power System‑on‑a‑Chip (SoC) from Espressif. A single chip packs:
Its built‑in wireless makes it ideal for IoT — several later projects host a web server right on the board.
| Part | What it does |
|---|---|
| Micro‑USB port | Uploads code and powers the board. Use a data cable, not charge‑only. |
| CP2102 (USB‑to‑UART) | Bridges USB and the ESP32's serial port. Needs the CP210x driver (§8). Some boards use CH340 instead. |
| Voltage regulator | Drops 5 V (USB/VIN) to the 3.3 V the chip runs on. |
| EN / RESET | Restarts the board and runs the current sketch. |
| BOOT | Puts the chip into flashing mode (§9). |
| ESP‑WROOM‑32 | The metal module holding the chip, flash, and PCB antenna. |
| On‑board LEDs | Red = power; blue = wired to GPIO 2 for debugging. |
| Feature | Value | Feature | Value |
|---|---|---|---|
| Cores | 2 (dual) | SRAM | 520 KB |
| Clock | up to 240 MHz | Flash | 4 MB (typical) |
| Wi‑Fi | 2.4 GHz, 150 Mbps | GPIO header pins | 30 |
| Bluetooth | BLE + Classic | Logic level | 3.3 V |
| USB‑UART | CP2102 | Max current / pin | 40 mA (keep ≤ 12 mA) |
3V3 (regulated out), VIN (5 V from USB), GNDdigitalRead() / digitalWrite().analogRead(). Potentiometer, photoresistor.Two ADC banks:
| Category | Pins | Notes |
|---|---|---|
| SAFE general‑purpose | 4, 13, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33 | First choice for inputs and outputs. |
| STRAPPING | 0, 2, 5, 12, 15 | Read at boot. Usable, but a wrong level can block uploading — avoid for sensitive inputs. |
| BOOT HIGH/PWM | 1, 3, 5, 14, 15 | Pulse or go HIGH at reset — may glitch attached outputs. |
| INPUT‑ONLY | 34, 35, 36 (VP), 39 (VN) | No output, and no internal pull‑up/down. |
| DO NOT USE | 6, 7, 8, 9, 10, 11 | Wired to the internal SPI flash. |
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Click Upload, wait for "Done uploading.", then open Serial Monitor at 115200 baud (all our sketches use this).
If you see "Failed to connect to ESP32: … Connecting…":
3V3 → + rail, and GND → − rail.VIN, but still drive their signal pins with 3.3 V logic.| Resistor | Bands | Used for |
|---|---|---|
| 220 Ω | Red Red Black Black Brown | LED current limiting |
| 10 kΩ | Brown Black Black Red Brown | Pull‑down / pull‑up |
| 1 kΩ | Brown Black Black Brown Brown | General purpose |
Read with the tolerance band (Brown, ±1%) on the right. The first band gives it away — Red starts the 220 Ω; Brown starts the 10 kΩ and 1 kΩ.
Next, set up your software in Project 0b — Arduino IDE Setup, then build Project 1 — Inputs & Outputs (button + LED) and work up through analog input, PWM, sensors, and the Wi‑Fi web‑server projects.