Build a WiFi Temperature Monitoring Station with ESP32
Beginner
Est. Time: 45 minutes
Est. Total: $18.52
Create a real-time temperature monitoring system using an NTC thermistor and an ESP32 microcontroller. The ESP32 reads the analog voltage from a voltage divider, converts it to a temperature using the Steinhart-Hart equation, and serves live readings over WiFi to any device on your network. A foundational project for understanding analog sensors, ADC conversion, IoT data logging, and environmental monitoring.
Bill of Materials — Available in Our Shop
| Part | Qty | Price | Total | Status |
|---|---|---|---|---|
| ESP32-WROOM-32 DevKit (38-Pin, USB-C) Microcontroller — reads temperature, serves data over WiFi |
1 | $8.99 | $8.99 | In Stock |
| NTC 5D-15 Thermistor Temperature sensor — measures from -55C to +200C |
1 | $1.49 | $1.49 | In Stock |
| 830-Point Breadboard + Jumper Wires + Power Supply Kit Prototyping platform with power supply and jumper wires |
1 | $7.99 | $7.99 | In Stock |
| Subtotal (from our shop) | $18.47 | |||
Additional Parts Needed
These common parts are available at most electronics retailers. Estimated prices shown for budgeting.
| Part | Qty | Est. | Total |
|---|---|---|---|
| 10K ohm Resistor (voltage divider) | 1 | $0.05 | $0.05 |
| Est. external subtotal | $0.05 | ||
Parts from our shop$18.47
Est. external parts$0.05
Est. Project Total$18.52
Step-by-Step Instructions
- Create a voltage divider on the breadboard: connect the 10K resistor from ESP32 3.3V to GPIO 34 (ADC input). Connect the NTC thermistor from GPIO 34 to GND.
- The voltage at GPIO 34 now varies with temperature. As the thermistor heats up, its resistance drops, changing the voltage ratio.
- Upload the ESP32 sketch via USB-C: read the analog value from GPIO 34 (0-4095 on ESP32's 12-bit ADC), convert to resistance using the voltage divider formula, then convert to temperature using the Steinhart-Hart equation.
- Open the Serial Monitor at 115200 baud. You should see temperature readings updating every second. Touch the thermistor with your finger to see the reading climb.
- Add WiFi capability: include the ESP32 WiFi library to create a simple web server that displays live temperature readings on any phone or computer on your network. Add threshold alerts that trigger when temperature exceeds a set limit.