r/esp32 • • Jul 10 '26

Are Arduino sensor modules compatible with ESP32?

Post image
1 Upvotes

Hi, I'm new to ESP32. I want to buy an ESP32 DevKit and some Arduino sensor modules. Are they compatible? My main concern is 5V vs 3.3V logic. Is it good combination?


r/esp32 • • Aug 04 '26

AI Pocket Buddy - Waveshare ESP32-S3 Touch LCD 1.46

Post image
4 Upvotes

A self-contained, wearable AI voice companion on an ESP32-S3. Tap the round screen, speak, and it answers back out loud while a reactive face blinks and talks. It calls cloud AI APIs directly over WiFi. No phone app, no server, no Raspberry Pi. The device is the whole product.

reacts to each state (ready, listening, thinking, speaking) and a line of status text.

One specific board, no wiring required. Everything is onboard.

Waveshare ESP32-S3-Touch-LCD-1.46

https://github.com/minkgx1/pocket-buddy


r/esp32 • • Jun 01 '26

Why is everyone against the use of ai

52 Upvotes

Hi I'm new to this sub reddit. I'm seeing alot of hate against the use of ai in the making of projects and I just can't really wrap my head around it. What's the problem of using ai to write or help out in the design of my project, it speeds up the development of our project and make our life way easier. Can anyone help me out here I don't really get the hate, thanks


r/esp32 • • Nov 07 '24

Consider ordering your supplies soon.

0 Upvotes

An FYI:

On January 24th, or thereabouts, the prices of nearly all products Americans buy with parts from overseas will significantly increase in price. Products made wholly oversees will likely rise by 20% or more. This goes for most everything purchased in the US.

Many products ordered from overseas take weeks or months to arrive in the US. If you don't come up with the money to order now then you will pay increased price if the product doesn't arrive before that date.

If you are a business owner then you know what this means.

Just a suggestion.

Just a consequence.


r/esp32 • • Nov 19 '24

What do these buttons do on this esp32 board?

Post image
0 Upvotes

(Esp32 s dev kit v1)


r/esp32 • • Sep 05 '23

I’ve got to start buying genuine boards lol

Thumbnail
gallery
0 Upvotes

So….I bought here two boards on TEMU.

  1. I didn’t see that the headers were already soldered on - didn’t say in the listing either 😒😒

  2. They are two different sizes so who knows how printing a case is going to go. 3 The one with the USB type C connector doesn’t have as many pins as the one with the Antenna connector, which I didn’t notice but is a nice surprise, so I’m just super confused.

But, they refunded me the money and let me keep them so all in all I learned a good lesson here.

Can y’all share some links with me about where to buy boards? I guess I could go to AdaFruit or Espressif themselves. I know you usually get what you pay for but it would be nice to be able to buy em’ knock off for a few bucks each.


r/esp32 • • Aug 22 '26

I made a thing! Chased a “low memory” OTA bug through 10+ hardware rounds on my ESP32-S3 ticker — root cause wasn’t what I expected

Thumbnail
gallery
0 Upvotes

Where it actually was: the Settings screen was eagerly constructing all 9 tabs’ UI content on load — and that construction cost was starving the OTA check/install’s own TLS handshake at exactly the wrong moment. Took live frame-timing diagnostics and a reconnected serial line to actually catch it. Fix was switching Settings to build each tab’s content lazily instead of upfront. Also found and killed a genuine small leak in a setenv() call along the way — different bug, same investigation.

Also picked up one hardware quirk I can’t fix and had to just accept: one of the display layouts (a colour-graded heatmap view) genuinely shifts colour depending on viewing angle — tiles read cyan/magenta dead-on, correct colour off-axis. Confirmed by physically tilting the unit, not a rendering bug. Sometimes the panel just wins.

A couple of things I deliberately held back on: a live news feed and multi-language UI support were both scoped early on, but shelved for now — both would mean sustained background memory pressure competing with everything else already fighting over a genuinely small heap, and after the saga above I wasn’t adding more load to that pool without a good reason to.

Where the project’s at now (v12, stable, still testing):

**•**	7” full-colour capacitive touch, portfolio mode with live P/L, currency converter with flag icons, 10 themes + editor, a colour heatmap layout, crypto Fear & Greed index, world clocks, exchange open/close + pre/after-hours indicators, an actually-animated quiet-hours screensaver (Matrix rain or a starfield, your pick), Heikin-Ashi candles, 7 chart timeframes  
**•**	Self-updating firmware with dual-slot rollback — a failed update can’t brick it  
**•**	Multi-source pricing (no single API dependency) with an honest stale-data indicator rather than silently showing old numbers

Case is carbon-fibre front panel over a 3D-printed body, individually built.

[GitHub with schematics/build notes coming — will drop it here once it’s up.]

Not selling yet, but if there’s real interest I’m considering a small first batch — drop a comment or DM if that’s something you’d want, genuinely helps me gauge whether it’s worth doing.

Happy to go deeper on any part of this — the heap/OTA saga, the touch controller hardware mod, the multi-source data-reliability design, whatever’s interesting to this crowd.

Detailed list of current capabilities:

• Unlimited watchlist — stocks, cryptocurrencies, and currency pairs, arranged in pages of 8 with smooth swipe or auto-rotate navigation.
• Three chart styles — sparkline, filled area, or candlestick, set globally or per-symbol.
• Full detail view — tap any symbol for a proper chart with 1-day through 3-month timeframes, a moving-average overlay, and an optional RSI momentum indicator.
• Dedicated currency screen — live FX rates for the pairs you track, with a running 5-day range.
• Price alerts — set a threshold and get a clear on-screen notification the moment it’s crossed, no repeated pinging.
• Self-updating firmware — the device checks for improvements over Wi-Fi and installs them with a single tap, with automatic protection against a failed update ever leaving it unusable.
• Reliable by design — multiple data sources are used behind the scenes so pricing isn’t dependent on a single provider, and the display always tells you honestly if data is running behind rather than silently showing stale numbers.
- Local currency.
- Internet Time sync.
- Time-zone and Daylight saving.
- Up to 5 WiFi networks stored.
- Portfolio.
- World Clocks.
- Display themes.
- Screen savers - digital rain, clock, star field.
- Fear & Greed Indicator (crypto only).
- Market pre-market, open, closed.
- Market Calendar.

I’m not sure but I think this must be the most feature rich ESP 32 based desktop asset tracker? Thoughts?


r/esp32 • • Jan 16 '26

I made a thing! Tip: Vibe coding EspHome Yaml for ST7920 Graphic LCD

Post image
0 Upvotes

For some reason I still love graphic monochrome LCD displays. Some nostalgia I guess. :) My coding skills are not that great and Home Assistant Yaml is also quite new to me. Thankfullv I experienced that usina Claude and Gemini (when I was out of Claude credits for today) to create a Yaml for a specific purpose and piece of external hardware works pretty good. The display shows temperature in Celcius for four temperature sensors connected to HA via Ziabee. Thought I could share this here :)


r/esp32 • • Apr 19 '25

Hardware help needed Unable to use my esp32

15 Upvotes

My esp32 power LED keeps flashing and serial communication through USB cable is not possible as it's not recognizing the board, however holding the reset button seems to establish a connection but obviously that doesn't really help. This is only happening off late and this specific esp32 worked properly previously with the same computer and cable. Any help would be greatly appreciated. Thanks in advance!


r/esp32 • • Mar 18 '25

Breadboard Killer

0 Upvotes

Hey guys,

Thoughts on my bread board eliminator project?

It's a custom esp32 board designed to utilize USB type-C cables to connect to sensors or actuators.

So I made a 10 USB version one. Has I2C, SPI and UART accessible from a mini 2x USB-C breakout board. Some ports are for analog in only (joystick for example), some pure GPIO. Has a servo connection section for servos or jumper cables if needed.

2x USB type-C breakout for urb connections to use sensors and other items. 2x for daisy chaining SPI, I2C Bus sensors.

3.3v Version: (no 3d model yet)

5v version (internal boost converter for 3.3v to 5v conversion)

Also made a 8-USB version with 2x USB for CAN bus IO and a power distribution section for more interesting projects. The power distribution section has XT-30 connectors for a battery pack and distributing to motor drivers, actuators, etc. The power distribution powers the board via an internal buck converter to power the board. Also addition 3 pin section for running servos.

Have 2 additional breakouts:

BTS7960 motor drivers. If you've used a BTS7960 before, you probably know how much of a pain in the ass the wiring is. Trying to simplify the wiring.

BTS7960 motor drivers:

Also a breakout board for stepper motor drivers designed to stick into screw terminals

Apologize for all the pictures, but just want to know if this would be useful or if there's anything that people would change for this to be better? The end goal is to eliminate wiring and make use of the esp32 more reliable and not prone to failure due to loose/faulty wiring.


r/esp32 • • Jan 03 '26

Update: I rewrote my Smart Farm logic based on your feedback. (FSM + Anti-Corrosion implemented)

3 Upvotes

r/esp32 • • May 28 '24

How to use those pins?

Post image
4 Upvotes

I guess I have to solder the pins to the board or can I also solder wires directly to the board? Can I also remove them later with my soldering iron?

I wanted to buy a dev board with fixed pins but did somehow a mistake in ordering the right one. So I am a bit lost and have no experience. I don‘t know if I want to solder the wires without some prototyping before.

What in general is the sense of the loose pins?


r/esp32 • • Oct 25 '24

Need help with my custom firmware Mr. CrackBot

Post image
0 Upvotes

Hello all, I’m currently working on a custom firmware called Mr. CrackBot for the CYD. It is supposed to run a txt file against network passwords, deauth WPA2 and attempt WPA3. Display network info including cracked password if applicable, BLE hacking features, and few other small things. Today I got it to compile, and flash, and nothing… blank screen. I’m still new to building firmware, and if your any good at IDE and or c++, please take a look at my GitHub repository for it, included in the comments. Thanks!!!! 💾


r/esp32 • • 22d ago

I made a thing! I built a chakra detector for the new ESP-Mosaico (ESP32-S31): strike a singing bowl and the whole screen, plus your Hue lamps, takes its colour

Thumbnail
gallery
0 Upvotes

My mother runs a sound healing room, so I rebuilt my old ESP32-S3-BOX-3 chakra firmware as an app for Espressif's ESP-Mosaico (ESP32-S31, 2.16" 480 x 480 touch screen, microphone).

What it does:

* Hears a singing bowl, tuning fork or hummed tone and shows the chakra with symbol, note, frequency to 0.1 Hz and cents (a tuner ring fills as the tone settles)

* The whole screen fades to the chakra's colour, so it works without lamps; Philips Hue (local API), Home Assistant lights and WiZ bulbs follow

* Two reactions: Flow waits 0.4 s for a steady tone and fades softly (made for a sound journey), Strike reacts in 0.13 s

* Notes (A = 440 or 432 Hz), Solfeggio, or your own bowls: strike each of your seven bowls once and it learns them

How it decides it is a tone and not noise: a 4096-point FFT (3.9 Hz bins, the old firmware had 31 Hz), a weighted harmonic sum, then three gates: loud enough, 45 % of the energy on the tone's harmonics, pitch steady within 35 cents. Plus hysteresis at note boundaries so a bowl sitting between two notes does not flicker.

I tested it against free recordings from Wikimedia Commons: single bowls and tuning forks lock one chakra 77 to 99 % of the time; drums, shakers, rain sticks mostly give no colour; a handpan melody changes colour 3 times in Flow and 116 times in Strike. One honest finding: real bowls are often not tuned to C to B. In a 7-bowl chakra video the "root" bowl rings at G#3 (210 Hz), which is why learning your own bowls exists.

The detection is plain C with no dependencies, so the board, Espressif's simulator (fed by the Mac's microphone) and the host tests run the same code. My board is still on order, so it is simulator-tested and builds for the ESP32-S31, but untested on hardware.

Open source (Apache-2.0): https://github.com/leopardcodeai/chakra-detection

Happy to hear from anyone who plays bowls: does your set match C to B, or would you learn it?

Built on Espressif's esp-mosaico-vibe workspace and ESP-GSP simulator; test recordings from Wikimedia Commons (free licences), not shipped in the repo.


r/esp32 • • Jul 06 '24

I find ESP-IDF unnecessarily complex, what do you use for ESP32 that is not related to Python?

0 Upvotes

Although I love my ESP32 original boards, I find ESP-IDF too complex and it seems that it adds runtime overhead. Is there any other options when it comes to ESP32?

ESP-IDF forces you to use their own way of using CMake, instead of giving you the flexibity of Pico SDK.

Any ideas?


r/esp32 • • Aug 03 '24

Help me learn to love the ESP32

1 Upvotes

I just got moved over to a project that uses an ESP32 wroom 32e. The code is written using an older version of the IDF and the project is in VSCode. I need to overcome my dislike of the IDE and the chip itself.

Is there a different IDE? Do I have to use the IDF? How can I overcome years of considering the family of chips to be complete garbage from a security perspective? How do you debug the code?

I'm being sincere. I need help!

Edit for clarity: I think I can update to a later version of the IDF. I need to be able to secure the firmware image. I need to communicate with aws iot. I need to be able to do CI/CD.


r/esp32 • • Sep 10 '26

I made a thing! I made Cursor for ESP32 and Arduino, connected to the board you are building

1 Upvotes

Plynx started as a native iPhone dashboard for controlling pins and reading sensors. The latest work goes further. Archimedes can inspect the project, reason about the wiring, review the sketch, interact with a running board, and carry an approved change through to an OTA update.

I think this is part of the future of hardware development. You should be able to describe what you want to build, develop the idea with an agent, and keep using the same workspace as you assemble, program, control, and automate the finished project.

What Plynx can do

The current workflow covers the path from the initial idea to the running hardware:

  • You can update a board from the conversation while the agent edits, compiles, and sends the sketch over OTA.

  • The pin review checks every GPIO assignment and suggests pins with the capabilities required by each signal.

  • The wiring engine draws the complete circuit and reports missing grounds, unsafe voltages, unsupported pins, and other electrical problems.

  • The component catalogue identifies modules from their markings and explains the purpose of each terminal.

  • The project tools produce a bill of materials and match the required components with AliExpress listings.

  • The live connection reads sensors and tests outputs after you grant permission.

  • The dashboard builder places the controls and indicators on the app interface and binds them to the correct communication channels.

  • Plynx provides controls through the Home Screen, Lock Screen, Apple Watch, Siri, and Shortcuts when you need them outside the app.

The ESP32 makes pin selection more interesting than a static pinout suggests. Its GPIO Matrix can route interfaces such as I²C, UART, and PWM through different GPIOs. Plynx can use this flexibility to arrange the signals while respecting the restrictions of boot, flash, analogue, input-only, and output-capable pins.

Setup and everyday operation

The initial configuration uses a small sketch without a copied token. The board creates a temporary Wi-Fi network, and the iPhone sends the network credentials and project token directly.

Plynx can also connect directly to an ESP32 through Bluetooth. This mode supports projects without Wi-Fi and boards that must operate away from a router.

After deployment, server-side automations can respond to thresholds, schedules, sunrise, sunset, and location events. Rules that do not require the phone continue to run when the iPhone is offline.

Plynx also controls the finished project outside the main dashboard. Home Screen widgets, Lock Screen widgets, Apple Watch, Siri, and Shortcuts provide direct access to pins and scenes, while the dashboard retains the last known values when a board goes offline.

You can ask Siri to toggle or write a pin, read its current value, or activate a scene. These actions make the project part of the iPhone automation system instead of limiting it to a dashboard that you must open manually.

Availability

Plynx is free and currently runs on iPhone. The Arduino library uses the MIT licence, and the GPL-3.0 server runs on cheap devices as small as a Raspberry Pi Zero 2 W.

If you have an ESP32 or Arduino project, I would like you to use Plynx throughout a complete build. I am interested in how it supports component selection, wiring, firmware, OTA updates, dashboards, automations, and the daily operation of the finished device.

Links

Plynx 1.0.6 is also available directly from the Arduino Library Manager.


r/esp32 • • 1d ago

I made a thing! I got a full agent loop running on an ESP32-S3 board, in Rust

Post image
0 Upvotes

Hey everyone! I’ve got a full agent loop running on an ESP32-S3 board. 🎉

And yes—the whole loop runs on the board itself: transcripts, tools, skills, long-term memory, and streaming. It connects over HTTPS to any OpenAI-compatible or Anthropic endpoint.

Here’s what it can do:

  • On-board agent: The agent loop, tools, memory, and transcript all live in the firmware. You can use any OpenAI-compatible or Anthropic model endpoint.

  • Manifest-driven tools: Give it a JSON manifest, and manifest will validate it and turn it into working tools on the fly—even during the same turn.

  • Automatic device discovery: At boot, it probes I²C, 1-Wire, and any declared pins. Tools are only created for devices that actually respond.

  • MCP support: External agents and the on-board agent see the exact same tools, all generated from a single description.

  • HTTPS web console: Chat with the board or configure devices, tools, schedules, logs, WiFi, and the model right from your phone. The board even generates its own certificate.

  • Scheduled tasks: Schedule prompts, or set sensor rules that trigger a prompt when a reading crosses a threshold.

  • Shell and scripting: Includes a shell with 57 NuttX-style commands, plus an interpreter for writing loops around tool calls.

  • Long-term memory: Supports standing instructions, /AGENTS.md, a /MEMORY.md index, and skills—all assembled into the prompt on every turn.

  • Skills: One procedure, create-skill, ships with the firmware. It explains what skills are and how to write them. It’s installed in /skills on first boot, and any edits you make are yours to keep.

Hardware: ESP32-S3 N16R8

I haven’t tested cold power cuts, ENOSPC behavior, or how the audio actually sounds to a human yet. There are currently 970 unit tests, plus a host simulator that runs the same core against a virtual board.

Code, flashing instructions, and notes are here:
https://github.com/huichen/esp32-agent


r/esp32 • • 7d ago

Hardware help needed First DIY project: Building an ultra-portable smart keychain for my wife and me. Need some advice on battery optimization, function and design.

Thumbnail
gallery
48 Upvotes

hey everyone, this is my first time taking on a hardware project like this, so i'm looking for some advice. I want to build a pair of custom smart keychains—one to give to my wife and one to keep for myself.

my absolute biggest priority is keeping it extremely compact. i don't want a bulky cube. It needs to be super slim, pocketable. To keep it thin, I'm planning to stack the components vertically and use an ESP32-C3 SuperMini with the built-in 0.42" OLED screen a TP4056 charging module, and a flat 300mAh LiPo battery.

for the inputs i'm thinking of a touch input and one or two buttons if needed. for the output a coin vibration motor, micro buzzer and the display.

I could use some help on:

Creative Uses: How can I make better use of this hardware? I want to make sure we actually prefer using this over just pulling out our phones. I'm totally open to new ideas or mechanics for how we interact with it.

The Casing: I want to it to be super portable and pocketable. And also make it cute for my wife as it's our anniversary gift . can you suggest me some design inspiration?? and i dont know how to 3d print so will have to figure that out also.

Thanks in advance for any help or ideas!

EDIT: the main purpose is just to have a dedicated physical link with my wife that feels way more personal and frictionless than texting, without all the phone screen distractions and notifications.

instead of pulling out a phone, you can tap a quiet touch pattern on the casing so her keychain vibrates with the exact same rhythm in real-time, or cycle through a few quick micro pixel icons on the display (like heading home or a little heart) to send heads-up updates in one second flat. it’s basically just a low-friction way to stay connected throughout the day.


r/esp32 • • Jun 29 '26

Hardware help needed Does anyone know why my m5stick plus 2 dosnt turn on?

0 Upvotes

Havnt used in a few months, dosnt turn on and dosnt turn on even when its plugged in


r/esp32 • • Jan 18 '26

Hardware help needed Which esp32 boards are these??

Thumbnail
gallery
5 Upvotes

Hey guys I recently bought these 2 esp32 boards they are different. I can't seem to find any documentation on this . Thank you you help will be appreciated


r/esp32 • • Jun 28 '26

Solder a pin header they said…..

Thumbnail
gallery
0 Upvotes

I don’t have any soldering tools yet but I want to play with this lil guy and thought this might be a good way


r/esp32 • • Oct 15 '26

AI Content anyone actually vibe coding hardware yet? no EE background here

0 Upvotes

ok so genuine question. ive been using claude code / cursor for software stuff for a while and its kinda crazy how much i can ship without being a “real” dev. now i want to try hardware, like small robots, sensors, maybe something with an esp32 to start

problem is i never studied any of this. no EE degree, never designed a pcb, i know what a resistor is and thats about it lol

so im curious, is anyone here already doing hardware mostly with AI? like letting it pick the parts, write the firmware, maybe even help with the pcb or the case? what tools are you using for it and does it actually work or does it fall apart once real wires and voltages are involved

also be honest, is it realistic to get into this without the background or am i gonna fry a bunch of boards and give up. id rather start now and learn by breaking stuff than wait a year doing courses first

any tips where to start would be apreciated, or projects that are good for a first build


r/esp32 • • Feb 02 '26

I spent 3 hours debugging why my ESP32 MQTT location data vanished. Telemetry worked, heartbeat worked, location silently disappeared. The fix was one line.

0 Upvotes

I'm building a fleet tracking system with ESP32 devices in commercial vehicles. The setup: ESP32 → MQTT (EMQX) → Node.js backend → PostgreSQL.

Everything looked perfect in Serial Monitor:

[LOC] Published: 41.013045,28.909387 spd=0.1 sats=8 ✅
[TEL] Published: system telemetry ✅
[HB] Published: heartbeat ✅

But when I checked the MQTT broker trace... location messages were completely missing. Telemetry arrived every 60s. Heartbeat arrived every 60s. Location? Zero. Nothing. Not a single message in hours.

**The root cause:** PubSubClient's default buffer is **256 bytes**. My location payload (lat, lon, speed, heading, altitude, satellites, hdop, wifi_rssi, fw_version) was ~220 bytes + 38 byte topic + MQTT overhead = **~268 bytes**. Just 12 bytes over the limit.

**The evil part:** `publish()` returns `false` when the message doesn't fit, but since I wasn't checking the return value, Serial kept printing "Published!" like everything was fine. The function fails silently if you don't check.

Here's the math:

MessagePayloadTotal w/ topicStatus
Telemetry~165 bytes~215 bytes✅ Fits in 256
Heartbeat~80 bytes~130 bytes✅ Fits in 256
Location~220 bytes~268 bytes❌ Over by 12 bytes

**The fix — literally one line in setup():**

```cpp
mqtt_client.setBufferSize(512);
```

That's it. After adding this, every location message started arriving at the broker instantly.

**Lessons learned:**

  1. **Always call `setBufferSize()`** — never rely on the 256-byte default

  2. **Always check `publish()` return value** — it returns a bool for a reason

  3. **Test at the broker level, not Serial Monitor** — Serial Monitor will lie to you

  4. Calculate your total packet size: topic + payload + ~10 bytes overhead

I wrote a `SafePublish` wrapper library that does pre-flight buffer checks and logs actual publish results. It also catches the overflow before it happens and tells you exactly what buffer size you need.

**GitHub repo with full writeup + SafePublish library:**
https://github.com/mightyforever74/esp32-mqtt-silent-fail

Hope this saves someone the 3 hours I lost! 🫠