r/esp32projects

Custom AI voice assistant made with Home Assistant
▲ 0 r/esp32projects+1 crossposts

Custom AI voice assistant made with Home Assistant

I wanted to share a build, because I still can't quite believe how well it works and how easy Home Assistant made it to put together.

I wanted a voice assistant that could not only control my smart home, but also be conversationally intelligent, have its own personality, and actually sound like a real voice.

I assembled a mic and speaker and connected them via an ESP32 with ESPHome to Home Assistant. The mic picks up what I say out loud in the room. Then in Home Assistant's voice assistant tools, I added a custom wake word and connected the system to ChatGPT to handle my commands, comments, or questions. The tools even allow for the style of the response to be customised to give it a specific flair or personality. The response comes back from the AI and is routed via ElevenLabs to convert the text to speech, which then plays out loud through the device speaker.

The assistant is also exposed to all my smart devices, so it can control them when I ask and it's intelligent enough to read between the lines, so I don't need to specifically command every action. I can say "The kitchen is messy" and it knows to send my robot vacuum to the kitchen, rather than me needing to say "Send the robot vacuum to clean the kitchen".
And because I gave it a sarcastic personality, it'll usually have a dig at me first something like "Oh, the kitchen's messy is it? What a shocker."

I also use automations to trigger the voice assistant rather than always needing to activate it with a wake word. This means it can greet me when I come home unprompted, when my door sensor is activated.

The electronics parts are so cheap and easy to put together that I've got a device in every room for complete coverage.

I filmed the whole build if anyone wants to see it come together: https://youtu.be/p02rbeQ2Oe8

youtu.be
u/Rambunctious_Relf — 10 hours ago
▲ 86 r/esp32projects+2 crossposts

I built a GUI tool to flash ESP32 firmware for factory bulk flashing

Tired of explaining esptool commands to my factory workers every time we needed to flash devices, so I built a desktop app that handles everything automatically.

What it does:

- Auto-detects Python and esptool on startup — installs esptool via pip if missing

- Auto-detects ESP32 devices by USB vendor ID (CP2102, CH340, FTDI, native USB)

- One-click flash with progress bar and live esptool output

- Factory mode — plug in a device, it flashes automatically, unplug, plug next one, repeat indefinitely

- Works on Mac and Windows

- Dark theme

Built with: Java 17 + JavaFX + jSerialComm

I'm building IoT energy monitoring devices (ESP32-C6 based) and needed something my factory floor team could use without any technical knowledge. Figured others might find it useful too.

Open source, MIT license: https://github.com/AjinkyaGokhale/esp-flasher-java

Feedback welcome — especially if you test it and find any bugs!

u/Express_Ad8866 — 2 days ago
▲ 13 r/esp32projects+1 crossposts

Meshtastic Touch Device

Hey everyone, I wanted to share a build I've been piecing together lately called the S3 LoRa Interface (Awesome name, I know). It basically turns an ESP32-S3 touch display (CYD) into a dedicated handheld screen and web interface for a Heltec V3.2 node. The idea was to have a standalone device that doesn't strictly rely on a phone, so it pulls in location data from a NEO-6M GPS, displays offline maps from an SD card, and monitors the LiPo with a MAX17048 fuel gauge. The repo has all the wiring pinouts and configuration steps if anyone else wants to tinker with a similar setup. Let me know what you think!

Use Case

This project is for situations where phones and normal internet service are not something you want to depend on. A Meshtastic LoRa radio can pass short messages and location updates directly between nearby radios, even when there is no cell signal, WiFi, or cloud service available.

The Heltec board does the radio work. The ESP32-S3 touch display gives that radio a small handheld dashboard: you can see incoming messages, nearby nodes, GPS position, battery state, radio health, and offline map information without digging through a phone app or plugging into a computer.

In plain terms, it is a portable status screen for an off-grid radio network. It could be useful for camping, hiking groups, event crews, neighborhood emergency planning, field projects, or any small team that wants a simple way to see who is nearby and whether messages are moving.

https://github.com/sintak15/s3-lora-interface

https://preview.redd.it/cc52rlw0t82h1.jpg?width=4920&format=pjpg&auto=webp&s=090bd9a9939a152df9dc4df30e52b83e3380cff2

reddit.com
u/sintak — 1 day ago
▲ 4 r/esp32projects+1 crossposts

Making a MP3 player as a beginner in electronics and engineering

I’m a beginner at electronics and want to learn more I have been looking at tutorials on how to make an mp3 player but everyone uses premade pcb. I want to learn what I need for it and attempt to make my own pcb for the project. I’m very confused as to where and how to start. I have a LoRa 32 wifi BLE, 0.96” 128X64 OLED by HELTEC. I saw that you can make an mp3 using that but I want to make a good project and if esp32 is not the most suitable I can invest in something else. I need clarity on what to buy and where to research and study as to understand what I’m doing and how I’m doing it instead of blindly following an already made project. If anyone has any advice or tips would be very grateful.

reddit.com
u/Grand_Two3710 — 2 days ago
▲ 8 r/esp32projects+1 crossposts

Help with ESP32 + SD Card Module

Boa noite galera ja faz uns dias que estou tentando usar um ESP32-C3 SuperMini com um modulo de cartão SD mas sem sucesso, achei que poderia ser o modulo, então comprei outro modelo de modulo de cartão SD e ainda sim sem sucesso, pensei em ser o ESP32-C3 SuperMini então comprei um ESP32 WROOM-32U e testei os 2 módulos de cartão SD e ainda não consegui fazer funcionar, engraçado que um modulo MFRC522(Modulo RFID SPI) funcionou perfeito usando os mesmos pinos. Preciso da ajuda de vocês 🙏🏻

u/sergiocjr — 2 days ago

Esp32 quick wifi setup

Thanks to ESP32 Bluetooth, you can quickly save your Wi-Fi settings. It's an alternative to Wifi Captive Portal. I hope it's useful. google play

u/Dry_Engineer194 — 2 days ago
▲ 1 r/esp32projects+1 crossposts

How do i connect spike Prime with Esp32

Im trying to figure out how to connect my esp32 cam with my hub. I saw many ways one of them is ble but that is sadly not an option. So i will need to connect it with a cable. The question is what do i need and can i use C++.

reddit.com
u/Zeldcool55 — 2 days ago
▲ 9 r/esp32projects+2 crossposts

Need help to make diagram

Does anyone know how I can make such a high level project diagram, This diagram I've made by downloading photos and connecting the pin through line in lucid.app. Is there any tool where I can get almost all the comments or modules and can make a high level project diagram?

u/EchoingEphemera — 3 days ago
▲ 15 r/esp32projects+1 crossposts

Custom ESP32 pcb boot issue

Hi! This is my first esp32 pcb for a simple pyrotechnic trigger for a rocket parachute. The board is working but the only issue is I need to press the reset button everytime for the esp32 to start running the code. I found that removing the capacitor C1 at the reset button solves this issue, the code starts running on boot, but i can't go into programming mode by holding boot and pressing and releasing reset without the capacitor. How do i fix this issue? I can't press the reset button everytime i need to power the board on.

For power i have an LM7805 converting 2S (7.4V) battery voltage to 5V and an AMS1117 converting the 5V to 3.3V.

u/dev1ce69 — 5 days ago

I need help to make an AC controller

My AC does not have any Wifi or app support, it is being controlled using remote and my phone also does not have any IR blast. But I want to control them from my phone. Can anyone help me to give some idea how I can make a controller for my AC?

reddit.com
u/EchoingEphemera — 5 days ago

I built a WiFi LED matrix clock that shows what you’re listening to (Spotify/YouTube), date, weather & more, now at 1.4k GitHub stars⭐

Hey everyone!

I’ve been working on a project called ESPTimeCast™, a WiFi-enabled LED matrix display built with ESP8266/ESP32 — and it just passed 1.4k ⭐ on GitHub 🎉

It can display:

• Time & weather
• Date and weekday
• Now playing (title + artist via Chrome extension, YouTube, Spotify, etc.)
• Custom messages (Web UI, Chrome extension, Home Assistant)
• Nightscout integration (Glucose monitoring)
• Home Assistant integration
• Countdown, Pomodoro timer, and more

The goal was to make something that looks clean but is also easy to set up.

🔧 You can install it in two ways:

Web Installer (no coding required, take less than a minute)
• Upload via Arduino IDE (for full control)

Everything runs locally, and the device exposes a simple web UI for configuration.

Would love to hear what you think or any ideas for features 😉

https://esptimecast.github.io/

u/mfactory_osaka — 6 days ago
▲ 36 r/esp32projects+3 crossposts

MeshCast Alpha Test!

🤟Hi! I'm looking for testers for a new desktop app that supports Meshtastic-compatible LoRa devices.

If you're interested, send me a private message on Reddit to get access to the private tester group👌

u/KotovMp3 — 5 days ago
▲ 2 r/esp32projects+2 crossposts

ESP32 RTSP Mic not working

hey guys, soldering newbie here! i'm trying to work out this tutorial on getting an rtsp mic set up for my BirdNET-Go instance. i bought the two boards suggested on the github and soldered them together in the right way (i thought). the esp board itself works fine with the flashed firmware but i'm not getting any mic input from the second board. i was wondering if anyone could nudge me in the right direction on how to troubleshoot? thanks in advance!

u/grannie-dot-com — 6 days ago
▲ 15 r/esp32projects+1 crossposts

ESP32 with LoRa and GPS for a vehicle tracking project - is the T-Beam still the right choice, or are there better options now?

I've made a few small esp32 and esp8266 sensors in the past, but nothing on this scale, so I'm a little excited and frightened at the same time.

Working on a vehicle presence and telemetry project for my 1976 Land Cruiser. The vehicle is fully analog (no OBD-II, no factory ECU) and I am adding sensors and reporting back to a Home Assistant install at home. I live in Loja Ecuador and my home is on the Eastern ridge of the Loja valley with a clear view of about 2/3 of the city. So I think LoRa is my obvious choice.

Requirements:

- LoRa radio for telemetry back to home. 915 MHz band (Ecuador). I will run a receiver at home, likely an ESP32 with LoRa as a gateway.

- GPS module for position reporting. Periodic position updates while parked (deep sleep with timed wake), continuous position every 30 seconds while the engine is running.

- BME280 for cabin temperature, humidity, and barometric pressure.

- MPU6050 for inclinometer and impact-wake tamper detection.

- Deep sleep with wake sources: ignition on (optocoupler from the HEI distributor), door open (factory door pin circuit), MPU6050 motion interrupt, and a timer for periodic GPS check-ins.

- Powered from the vehicle's 12V battery via a buck converter. Constant 5V so the tamper detection runs while parked.

- Piezo buzzer for status feedback.

My current candidate is the LILYGO T-Beam since it integrates the ESP32, LoRa SX1276, and a NEO-6M GPS on one board. But before I order:

  1. Is the T-Beam still the right choice in 2026, or is there a newer board that does this better and is well supported? I have seen the Heltec V3 mentioned for Meshtastic and the RAK4631 for low-power LoRa work.

  2. Anyone running a LoRa-based vehicle tracker with deep sleep that wakes on impact? Specifically interested in whether the wake-on-MPU6050 path is reliable when the device has been asleep for hours.

  3. For the home-side receiver, what is the cleanest way to get LoRa data into Home Assistant? Raw LoRa to MQTT via a gateway ESP32, Meshtastic, or LoRaWAN through ChirpStack? I was thinking MQTT. I want this fully local (no cloud).

Happy to share more about the project if useful. I'm in the idea/planning phase, so no decisions made yet.

reddit.com
u/Rude-News-8416 — 7 days ago
▲ 155 r/esp32projects+2 crossposts

Astronomy Micro Station

Astronomy Micro Station for LILYGO T-Display S3 Pro

A standalone astronomy display for the LILYGO T-Display S3 Pro (ESP32-S3).
Tracks the sun, moon, and light conditions — sunrise, sunset, golden hour, blue hour, twilight phases, moon phase and illumination — across four touch-navigated screens. Data fetched from ipgeolocation.io and cached locally for offline use.

https://github.com/sfrechette/astro-micro-station

u/sfrechette — 10 days ago
▲ 1.1k r/esp32projects+5 crossposts

Built a PS4-controlled RC lawn mower using an ESP32 — here’s how it works

So I’ve been building a remote-controlled lawn mower using an ESP32 and a PS4 controller, and I’m pretty happy with how the software has come together. Wanted to share the details for anyone doing something similar.
The hardware:
• ESP32 as the brain
• Two Cytron 13A MD13S DC motor drivers for the tank-style drive tracks
• Three relays — an arm relay, a mower motor relay, and a turbo relay
• PS4 DualShock controller connected wirelessly via Bluepad32
How the controls work:
The unit drives in tank mode. You can toggle between dual-stick (each stick controls one track independently) and single-stick (left stick Y = throttle, left stick X = steering mix) by pressing the PS button. The controller LED changes colour to show which mode you’re in — blue for dual stick, green for single stick.
The mower blade has a safety start sequence. When you press R1, an arm relay fires first and holds for 500ms, then the motor relay latches on and both stay high together. Press R1 again and both drop simultaneously. This gives a deliberate two-stage interlock before the blade spins up.
There’s also a turbo relay on Triangle that flashes the controller LED white while active.
The D-pad works as a secondary driving option. The speed ceiling is set by how hard you squeeze L2 — the harder you’ve squeezed it, the faster the D-pad will drive. L1 resets that speed back to zero. Clever for creep mode.
The analog sticks use a gentle S-curve so the low end is slow and precise, and it ramps up more aggressively toward full deflection.
On disconnect, everything shuts down immediately — motors stop, all relays drop. No runaway mower.
The PS4 LED tells you everything at a glance:
• Solid blue = dual stick mode
• Solid green = single stick mode
• Flashing red/blue or red/green = mower motor relay is latched on
• Flashing white = turbo active (white takes priority)
Why Bluepad32 over the PS4Controller library?
Bluepad32 pairs by just holding the PS button — no sixaxispairer tool needed. It also gives you proper analog trigger values, a cleaner API, and it’s actively maintained. Highly recommend it for any ESP32 gamepad project.
Happy to share code if anyone’s interested.

u/shanebou24 — 13 days ago
▲ 8 r/esp32projects+1 crossposts

I’m not having any luck getting arduino IDE to upload code to this esp32 r3. What am I missing?

u/Own_Heart_2554 — 7 days ago
▲ 121 r/esp32projects+1 crossposts

I turned a $60 espresso machine into a self-hosted web app with an ESP32

three weeks ago id never soldered anything. now i have a Tru espresso machine that holds boiler temp at ±0.5°C, hosts its own web UI at frank.local, and switches between brew and steam modes from my phone.

i call him Frank (Frankenstein) because his guts are everywhere and he's held together by hope.

what's inside:

- ESP32 running a custom PID control loop

- K-type thermocouple + MAX31855 amp clamped to the boiler

- 40A SSR replacing the original bimetal thermostat (which was swinging ±15°C around target)

- SSD1306 OLED with a custom startup animation (Frank opens his eyes, blinks, then a "FRANK IS AWAKENING" loading bar)

- ESPAsyncWebServer hosting a control panel at frank.local

- separate PID tunings for brew (gentle, accurate) vs steam (aggressive, recovers fast)

biggest gotcha: the original control board kept overriding my SSR until i traced the circuit and realized the board was the upstream controller. tapped mains directly, let the ESP32 take full control of the heater, and now the original board just handles the pump and front buttons.

questions for the community:

- any tips for tuning steam mode PID on a low-thermal-mass thermoblock? recovery is faster now but still slower than i'd like

- thinking about adding a TRIAC dimmer for pressure profiling next, has anyone done this on a vibratory pump?

happy to share the firmware if anyone wants to do something similar.
Also check out the repo! -> https://github.com/mufferio/esp32-espresso-mod

u/Mooferman05 — 12 days ago