r/esp32 13h ago

I BLINKED MY FIRST LEDD HURRAY🥳🥳

Enable HLS to view with audio, or disable this notification

540 Upvotes

This a video of me blinking my first led on esp32!!!

Unfortunately my laptop was my brothers so I had to use Arduino droid because there was no driver in laptop. Could you believe it?

And I didn't have administrator permission so I couldn't install😭


r/esp32 11h ago

Hardware help needed How can I protect a capacitive soil sensor outside

Post image
93 Upvotes

Hi all,
I am going to use this kind of sensor on a ESP32 LoRaWan board.
Got everything working for now, but I'm going to use it in the garden outside. I can put the esp in a casing, but the sensor is going to be put in the soil.
So how do I protect the electronics on the sensor from the weather? I've been searching on the web, but until now with no useful results.
Anyone ideas?


r/esp32 20h ago

I made a thing! We turned our little desktop companion into a music controller 🎵

Enable HLS to view with audio, or disable this notification

78 Upvotes

Hey everyone!

We've been building Ditto based on ESP-CLAW, and just added a feature we've been wanting for a while: desktop music controls.

Now Ditto can sync with the music playing on your computer, so instead of reaching for your keyboard or switching windows, you can just interact with Ditto.

So far it can:

  • Show the current album artwork
  • Tap the screen to play/pauseac
  • Touch the side to skip tracks

It's a pretty simple feature, but it's made Ditto feel a lot more useful on our desks while we're working or studying.

We're still playing around with new ideas, so if there's anything you'd like to see on a little desktop companion like this, we'd love to hear it. Feedback and feature suggestions are always welcome! 🐾

Source code, pcb gerbers, schematics, and setup instructions are up:

code: https://github.com/espressif/esp-claw/tree/master

hardware: https://oshwhub.com/esp-college/project_cnyfhxqz


r/esp32 3h ago

I made a thing! I built a standalone flight radar on a $35 ESP32 touchscreen. No soldering, no subscriptions, installs from the browser. Open source.

Enable HLS to view with audio, or disable this notification

69 Upvotes

For the past days I have been building esp32flight: a desk flight radar that runs entirely on a Waveshare ESP32-S3 Touch LCD 7 (800x480, about $35). You plug in USB power, flash it from a browser tab, connect it to Wi-Fi on the touchscreen, and it shows every aircraft around you. No Raspberry Pi, no dongle, no accounts, no API keys required. MIT licensed.

What it shows

- Live aircraft within a configurable radius (10 to 250 NM), refreshed every 8 s, up to 80 aircraft with the nearest kept first

- Airline logos (1300+ bundled), aircraft type, registration with country flag, squawk, ADS-B category

- Routes: origin and destination with city, country flag and local airport times, progress bar, ETA and estimated local arrival time

- A spotter line: where to look in the sky (compass + elevation angle) and a flyover prediction ("passes you in ~3 min at 1.2 km")

- Aircraft photos (planespotters.net), commercial flight numbers (FR4238 instead of RYR638T) with an optional free FlightAware key

- Weather in the header plus the raw METAR from the nearest station

Views

- Flight list + detail panel, ambient auto-cycling mode with a mini map, radar view with a real map background, and a session stats view (hourly chart, top airlines, daily records)

- Full-screen route map with great-circle arc, swipe pan and zoom, flight trails

- Map screensaver after idle: full-screen map of your area with every aircraft, your observation circle, clock and weather; tap a plane to see where it is heading

- Night mode (backlight off during quiet hours), 7 color themes, English and Polish UI

Data

- Free community ADS-B APIs (airplanes.live, adsb.lol) with automatic failover, or your own dump1090/readsb receiver as a source with internet fallback

- Routes are cross-checked against the aircraft's actual position, so stale database entries get rejected instead of displayed

- Bundled OurAirports database (8000+ airports), map tiles with an on-device cache

Alerts and integrations

- Push notifications to your phone via ntfy.sh (free, no account): emergency squawks, watchlist aircraft, predicted flyovers

- Watchlist with gold highlighting; military and notable heavies (A380, AN-124, C-17...) are always highlighted

- MQTT with Home Assistant auto-discovery, generic JSON webhooks (Node-RED, n8n)

- Alert history stored on flash and browsable in the web panel

Web panel

- Live Leaflet map with trails and country flags, flight table, session and 30-day stats, spotting history with CSV export

- Full device configuration with per-field help, OTA firmware updates from the browser (locked by default, armed from the device)

- Documented HTTP API: live state JSON, config, logs, Prometheus /metrics, even a /screen.bmp live screenshot endpoint

- Optional password protecting the panel and the whole API

Install

Browser installer (Chrome/Edge): https://theqkash.github.io/esp32flight/

Source: https://github.com/theqkash/esp32flight

Happy to answer questions. If you have your own RTL-SDR receiver, this thing turns it into a proper desk display in about five minutes.


r/esp32 11h ago

I built a custom 16-bit fantasy game console with custom CPU/PPU emulator, chiptune audio and compiler

Thumbnail
gallery
30 Upvotes

I’ve been building my own C-like compiler in Python for a while now. Eventually, I thought to myself, "Why don't I use it to compile to my own custom instruction set?" I had an unused ESP32 lying around from an old project and figured it would be fun to make it run on the hardware and build some games.

Well, things escalated quickly. With the help of Claude to speed up the architecture design and documentation, it evolved into a complete, cross-platform 16-bit fantasy console ecosystem.

Currently, the hardware version runs on two ESP32-S3-N16R8 chips: one handles the CPU emulator and audio, and the other is a dedicated PPU emulator.

Here are the technical specs of what I ended up building:

CPU: A custom 16-bit CPU (8 registers, 64 KB space), emulated entirely in C++.

Toolchain: A complete C-like compiler (Lexer, Parser, IR, Register Allocator, .rom).

PPU: Strongly inspired by the NES-2C02. It features tile, sprite, and text layers, hardware scrolling, and its own dedicated VRAM.

APU: A 4-voice chiptune synth (2 pulse + triangle + noise). It supports instrument macros, vibrato/slides, a song sequencer, and comes with an MML (text-to-song) compiler.

One of the things I'm most proud of is the zero source drift. There are three ways to run the engine (Native CLI, WebAssembly for the browser, and ESP32 hardware). A single game ROM runs bit-identical across all three of them.

I also put together a chapter-by-chapter walkthrough that teaches you how to build a complete side-scrolling mining game from a completely blank screen, just to show how the whole pipeline works.

On the hardware side, as you can see it's all still on a breadboard right now. I'm pretty green with the electronics side of things, so I haven't locked in a final build yet  at some point I'd like to move it onto perfboard or a proper PCB, but I'm genuinely not sure what makes the most sense. I also want to add more modules as I go (an SD card for ROM/save storage is next on the list, probably more after that). Very open to suggestions if anyone's walked this path before.

The whole project is 100% open-source with zero dependencies. You can check it out here: https://github.com/hamxxaa/toy-compiler-custom-emu16


r/esp32 11h ago

I made a thing! PoC: Bluetooth keyboard controlling Retro Voxel Space Comanche-like render on ESP32-C3 / ESP32-S3 Supermini

Enable HLS to view with audio, or disable this notification

19 Upvotes

This is a voxel-space renderer running on an ESP32-C3/S3 Supermini with an ST7789V display, controlled by a BLE Bluetooth keyboard (a classic bluetooth keyboard cannot be used due to ESP32-C3/S3 limitations).

https://github.com/juanmpd/ESP32C3-Supermini_VoxelSpaceWKeyboard

As usually, I'm using a pin assignment that allows me to plug-and-play the display directly over the microcontroller on a protoboard without any cables at all, or to solder it directly on its belly without any wiring (except for the BackLight control if supported by the TFT display).

It's been compiled with VisualStudio Code with the PioArduino extension, using the Lovyan display and NimBLE-Arduino libraries.

The project demonstrates the use of a BLE keyboard to control the device, and the rendering of a terrain with shadows using the Voxel Space technique.

Using a BLE keyboard to control a device such the ESP32-C3 or ESP32-S3 is probably a completely useless thing to do, but I'm a bit stubborn and I didn't stop until achieving it... It was quite difficult to get to work, and it may even still have some flaws... But it is more than enough for me in its actual state.

About the Voxel engine, I previously adapted a simpler pascal demo (see PoC: Retro voxel landscape render with ESP32-C3 Supermini : r/esp32), but later I stumbled upon great Sebastian Macke's VoxelSpace project (see s-macke/VoxelSpace: Terrain rendering algorithm in less than 20 lines of code) where he shares some javascript code to run a demo very like the original Comanche 1992 Novalogic game. So, I couldn’t resist attempting an adaptation for the ESP32-C3 / ESP32-S3.

Compared to my previous pascal-derived version, it looks far more realistic, as it is four times larger and wider, and shows shadows. But it so requires far more memory, which did not fit in the scarce ESP32 main memory, so I ended up storing 2Mb of data in flash, and that makes it run slower than my previous demo.

Key points:

  • As previously, the adaptation of the code includes using fixed point arithmetic instead of float.
  • Computations using parallelization in case of ESP32-S3
  • 2Mb of Terrain and color data stored in flash memory (requires board_build.partitions = huge_app.csv)

r/esp32 2h ago

I made a thing! Building an open-source "dashboard for anything" on a 4.2" tri-color e-paper ESP32-S3 board — weather done, stocks/crypto next. Feedback wanted!

Thumbnail
gallery
10 Upvotes

Hi r/esp32!

We RockBase-IoT Team are building an open-source e-paper desk dashboard and would love your feedback before I lock in the roadmap.

Hardware: NM-EPD-420 dev board - ESP32-S3 (16 MB flash, PSRAM, Wi-Fi + BLE 5) - 4.2" 400×300 tri-color (B/W/red) e-paper panel, GDEY042Z98, driven by GxEPD2 - AHT20 temp/humidity sensor (power-gated), battery ADC + JST Li-Po connector - ES8311 audio codec + speaker + PDM mic, µSD slot, SX126x LoRa header - Per-peripheral power enables, so everything can be fully powered down before deep sleep

Firmware: ESP32-Dashboard (MIT, PlatformIO/Arduino) What's working today: - Full weather station on the free Open-Meteo API — no API key needed: current conditions, 5-day forecast, hourly temp + precipitation chart - US AQI / PM2.5, indoor T/RH from the on-board AHT20 - Deep sleep between updates (default 30 min), plus a "bed time / wake time" window so it doesn't refresh at night - Browser-based config portal (WiFi, location, units, timezone, sleep interval) — long-press BOOT for AP mode, no app needed - 3-color red accents, en_US / zh_CN UI, configurable units for everything

Where I want to take it — "dashboard for anything": I've sketched out an 8-page UI (see image): Today overview, monthly calendar, weekly timeline, world clock, headlines, weather, stock/crypto portfolio, and economic calendar. That's mockup stage — the weather page is the only fully working one so far.

Questions for you: 1. Which pages would you actually use on a desk e-paper display? What am I missing? 2. For stocks/crypto — any free APIs you trust long-term? (Trying to stay API-key-free like Open-Meteo, but that may not be realistic for market data.) 3. Any interest in a 7.5" B/W version (GDEY075T7, 800×480) or 7.5" tri-color version? BSP is in progress.

Repos (both MIT, stars/issues/PRs welcome): - Firmware: https://github.com/RockBase-iot/ESP32-Dashboard

Full disclosure: We're involved with the board/project, but everything is open source and I'm mainly here for honest technical feedback. Thanks!


r/esp32 10h ago

I made a thing! "Smart" Fireplace

Enable HLS to view with audio, or disable this notification

10 Upvotes

So I was recently gifted a fireplace and entertainment center from family. As I was sitting on the couch too far away from the remote, I got the idea "Hey wouldn't it be cool to control this with Alexa?"

Since this was a project that built on other things that I've done in the past, (namely coralling a Roomba vacuum cleaner with an IR "wall" and using the ESPAlexa library to control a smart relay with voice commands) I figured I'd build on those.

I got a chance to learn about and work with transistors and sniffing IR remote codes, as well as using the Fauxmo library to create multiple "devices" for Alexa to recognize and control. I had some trouble building on ESPAlexa to recognize multiple devices, thus learning about Fauxmo.

Right now the logic is a little janky for some of the functionality but thought it'd be cool to show as a stepping stone for me and future projects. But as is, I can turn it on and off, control heat with a slider, cycle through flame intensity, and power the sound.

I won't be building a custom pcb or thinking about long-term use, just thought it'd be a fun & fast way of keeping up on some dusty skills and to show someone


r/esp32 17h ago

Hardware help needed Noise and consistent lines on OV5640 camera with Seeed Studio ESP32S3 Sense

Thumbnail
gallery
9 Upvotes

So, I've been working on this diy toy camera project and this noise/pattern persisting in my image captures has had me scratching my head.

It is a OV5640 sensor paired with Seeed XIAO ESP32S3 Sense. Powered by a 2000mah LiPo wired to the board. Did not experience the issue with the OV3660 the board came with by default

The problem is in darker scenes: noisy, consistent lines. The lines sit in the same place shot to shot. Dark frame attached to see the extreme of what I mean. The other shot is a relatively dim lit desk space, but you can see the lines and noise more prominent along the left side.

Couldn't find a definitive solution from my online research. One common theme I found though is it could be either power or heat related.

What I've done to try mitigate:

  • reduce / cap the gain ceiling
  • reduce sensor XCLK below 20mhz
  • reduce the capture resolution (to QXGA max)
  • reseating the ribbon cable, to not much improvement

Is this just a limitation with the sensor and board? Any insights appreciated.


r/esp32 2h ago

I made a thing! I built a real-life MW2 Heartbeat Sensor with a ESP32 and EBYTE E54 mmWave Radar

Thumbnail
youtu.be
2 Upvotes

https://github.com/cfong2001/EBYTE_E54 (the hardware is linked in the github)

Always wanted to see if you could build a working MW2-style heartbeat sensor using cheap off-the-shelf hardware. Turns out you can!

Using an ESP32 and an EBYTE E54 24GHz mmWave radar module, this setup tracks up to three people at a time, up to 25 meters away. Theoretically, this should work through walls or doors.

Some other features:

Themes: For fun, there are themes. MW2, Alien, plus some standard options. The themes are easily extended if you'd like to customize it further.

Warning & Dead Zones: You can define a warning or dead zones where the radar will flash red if someone enters or ignore a track.

Path prediction: If there is a drop out for less than a second, it predicts their trajectory so the blip doesn't flicker out.

- Wi-Fi web HUD: Also streams live JSON radar data to your phone for remote viewing (in testing still).

-Settings Menu: There are a variety of (poorly organized right now) settings which you can play around with.

Let me know what you think!

(Thank you to EBYTE for providing the ESP32 and E54 hardware for this project. Besides the hardware support, I am under no obligation to say anything positive. Nonetheless, I can confirm that the parts I received all work reliably and the documentation/test software is superb. I can recommend.)


r/esp32 9h ago

Hardware help needed Esp32...we need more power captain!?!

1 Upvotes

*AI trigger warning* I've not done any coding since i finished university many many years ago (we're talking PIC chips and 555's)

But I had an idea for a project and thought I'd give this "vibe coding" a shot... It's not perfect and i understand the hate but hell I'm impressed with how much ai has come on in such a short space of time.

Anyway...to the problem in hand: I have project that requires an esp32 with a i2s dac & amp to play files from an SD card selected by an rfid reader and tags. I can get each individual part to work on its own but when assembled as a whole the rfid reader stops working. The all powerful Claude seems to think there's not enough power to go round causing the card reader to brown out? The card reader is the only thing drawing power from the 3v3 line everything else is directly from the 5v line.

How do I get more power through the esp? I thought about running the chip from 5v 3 amp psu directly through the vin...but I'm reading that if I do that I shouldn't then connect it to a computer/psu via usb...but that means I then lose access to the serial monitor for reading the rfid tag data?

The only other way I can think to do it is to give the rfid reader a separate 3.3v voltage regulator? But I'd much prefer to just increase to power available to the esp as a whole?

Thanks for reading and any help appreciated :)


r/esp32 6h ago

ESP32 + SN65HVD230 reads nothing on Mercedes W203 interior CAN (CAN-B), but the transceiver tests fine

1 Upvotes

I'm trying to read the interior CAN bus (CAN-B, 83.3 kbps) on a Mercedes C-Class W203 using an ESP32 (built in TWAI controller) and an SN65HVD230 transceiver module (the WCMCU-230 board, VP230 chip). I tap the CAN pair at the radio connector.

The problem: I get absolutely nothing. Zero frames and zero bus errors, at both 83.3k and 500k, and with either wire polarity.

What I already verified. I ran a TWAI loopback self test (NO_ACK mode, self reception through the board's onboard 120 ohm) and it received its own frames perfectly, 39 in a row, no errors. So the ESP, the TWAI controller, the transceiver TX and RX, and the wiring between ESP and transceiver are all proven good. A raw digital read of the RX pin on a live bus shows it sitting almost always high with only tiny noise blips, so no framed traffic is reaching the pin.

Then I measured the actual CAN wires at the radio. There is no continuity between them (no 60 ohm termination), and the idle levels are about 0.5V and 4.5V, not 2.5V and 2.5V. That looks like low-speed fault-tolerant CAN (ISO 11898-3), not high-speed.

Here is where I'm stuck. The author of a well known W203 CAN project told me high-speed transceivers read fault-tolerant CAN-B just fine in normal operation and that he used a TJA1050 without issues. So the transceiver type may not be the blocker. My board has a 120 ohm termination resistor (R2) permanently between CANH and CANL. Low-speed fault-tolerant CAN is supposed to be terminated with 500 ohm to 6k per node, never 120 ohm, so I suspect that 120 ohm is overloading the weakly driven low-speed bus and collapsing the signal. The SN65HVD230 datasheet also rates the bus pins for only -2V to +7.5V, which matters if CANL actually sits near 11V when dormant.

My questions. Has anyone read Mercedes interior CAN-B with an ESP32 plus a plain high-speed transceiver like the SN65HVD230 or TJA1050? Is the onboard 120 ohm the likely culprit here, and should I just remove it for a mid-bus tap? Or is there something about reading low-speed fault-tolerant CAN with a high-speed transceiver that I'm missing? Any help appreciated, I've been going in circles for days.


r/esp32 9h ago

I made a thing! Tilelli's Atome LM Vs Google's TF Lite Micro on 18 MCU Tasks. Who do you think won ?

Thumbnail
gallery
1 Upvotes

We've been working on Atome LM for embedded machine learning, and instead of showing a handful of cherry-picked examples, we wanted to evaluate it across a broader set of MCU workloads.

So we built a benchmark comparing Atome LM against deployable TensorFlow Lite Micro baselines.

Results

• 18 datasets

• 4 statistically significant wins

• 13 statistical ties

• 1 loss

Accuracy was evaluated with 95% confidence intervals, so we only count a win when the difference is statistically meaningful.

The part we found most interesting wasn't actually the accuracy—it was the model size.

Across many tasks, Atome LM achieved comparable accuracy while producing artifacts that were anywhere from about 5× to over 70× smaller than the best deployable TensorFlow Lite Micro model.

\*This is the benchmark of Atome LM V3, scheduled to be released next month.

Meanwhile if you find this interesting, V2(SuperESP edition) is open source and available in GitHub. It's a LM that runs in a $5 chip. Comes with 12 ai apps. Tested and verified in real hardware, a $5 ESP32.

See for yourself :

https://github.com/TilelliLab/atome-lm


r/esp32 10h ago

PET COLLAR

1 Upvotes

So im buliding a GPS collar using a NEO-6M , im using a SIM800L for connection so its functional in rural areas as well where there is no wifi. im running on a 3.7v lip battery, my sim800l needs 5v sl im running it through a mt3608 stepup converter. But when i power it on the SIM800L fast blinks. And it says “NO SIM DETECTED “ Through ardiuno IDE can someone help?


r/esp32 13h ago

Just opened the GitHub repo for my ESP32-C3 low-power node (ESP-IDF/PlatformIO). Looking for collaborators and testers to refine it together!

1 Upvotes

Hey everyone,

I’ve officially made my ESP32-C3 environmental monitoring project fully Open Source on GitHub!

It's built entirely on native ESP-IDF v5.x and PlatformIO (no Arduino framework) to keep it lightweight, fast, and optimized for Deep Sleep.

Since I'm still polishing the codebase and testing real-world edge cases, I’d love to invite anyone interested to join in, test the firmware, or contribute code!

What's already in the repo:

  • Pure ESP-IDF C: Built without Arduino wrappers.
  • Deep Sleep Architecture: RTC timer and RTC GPIO button wakeups.
  • SoftAP Web Portal: On-demand configuration for Wi-Fi, thresholds, and calibration without serial re-flashing.
  • Multi-Channel Alerts: Independent dispatch to Telegram, Discord Webhooks, and Custom JSON Webhooks.
  • NVS Storage: Persistent flash memory for Wi-Fi credentials and soil calibration (v_dry / v_wet).
  • Sensors Integrated: Capacitive Soil Moisture, DHT22, and BMP280.

Whether you want to flash it on your board, suggest architectural improvements, open a Pull Request, or just report a bug — all contributions and testing feedback are super welcome!

GitHub Repo:d7main/ESP32_EnvironmentalNode: ESP32-C3 low-power node in pure ESP-IDF & PlatformIO with Web Config

Feel free to star the repo, clone it, or drop your thoughts in the comments or GitHub Issues. Let’s build something great together!

Cheers!


r/esp32 6h ago

Hardware help needed I can't connect/run nodeMCU esp32s v1.1 30 pins to TFT 2.8 240x320, ILI9341

0 Upvotes

Hi everyone, I'm completely new to ESP boards and electronics in general, so I’ve been trying to figure out how to get everything connected. I couldn't find any helpful videos on YouTube, so I turned to Gemini and ChatGPT. Even though they guided me through the wiring and I got it connected, my screen is just showing a solid white backlight. I'm completely stuck and can't seem to get any of the example codes to run. Any advice?


r/esp32 8h ago

I made a thing! A simple internet radio on a ready-made cube with OS free from me

Post image
0 Upvotes

Hi everyone,

Funny confession for this group: I’ve been soldering since I was six. This project was about doing the opposite. Zero soldering, zero jumper wires - you buy a ready all-in-one cube (M5Stack Core2) and software does the rest of the job I wanted done: a standalone internet radio.

The idea went a bit further though. I wanted anyone in the world to be able to buy the cube and install the whole system straight from the browser - a few minutes, one button, no toolchain, no specialist knowledge. That part works today: Chrome or Edge, a USB-C cable, done. It plays through its own speaker or a Bluetooth one, keeps a local white/pink/brown noise generator for when the network dies, and there are no accounts, no cloud, nothing phones home.

One honest disclaimer: the firmware and the site are in English, but the station catalogue is Polish for now (218 stations, each one verified with a real connection, not a scraped list), so for most of you this is more a curiosity than a daily driver. The sources are landing on GitHub soon, GPL. The plan from there: ports to other M5Stack cubes first, then other vendors’ hardware if it works out - and I figure “only Polish stations” is exactly the kind of problem a community fixes in a weekend.

If you want to look at it: https://fiedoruk.pl/open-radio-en.html