Common Projects & Use Cases

With GPIO, Wi-Fi, Bluetooth/BLE, and ADC all covered in earlier lessons, this lesson pulls those pieces together into realistic project categories that match what the ESP32 actually does well.

This page's descriptions are a preview of project shapes, not runnable code you can execute right on this website - this server runs PHP, not the ESP32's own firmware.

Wi-Fi-Connected Sensor Node

Combine an ADC1 reading (see ADC & Reading Sensors) with the Wi-Fi connection code from the Connecting to Wi-Fi lesson: read a sensor periodically, then send the value over the network to a server or an MQTT broker (a common lightweight messaging system used across IoT projects). This is one of the single most common ESP32 project shapes - a small always-on device quietly reporting a reading every few seconds or minutes.

BLE Beacon / Battery-Powered BLE Sensor

Using the BLE server pattern from the Bluetooth & BLE lesson, a battery-powered device can advertise a small piece of data - a temperature, a button press, a presence signal - without needing to join a full Wi-Fi network at all. Because BLE is built for low power draw, this shape suits devices that need to run for a long time on a small battery.

Home Automation Relay / Switch Controller

Using the GPIO output basics from the GPIO Basics lesson (the same pinMode/digitalWrite pattern used to blink an LED, applied to a relay module instead), combined with Wi-Fi so it can be controlled remotely, an ESP32 makes an inexpensive controller for a light, fan, or other switched appliance.

Small Robot or Motor Controller

With plenty of GPIO pins available and enough CPU headroom to run control logic and read sensors on the same chip, the ESP32 is a common choice for small robotics projects - driving motors, reading encoder or distance-sensor input, and optionally reporting status back over Wi-Fi or BLE at the same time.

What the ESP32 Is Not Well Suited For

To stay honest and consistent with the Introduction lesson: the ESP32 is not a good fit for display-heavy graphical user interface work the way a Raspberry Pi running a full desktop OS could handle, and it is not built for filesystem-heavy or multi-process workloads. By default it runs one program, not a multi-app operating system juggling several independent processes at once. If a project's core requirement is a rich graphical UI or genuinely parallel independent applications, a small computer is the better tool than a microcontroller.

Recap: Realistic ESP32 project shapes include Wi-Fi sensor nodes reporting to a server or MQTT broker, BLE beacons/battery sensors, home-automation relay controllers, and small robot/motor controllers. It is not well suited to graphical-UI-heavy or multi-process workloads.
Next steps: Finish up with Best Practices - a safety and reliability checklist for every project you build.