r/esp32

ESP-IDF with VSCode : Unable to fix configuration issues
▲ 1 r/esp32

ESP-IDF with VSCode : Unable to fix configuration issues

Hi.

I recently purchased the learnesp32 course online. I know it's old but it seemed complete. The installation process though is very old. After having followed the steps from the VScode marketplace, I copied the blink folder to another location and tried the doctor command to check the configuration but seem to be getting "undefined" for cmake and ninja despite getting the versions on the terminal showing up. None of the tutorials or installation procedures mention opening a workspace to run the doctor command. I created one because the chatbot in vscode said so. Can anyone help please?

P.S. I have esp 6.0.1 and espressif tools installed in the C drive and have created/copied the blink folder from the examples listed to a new folder in the F drive. The chat says that shouldn't create a problem and I don't think it does because I have set the IDF_PATH and IDF_TOOLS_PATH to point to the the folders in the c drive.

These are the notification messages even after configuring everything properly

reddit.com
u/Revolutionary-Pen916 — 2 hours ago
▲ 0 r/esp32

Just Got My First ESP32 — Need Beginner Project Ideas 😅

Hey guys,
I recently started learning ESP32 and microcontrollers, and honestly I’m a bit overwhelmed with where to begin. I have an ESP32, a few basic components like LEDs, IR sensor, and a servo motor.

Can you suggest some fun beginner projects that helped you learn? I’d love projects that are simple but actually teach useful concepts along the way.

Any tutorials, YouTube channels, or beginner tips are also welcome. Thanks :)

reddit.com
u/rutherford_098 — 1 hour ago
▲ 7 r/esp32

Built my first digital pet with my first microcontroller

Okay so I have literally zero coding or electronics experience and somehow I made this?? I'm still in shock honestly. Just so excited to see this thing come alive!!

Every single frame of animation is hand drawn by me. The cute pup, the background, and the animation frames.

Stack:

  • ESP32
  • SSD1306 OLED
  • Piskel for the pixel art
  • gif2cpp for sprite conversion

Still figuring out the game logic (hunger, happiness, the whole loop) but honestly I'm just proud I got this far. Baby steps!!

I'm also trying to build a battle mode so your pet can fight other nearby pets. No idea how I'm going to pull that off but we'll see 😅

https://preview.redd.it/83oh8id5t72h1.jpg?width=4032&format=pjpg&auto=webp&s=9b737495a1ce00b308d0fafb3706699be1177ae6

https://preview.redd.it/d4vbde06t72h1.jpg?width=3024&format=pjpg&auto=webp&s=3fb2ec540381c473c39176e837df5daeb53573a4

https://preview.redd.it/rklaqam6t72h1.jpg?width=4032&format=pjpg&auto=webp&s=53bcdb2ffe3f49931267100428ccb4bab85b7828

https://preview.redd.it/uug1s0h7t72h1.jpg?width=4032&format=pjpg&auto=webp&s=a71caedd552b92b860b8f6d38c4ac7381909ad36

reddit.com
u/jitzlim — 6 hours ago
▲ 1 r/esp32

I want to build something simple but have no idea how

I‘m completly new to this. All I know is that an esp32 might be the way to do it.

The project is:

I want to make a physical reminder badge. You program it to turn on a led at a certain date / time or every x days / hours minutes. If you push a button it resets the cycle or turns it off, when it was a specific date.

In its final state it suppose to look like a round button that you put on a e.g. cat toilet to remind you it‘s about time to clean it.

It‘s a simple „in the real world“ reminder that you can‘t ignore as easily as a push notification on your phone.

How would I do that?! What would I buy?

THX

reddit.com
u/Puzzleheaded-Law8114 — 13 hours ago
▲ 5 r/esp32

How do I fit a large datastructure into memory?

For a school project I'm programming on an esp32 and I want to use a kd-tree (basically a binary search tree made for locating points in space). I can store the tree on an SD card no problem, but the problem is when searching it it's likely that it'd not fit into ram. For now I need to store around 630 points in it so it might fit in with a tight squeeze but even so I'd like to find an alternative.

Do I just implement some sorta pseudo-cache where I prefetch nodes in the tree from sd card when I search through the tree? Or is there a smarter way to do this?

reddit.com
u/xXBigboi69Xx42 — 18 hours ago
▲ 43 r/esp32

IIIF on ESP32: countless artworks for free

IIIF is how major museums expose their image collections online for free. You can specify an image resolution, and the server produces JPEG files on demand. It's pretty neat.

So I brought it to p3a, my ESP32-P4 pixel-art frame. Hundreds of thousands of artworks from six institutions now stream straight to the device:

- Art Institute of Chicago

- Rijksmuseum (Amsterdam)

- Victoria & Albert Museum (London)

- Wellcome Collection (London)

- SMK / Statens Museum for Kunst (Copenhagen)

- Harvard Art Museums

IIIF itself is standardized, but each museum's discovery layer is idiosyncratic. AIC has its own search API, Rijks needs a Linked-Art resolver walk, Harvard needs a BYOK key... so each museum gets its own dispatcher.

p3a runs on the Waveshare ESP32-P4-WIFI6-Touch-LCD-4B (720×720 24-bit IPS). It plays animated WebP/GIF, static PNG/JPEG, and connects directly to Makapix Club and Giphy. Links are in the comment below.

u/fabpub — 15 hours ago
▲ 67 r/esp32+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 — 1 day ago
▲ 14 r/esp32

**Blynk pricing killed my hobby projects — what's everyone moved to for ESP32 dashboards?**

Rant incoming but also genuinely looking for advice.

I've got a few ESP32 projects around the house — plant monitors, desk sensors, a garage door controller. Used to tie them all together with Blynk. It was imperfect but it worked.

Now the free tier is basically useless for anything real, and paying for their enterprise plans for personal hobby stuff feels absurd.

What's actually good right now? My requirements are pretty simple:

Works over direct BLE (no broker, no cloud middleman)

Can visualize sensor data — not just send commands

Doesn't need me to flash a proprietary library to every device

Offline first — my garage ESP32 shouldn't need internet to work

Is anyone building their own companion apps? Using nRF Connect creatively? Self-hosting something?

Or is the honest answer that nothing good exists yet and someone needs to build it?

reddit.com
▲ 171 r/esp32

[ESP32][AWS IoT][OpenSource] A robotic hand that copies my gestures over the internet, so technically I can flip someone off from another continent lol :p

I built a 5-finger bionic hand that mirrors my real hand in (almost) real time. The catch: my hand and the robot hand never actually talk to each other. Everything goes through the cloud.

The pipeline is :

  • Webcam + MediaPipe tracks 21 landmarks on my hand at 30+ FPS and figures out how bent each finger is.
  • That gets turned into a finger-by-finger "power %" and published to AWS IoT Core over MQTT.
  • An ESP32 on the other end is subscribed to the same topic, parses the JSON, and drives 5 servos through a PCA9685 PWM controller over I2C.
  • Firmware is ESP-IDF + FreeRTOS (Dual-core Operation). One core handles WiFi/MQTT, the other handles the servos, and they talk to each other over a queue.
  • End-to-end latency is ~150ms (AWS US East <--> Michigan). No port forwarding, no VPN, the ESP32 dials out to AWS and waits.

Things I learned the fun way:

  • Servos draw way more current than an ESP32 can drive. Power them separately or there will be random reboots.
  • The thumb needed inverted control logic because thumbs are, anatomically, little contrarians.

It's all open source, hardware, firmware, the Python vision client, wiring diagrams, full setup guide.

Genuinely usable as a capstone project or a base for prosthetics/telepresence research, but mostly I just like playing Stone-Paper-Scissors with it now.

Git Repo: https://github.com/itsashishupadhyay/VisionControlledBionicHand

Bonus: if you've wanted,a working reference for the AWS IoT Device SDK for Embedded C or a hand-rolled PCA9685 driver library, this repo doubles as a decent starting point for both.

▲ 2 r/esp32+1 crossposts

XIAO ESP32C5 5V pin and USB power supply

I provide 5V power supply to my XIAO ESP32C5 through its 5V pin.

I am wondering what happens when I connect it additionally via USB to a power supply. No problem can happen ? If not which source is privileged.

Thanks.

reddit.com
u/Tutoduino — 14 hours ago
▲ 8 r/esp32

Master / slaves | esp32 / esp32 c3 light system

I have been working in an esp-now driven RGB control system for this fairly cheap lights.
Originally it had an IR receiver that sends a series of limited configs that the “U2” will transform in voltages for the MOSFETs to handle a limited set of colors.
The 10k resistor is there because I tried to directly drive the “U2” but 3.3v (from c3) is not enough. Therefore I attached the resistor to pull some more from 5v usb power supply.
But it’s not working. I have the list of IR that is sent to the “U2” (I don’t think it’s relevant at this point).
My question is:
Has someone (personally or library) worked with this type of pre-coded components (U2)?
I would like to learn to reuse them, because y have a ton of different lights that uses it, and seem to be programmed the same (tested with a single IR remote control)

u/CharmingCranberry89 — 15 hours ago
▲ 23 r/esp32

Benchmarking SD-Cards with ESP32

I've done some benchmark with SD cards, using self-rigged uSD modules in 4-bit mode.
So far, i managed to get around 5MB/s Read and Write with 32GB Sandisk HC1. Other card brands were much slower. Test done with Arduino for now. Next test with ESP-IDF.
Anyone here wants to share his results?

u/420xpert — 18 hours ago
▲ 5 r/esp32

Automotive Wireless Steering Wheel Controls

I'm looking to add steering wheel controls to my car. Ideally of course it would be ultra low power and it would only need to send a wireless signal when a button is pressed(short range).

the idea was to use a ESP32 with some form of wireless data sending method, a lipo battery, possibly even a small solar charger to extend the charge of the battery by hopefully a couple years if not "forever" and a accelerometer to wake up the ESP32 from deep sleep. Or is a ESP32 even the solution for my problem?

I've never done a project like this so any suggestions are welcome

Edit: I came across the Seeed Studio board using a nRF54L15 which is ultra low power and supports BLE which I think may be better suited for my application

Edit 2: Those were backordered so I'm developing my own board from the ground up

reddit.com
u/Pickledill02 — 21 hours ago
▲ 5 r/esp32

ESP32 + UWB Module Issue

Need some advice regarding an ESP32 + UWB issue.

I have an ESP32 board with a UWB (Ultra-Wideband) DW1000 board. Initially, everything was working fine and I was able to flash code successfully. To test it, I connected the board to a power bank. It worked for some time, but then suddenly stopped working.

After that, I connected it back to my PC via USB, but I could no longer flash any new code. I kept getting the error: "No serial data received."

To troubleshoot, I connected an external power source to the 3.3V pin and GND, and the board started working again — the code was running correctly. Then I tried flashing new code via USB while keeping the external power connected, and it worked successfully.

Because of this, I suspect that when only USB is connected, it is no longer powering the ESP32 properly. My guess is that the LDO (Low Dropout Regulator) may have been damaged.

The power bank I used supports fast charging and can output up to 12V, so I'm wondering if that somehow damaged the regulator. I don't have a strong hardware background, so I may be completely wrong.

I noticed AMS1117 voltage regulators are commonly used on ESP32 boards. Do you think replacing it could fix this issue? Or is there something else I should check before replacing components?

Any help would be appreciated.

u/Hot-Scratch-1531 — 20 hours ago
▲ 2 r/esp32

Help please, can't get on-board LED to blink, this is my code. Uncommenting the printf statements makes the LED blink. Can you please help me understand what's going on and how I can fix it?

void app_main(void) {
    // Resets any previous state of the pin (good practice)
    gpio_reset_pin(LED_GPIO);
    // Configure GPIO2 as output
    gpio_set_direction(LED_GPIO, GPIO_MODE_OUTPUT);
    
    // Blink forever
    while (1) {
        gpio_set_level(LED_GPIO, 1);            // Set pin(GPIO2 in this case) to HIGH(3.3V)
        // printf("LED ON\n");
        vTaskDelay(pdMS_TO_TICKS(1000)); 

        gpio_set_level(LED_GPIO, 0);            // Set pin(GPIO2 in this case) to LOW(0V)
        // printf("LED OFF\n");
        vTaskDelay(pdMS_TO_TICKS(1000)); 
    }
}
reddit.com
u/sh_pa_ic_rk_ie_tr — 22 hours ago
▲ 577 r/esp32

ESP32-S3 driving a 128×64 HUB75 panel for generative patterns, with 4 knobs — open source

I've been building this for about two months and recently open-sourced everything. Patternflow is a custom ESP32-S3 board driving a 128×64 HUB75 LED matrix with 4 rotary encoders. Each pattern runs natively on the chip and the knobs map to pattern parameters in real time.

For context: I'm a visual design student, not an EE. Most of what I know about embedded came from this project, so this post leans toward the stories I actually lived through rather than firmware internals I'd struggle to defend.

Hardware

  • ESP32-S3-WROOM-1 N16R8 (16MB flash, 8MB PSRAM)
  • 128×64 HUB75 RGB LED matrix, driven by mrcodetastic/ESP32-HUB75-MatrixPanel-DMA
  • 4 rotary encoders with push-buttons
  • USB-C, single PCB
  • Arduino IDE + ESP32
  • KiCad sources in the repo
  • 3D models(STL), Blender file in the repo

Cold boot bug

Most useful thing I learned. The board wouldn't reliably boot on first power-up; needed a manual reset or a power cycle. Symptoms were confusing:

  • Quick reconnect (<1 min from unplug) → boots fine
  • Long unplug (3+ min) → fails to start firmware
  • Reset button → always works

Spent close to two weeks chasing this, mostly down wrong paths (slowing EN rise time, removing a 1000µF bulk cap that turned out to be a USB inrush violation but unrelated to the boot bug, pullup on HUB75 OE).

Actual root cause: GPIO0 was left NC in my original pinout. It's a strapping pin sampled at power-on — HIGH = normal boot, LOW = serial bootloader. With nothing on it externally, residual charge held it HIGH on quick reconnects (firmware ran). Long unplugs let it discharge into indeterminate territory, sometimes reading LOW on cold start → ESP entered bootloader → firmware never ran. Reset re-samples strapping pins under different conditions, so reset always worked.

Fix: 10kΩ pullup from GPIO0 to 3V3. Per the S3 datasheet, GPIO 0, 3, 45, 46 are all strapping pins and shouldn't be left floating.

Failed remote-streaming attempt

Tried building a mode where shaders authored in the browser (WebGL2/GLSL) are streamed live to the ESP32 and rendered on the panel — no firmware rebuild, and patterns too heavy for the chip become viable.

Data path: Browser WebGL2 → readPixels → chunked over WebSocket → ESP32 triple buffer → render task on Core 1 → HUB75.

Stalled at 13–17 fps with visible tearing and occasional brief blackouts.

Bottleneck identified: per-pixel drawPixel calls — ~70 ms just to call it 8192 times. The HUB75 library author has acknowledged in discussion #117 that per-pixel calls cap well below 30 fps on this stack, and the only paths forward are writing directly into the BCM bit-plane buffer or forking the driver.

Shelved for now. If anyone here has actually pushed HUB75 past the per-pixel call ceiling — BCM bit-plane writes, library fork, alternative driver — I'd really like to hear how.

Links

Happy to talk about the hardware, debugging, the remote-streaming attempt, anything.

u/GlumPiece7281 — 2 days ago
▲ 0 r/esp32

esp32 won’t connect to computer.

hello all,

when i try to connect my esp32 to any computer i get the error: “A fatal error has occurred: Failed to connect to ESP32: no serial data received.” i asked ai and it said to press and hold the boot button then tap and release the EN button then let go of the boot button, but it didn’t do anything, can anyone help me out? thanks

reddit.com
u/Trick-Builder-1020 — 1 day ago
▲ 1.8k r/esp32

I built a pocket computer inside an Altoids tin using an ESP32-S3

I shoved an esp32 s3 into a altolids tin and heres what happened next!

https://www.youtube.com/playlist?list=PLgJKX8mp4p18ppYaszsPgn20gP01L1Byf

Parts:

ESP32-S3-WROOM-1 N16R8 — 240MHz dual-core, 16MB flash, 8MB PSRAM

2.3" ILI9341 TFT (320×240) driven over SPI with async DMA

Custom 30-key matrix keyboard — 3 rows × 10 columns

MAX98357A Class-D amp + small speaker for audio output

SD card for ROMs, music, movies, WADs

It boots into a DOS-style shell and you type commands to launch apps.

Apps so far:

- doom — DOOM via a PrBoom port

- nes — NES emulator (nofrendo fork)

- gb — Game Boy + GBC (gnuboy)

- mp — MP3 player with a file browser

- movie — plays MJPEG+MP3 AVIs from SD using a dual-core pipeline (demux+decode on core 0, JPEG decode+display on core 1). Has a portrait mode that software-rotates the frame so you can tilt the tin sideways to watch stuff

- radio — streams internet radio over WiFi (SomaFM, any Icecast HTTP stream)

- ask — Grok AI chat via xAI API, responds in synthesized voice through the speaker

- speak — HTTP endpoint so you can POST an MP3 and it plays it out loud

- eyes — animated googly-eyes avatar, because why not

- sats — a Fallout VATS-style targeting mini-app that locks onto a wireframe cockroach and plays a slow-mo kill-cam

- ota — type it and push new firmware over WiFi with a single curl command, no USB needed

Happy to answer questions about any of it.

u/SuperRadMaker — 2 days ago