The ESP32 is a fantastic little microcontroller with a world of possibilities. Its specifications may appear modest, but its capabilities enable it to power all kinds of devices. From an LED matrix to smart sensors to full-on displays, the ESP32 can do a lot more than some may give it credit for by merely glancing at the spec sheet. It's cheap too, coming in at $5 or even less for basic models. If you're looking for a fun project to do, here are some ideas for how you can make yours work for you as a weekend project.
Many of these require a little more investment than just the initial ESP32 price, but some of them range from extremely cheap to a just a few dollars.
Build your own "Find My" network with Bermuda
Track any device
This is one that I set up recently, but with the Bermuda Home Assistant integration, you can build a coverage map of your home with just a handful of ESP32 devices. They'll pick up Bluetooth Low Energy signals from everywhere, allowing you to track devices and their rough proximity from the ESP32, all from within Home Assistant.
This can be a great project to help you find devices you lose in your home, or it can be used for presence detection to trigger automations based on your location. To track your specific devices, you can either grab the IRK (Identity Resolving Key) or create an iBeacon in the Home Assistant app on your phone. These will allow Bermuda to consistently identify your device, no matter where you are.
This one is quick and easy, so it's perfect for someone who doesn't have a whole lot of time. You just need Home Assistant, Bermuda, and a couple of devices that can act as Bluetooth proxies for Home Assistant.
Bluetooth proxy
Send Bluetooth communications over Wi-Fi
If you have a lot of devices that use Bluetooth Low Energy, why not turn an ESP32 into a Bluetooth proxy? What this does is essentially take data over Bluetooth, package it up, and send it back over Wi-Fi for reading. This is, again, another way to use Home Assistant, and it can be a great way to connect multiple devices to a centralized location.
In another instance, I built my own Bluetooth Proxy for the Govee H615B strip lights. I reverse-engineered the Bluetooth communication that they use, implemented it on the ESP32, and then set up a REST API so that I could send commands over Wi-Fi to the ESP32 that would then be broadcast over Bluetooth to the lights. It worked perfectly!
If you're looking for a way to make use of an ESP32 and you have a device you'd love to control over Wi-Fi, this can be a fun project. It's a lot more advanced than a regular Bluetooth proxy, but it can be super convenient in the long run.
Build an LED matrix display
Display whatever your heart desires
This requires some additional hardware that will set you back between $10 and $30, but an LED matrix display can be an incredibly fun and rewarding project to build with an ESP32. You can make it pull data from sensors, use it for notifications, or build an "on-air" sign that lights up when Google Calendar says you're in a meeting.
This is, again, a more "advanced" project, but it can be a great way to learn how the ESP32 works when it comes to interfacing with an externally connected device. It taught me a lot, and while it took a while to get the hang of things, the end result is incredible.
This has been one of my favorite projects to work on, and the tiny and cheap ESP32 being the driver of it all is absolutely fascinating.
Build a voice assistant
"Okay Nabu" is a lot nicer than "Hey Google"
Thanks to software like microWakeWord that can run on-device, you can build an ESP32-based voice assistant with just a microphone. Not even a speaker is required if you don't care about audio outputs. Just link it up to Whisper, a self-hosted open-source tool to transcribe audio, and you can invoke commands on a server or on-device based on what was transcribed.
There are many ways to go about doing this, from premade boards to buying the parts yourself, but there are a lot of projects out there that you can learn from to figure out how to do it, too. It can be incredibly rewarding and really enjoyable when you get the hang of it and start adding new features and customizations.
Better yet, you can gloat to your friends when you use your voice assistant in front of them... just make sure it works first.
Build your own smart sensors
Cheaper and more fun
Smart devices can sometimes be expensive, but they don't have to be. For as little as $4, you can buy an ESP32 (depending on the type you get, of course) and hook it up to a basic sensor, often found for as little as $0.50. You can find countless code snippets for Arduino and ESPHome to make most sensors just work, often with little to no actual development required.
When you're done using an ESP32 for one purpose, so long as you didn't solder it together, you can always just swap out the sensor and put something else on it instead. I've been using ESPHome for these, but any other similar framework will achieve similar results, too.
Just be careful of voltages: some sensors require a 5V output instead of a 3.3V output, so when hooking these up, pay attention to the sensor's requirements. While it typically isn't dangerous to connect a 5V sensor to a 3.3V output (you'll likely just face instability), the other way around can damage the sensor. The only other downside is that, without a battery, you'll need to provide continuous power to an ESP32.
Build a home control panel
A nice way to adjust your lights
If you want to build a control panel for your smart home, PC, or even your NAS, then you can use an ESP32 or an ESP32-based display to do just that. I've found this easiest to achieve with Home Assistant and ESPHome, but you can use OpenHASP or any other method that you'd like to use to achieve that.
You can find all kinds of ESP32-based displays online, or you can simply buy an external module and manually wire it up to your ESP32. From there, expose controls for various different devices, such as a smart power plug or lights. I pull data from my NAS to a display so that I can view power consumption and other metrics, and I can control my lights from my desk, too.
It doesn't have to just pull data from your own devices, either. You could show a stock ticker, an RSS feed, a calendar, emails, and so much more.
