Top 10 projects you can build with an ESP32
Ten practical ESP32 builds for hobbyists: weather nodes, PisoWiFi-style portals, BLE remotes, MQTT sensors, cameras, and a path from breadboard to a custom PCB.
The ESP32 is the hobby MCU we reach for when a project needs Wi-Fi or Bluetooth without a Linux board. Classic ESP32, ESP32-C3, and ESP32-S3 all work for most of the list below. Use an S3 if you want extra GPIO, native USB, or a camera. Use a C3 if you want a cheap single-core node.
Shop a board, sensors, and modules here, then print an enclosure or request a PCB when the breadboard works. You can edit every section later in Admin - Blog Post.

1. Wi-Fi weather station
Read temperature and humidity (DHT22 or SHT31), show it on an OLED, and push JSON to a page or MQTT. This is the first project that proves Wi-Fi, I2C, and a sensor in one afternoon.
Shop: ESP32, SHT31 or DHT, SSD1306 OLED, 5 V USB supply.
2. Captive-portal / PisoWiFi-style node
SoftAP plus a small web page is how coin Wi-Fi and kiosk logins start. The ESP32 serves HTML, tracks a timer, and can talk to a coin pulse on a GPIO.
Keep 3.3 V logic off the coin mech. Use an opto or a level-safe input. A real PisoWiFi product then moves to a custom PCB.
3. BLE phone remote
Bluetooth LE so a phone toggles a relay with no router. Good for a gate light, a pump, or a lab mains box (relay on a driver, mains in a closed enclosure).
Shop: ESP32, relay module, 5 V supply. Do not switch mains on a bare breadboard.
4. MQTT room sensor
Publish temp, RH, and PIR motion to Home Assistant or any MQTT broker. Deep sleep between samples if it is battery powered. ADC1 pins for analog light if you skip I2C.
This is the build that teaches topics, retained messages, and a clean 3.3 V regulator.

5. Web-controlled RGB / LED art
WS2812 or a MOSFET on a GPIO, a tiny HTTP page with color sliders. 5 V for the strip, one star ground back to the DevKit. Do not feed a long strip from the 3V3 pin.
Shop: ESP32, LED strip or MOSFETs, a real 5 V brick.
6. OLED status badge
Show IP, RSSI, heap, and a two-line log. Useful as a field tool when you cannot serial-monitor a kiosk. I2C on GPIO21/22 (classic) or GPIO8/9 (S3).
Pair it with project 1 or 4 so you always know if Wi-Fi stuck.
7. RFID / keypad door node
MFRC522 or a 4x4 keypad, a fail-secure 12 V lock driven by a relay or MOSFET, and a log of UIDs. Add Wi-Fi only after the lock works offline.
12 V lock supply is separate. GPIO only drives the transistor. Shop modules plus a 12 V brick.
8. Current / energy monitor
A CT clamp or an isolated current board into ADC1, sample RMS, and post watts to MQTT. Calibration against a known load matters more than pretty charts.
Mains stays in a closed box. The ESP32 only sees a scaled analog or a UART from a PZEM-style module.
9. Camera snapshot / doorbell
ESP32-CAM or ESP32-S3 plus OV2640. Capture a still on a button or PIR, save to SD, and send a link or a tiny JPEG over Wi-Fi. Video streaming is optional and eats RAM; stills are the reliable first product.
Use an S3 if you also want USB and extra GPIO. Shop camera modules and a 5 V supply that does not droop on Wi-Fi TX.

10. Breadboard to custom PCB
When 1-9 works on jumpers, freeze the schematic: USB or 5 V in, 3.3 V regulator, ESP32 module, sensors, and a programming header. That is a CraftedTech PCB job. Print the enclosure after the board outline is real.
Do not skip a fuse and a TVS if the box will sit near motors or a coin mech.
What to shop first
Start with one ESP32 DevKit, a USB-C cable, a DHT or SHT sensor, an OLED, and a relay. That covers projects 1, 3, 4, 5, and 6. Add a camera or RFID only after blink and Wi-Fi are boring.
Read the ESP32-S3 pin guide if your board is an S3 DevKit. Classic ESP32 silk is different (GPIO21/22 I2C, no native USB pair).