If you've ever tinkered with hardware, chances are you've heard of the Raspberry Pi. It's a tiny, credit-card-sized single-board computer that has launched a million projects, from retro gaming consoles to entire home servers. But Raspberry Pi isn't the only fun board to work with, and with its current pricing, it's not exactly the budget board it once was.
There are tons of cheaper Raspberry Pi alternatives that work just as well, and one among them is the ESP32. It won't run Linux or host your home server, but at just $5, this chip can do more than it lets on.
Build a weather station that belongs on your desk
Pair an ESP32 with a sensor and OLED screen for live weather data
A rather simple ESP32 starter project is to build your own weather station. It's useful, requires only a handful of connections, and looks great on a desk if you get the enclosure right. All you need is a DHT22 temperature sensor, a generic monocolor OLED screen (something like an SH1106 display, but any other display works fine), and a simple push button to cycle through the information on the display. That's it.
Once everything is wired up, the ESP32 connects to your home Wi-Fi, reads the DHT22 sensor, and shows you the ambient temperature and humidity. Most implementations of this project also pull live weather data from free APIs like OpenWeatherMap or Weatherbit.io, parse the JSON response, and render that on the screen as well, giving you both inside and outside temperature readings.
You can take this even further by connecting your ESP32 to your Home Assistant instance and sending the temperature data to your dashboard. If you want, it can also be used to create temperature-dependent automations within Home Assistant.
Turn your home into a giant sensor network
ESPHome makes it easy to feed sensor data into Home Assistant
Speaking of Home Assistant, if you're already running it, the ESP32 combined with ESPHome is by far the easiest way for you to create whatever custom sensors you need. ESPHome is a firmware generator that lets you describe your hardware in a YAML configuration file and compiles it into a flashable binary for you. No C++, no Arduino libraries, no manual handling of Wi-Fi reconnection logic. You define your sensor or actuator in YAML, hit install, and the device auto-discovers itself in Home Assistant via the native ESPHome API. Sure, a $50 Raspberry Pi can replace your smart home hub, but ESP32s are what will make the bulk of your DIY sensors.
The practical upshot is that you can build custom sensor nodes for a fraction of what off-the-shelf smart home devices cost. A $4 ESP32, a $1 BME280 environmental sensor, and a $2 relay module can become a smart switch that reads temperature, humidity, and air pressure and automatically triggers your ceiling fan when it gets too hot. The native Home Assistant API maintains a persistent connection rather than polling, which means state changes are pushed almost instantly. So if you're tired of buying Zigbee sensors or a fragmented smart home, building your own sensors with an ESP32 and ESPHome can massively cut costs and help your smart home setup.
Home Assistant
- OS
- Windows, macOS, Linux, Raspberry Pi
- Developer
- Open Home Foundation
- Price model
- Free, Open-source
A self-hosted, open-source smart home platform that lets you control, automate, and unify all your devices locally without relying on the cloud.
Create a wireless security camera for pocket change
The ESP32-CAM remains one of the cheapest surveillance projects around
The ESP32 comes in a lot of variants, some more capable than others. If you can shell out for the ESP32-CAM, a purpose-built variant of the chip that adds a compact OV2640 2MP camera module and a microSD card slot to the standard ESP32 package, you can have yourself a single-board, Wi-Fi-enabled surveillance camera for less than than $10. You can flash it with the standard CameraWebServer example from the Arduino IDE and get an MJPEG feed accessible from your browser in 10 minutes.
Of course, you can integrate this into Home Assistant using ESPHome as well. Once integrated, the ESP32-CAM becomes a legitimate surveillance node, meaning it can stream video to your Home Assistant dashboard, trigger snapshots when a connected PIR motion sensor fires, and push these snapshots to an external messaging app like Telegram for instant alerts.
And if you're not afraid of getting your hands dirty, you can try out Espressif's own ESP-WHO library, which adds basic face detection processing directly on the chip. The ESP32-CAM won't replace a proper IP camera for high-resolution recording, but as a low-cost monitoring node for a garage, storage room, or garden shed, it's hard to beat at this price.
Bring old-school radio into the streaming era
An ESP32 can play thousands of internet radio stations with minimal hardware
The ESP32 has a built-in I2S audio interface and comes with a dual-core architecture. This means that you can decode MP3 streams from internet radio stations in real-time. Pairing it with a MAX98357A I2S amplifier module (about $2 to $3) and a small speaker is all it takes to turn any ESP32 into a surprisingly good-sounding internet radio. The decoder library handles buffering the audio stream, while the second CPU core keeps the Wi-Fi stack alive without audio dropouts.
You'll find a lot of variations of this build online, including some that use an OLED display mounted inside various 3D printed enclosures to get a working internet radio that looks like a retro cassette sitting on your shelf. Other builds use VFD or 16-bit LCD displays for a glowing vintage aesthetic, and some even pair the board with a rotary encoder for physical station tuning. The whole project can run off a small Li-Po battery or an 18650 cell, and with deep-sleep modes between connections, the battery life can be surprisingly good.
Give old speakers a second wireless life
Add Bluetooth audio support to aging sound systems with a single microcontroller
Another use of ESP32's audio capabilities is to turn it into a wireless audio receiver using the A2DP (Advanced Audio Distribution Profile) protocol. Phil Schatzmann's ESP32-A2DP library on GitHub will do most of the heavy lifting for you. Just flash a few dozen lines of code, pair your phone, and you're streaming music wirelessly to those old speakers, which are decent enough not to throw out but inconvenient to use every day because they lack wireless connectivity.
The ESP32 presents itself as a standard Bluetooth audio device, so it works with anything that can pair with a speaker: your phone, laptop, tablet, smart TV, projector, or anything else. The audio output can come either from the chip's built-in 8-bit DAC, which is fine for casual listening, or you can upgrade to the MAX98357A or PCM5102 for significantly better quality. PCM5102 builds in particular can sound quite impressive, with a clean signal floor and enough fidelity to satisfy picky listeners.
The ESP32 keeps punching above its weight
Perhaps the biggest appeal for the ESP32 is the price tag, but even more than that, it's the combination of capable hardware, a massive community, mature frameworks like ESPHome and Arduino IDE support, and the kind of flexibility that lets you go from blinking an LED to streaming internet radio on the same chip.
I wasted money on the wrong ESP board because nobody explained this upfront
Buying ESP boards shouldn’t feel like gambling.
If you've been putting off getting one and sticking to Raspberry Pis, you're missing out on a lot of action, not to mention significant savings. The Raspberry Pi has its place, but it also has its price tag. For anything that doesn't require a full-blown computer, the ESP32 is a surprisingly capable chip that can handle most DIY projects.
ESP32
- Brand
- Espressif
- Connectivity Features
- Wi-Fi, Bluetooth
ESP32 is a low-cost microcontroller with built-in Wi-Fi and Bluetooth, widely used for IoT projects and DIY electronics.