r/esp32 • • 2h ago

I made a thing! Quake, Quake II, Command & Conquer, Duke3D ported to ESP32-S3

17 Upvotes

Videos:

Quake 2: https://streamable.com/w3ra8l

Command & Conquer Red Alert: https://streamable.com/ug41o9

Github:

https://github.com/recrof/Quake-ESP32S3

https://github.com/recrof/Quake2-ESP32S3

https://github.com/recrof/Duke3D-ESP32S3

https://github.com/recrof/CommandConquer-ESP32S3

Games are mostly working on Seeed Studio Tracker L2 Pro and LilyGo T-Deck, but other (dyi) boards can be easily added


r/esp32 • • 20h ago

Esp32 Agent Harness

Thumbnail
gallery
18 Upvotes

I built an agent chat interface into ESP32. It has tools and functions connected to it. So you can plug things in and ask questions. It's designed to be as a starting point for your projects. I can't do electronics anymore my eyesight isn't what it used to be. But I think ESP32 is great.

https://github.com/8perezm/esuyo-esp32-agent


r/esp32 • • 1h ago

I made a thing! Follow-up on the tiny ESP32 sports scoreboard I built

Post image
• Upvotes

My first post about this got removed because it was basically “look at my thing” without enough of the actual ESP32/build details. Fair enough, so here’s a better explanation of what’s going on inside it.

This started because I wanted a little screen I could leave next to me during a game instead of checking my phone every few minutes. I used a LAFVIN ESP32-S3 board with a built-in 1.69” 240x280 ST7789 display.

I picked that particular board mostly because it already combined the ESP32-S3, display, USB-C and LiPo charging on one small PCB. I knew I wanted the finished thing to be tiny, so avoiding a separate display board and charging circuit made the physical build a lot easier.

The display is driven with Arduino_GFX using the ESP32 SPI/ST7789 drivers. I originally just needed something that worked reliably with this board and gave me direct control over drawing the scoreboard UI, and it has done the job well enough that I never had much reason to move to a heavier UI framework.

The device runs off an internal 3.7V LiPo. I designed the enclosure around the PCB and battery and went through several prints getting that right. The first one didn’t hold the board securely, I managed to put some of the button access on the wrong side, and there were a bunch of smaller clearance problems that only became obvious once I had the actual print in my hand.

On the software side, I decided pretty early not to have the ESP32 talk directly to every sports/fantasy API.

There’s an iPhone app that handles the API calls, authentication, fantasy roster logic, etc. It reduces everything down to the small amount of information the display actually needs and sends that to the ESP over BLE.

A typical game update is basically just league, away/home team, away/home score, status and clock. The ESP receives that, keeps track of the current game/league and renders it.

That split has worked pretty well because the ESP doesn’t need to know anything about whether the original data came from an NFL feed, fantasy provider, golf leaderboard, etc.

BLE caused more trouble than I expected once I started using the thing normally. I had to fix queue/race issues between received packets and the rendering/navigation side, and at one point USB logging itself could block long enough to interfere with navigation and BLE callbacks. Those are the kinds of bugs I never saw when I was just sending one test packet at a time.

At this point it can show live sports scores, fantasy football scoring alerts and golf leaderboards. The fantasy part is probably my favorite — the phone knows my roster, so instead of sending every event happening in every game, it can surface an update when somebody I actually have scores.

I’m also experimenting with adding Wi-Fi as an alternate mode. I still don’t really want the ESP handling provider APIs and credentials itself, so the direction I’m leaning is having it connect to a backend that sends the same sort of small normalized payloads the phone does now. Bluetooth would still be there for people who want the phone-driven version.

Firmware and the current enclosure .3mf are here:

https://github.com/againstthespread/scrbrd

iPhone app:

https://github.com/againstthespread/scrbrd-mobile

There’s still plenty I want to clean up, but it has crossed the line from “prototype I can make display a score” to something I can actually leave running and use.

If anyone sees something in the ESP/BLE architecture that you’d have approached differently, I’m definitely interested. This project has mostly been me finding the next thing I didn’t know I needed to learn. Thinking about adding a wifi option for anyone wanting to keep it on their desk/in the same place instead of taking it with them.


r/esp32 • • 22h ago

Support for developing Yamaha ECU applications on ESP32

Thumbnail
gallery
4 Upvotes

Hello everyone. I am currently working on a project to read data from a Yamaha motorcycle ECU. I’ve spent a week trying to figure out the exact method to "wake up" the ECU—specifically the wake-up frame/code and the data request frame—but I haven’t had any success yet. I don’t have access to any professional debugging tools, so I’ve been relying on research and reference materials.

The ECU is from a 2017 model; I’m still investigating whether it uses the K-line protocol based on ISO 9141 or KWP2000. I’m posting this in hopes of getting some help. Below, you can see the hardware setup I’ve been using for some of my other projects.

Everything is running on an ESP32, and I’ve already built an interface, but I haven’t been able to get the data to load into it yet. :((


r/esp32 • • 58m ago

There is no ESP32 in this video: esp32sim, ESP32 emulation in your browser

Thumbnail
youtu.be
• Upvotes

r/esp32 • • 16h ago

Software help needed ESP32-S3+Arduino error messages: Where?

2 Upvotes

I am going through the tutorials for the Freenove board described in my first post, and have encountered a run-time error. I would like to look up the error message myself, but I cannot find a manual for the Arduino IDE and e-mail to the address [support@freenove.com](mailto:support@freenove.com) gets refused as spam!

The particular tutorial is for manipulating an SD card. On running the sketch, I get the following message in the Serial Monitor:

E (3206) vfs_fat_sdmmc: mount_to_vfs failed (0xffffffff).
Card Mount Failed
mkdir failed
Failed to open file for writing
Failed to open file for appending
Failed to open file for reading
�Rename failed
Failed to open file for reading
�
SD card info:
Total space: 0MB
Used space: 0MB

The error presumably comes from the line of code

// Initialize the SDMMC interface with the specified pins
sdmmc_init(SD_MMC_CLK, SD_MMC_CMD, SD_MMC_D0, SD_MMC_D1, SD_MMC_D2, SD_MMC_D3);

The pins are #defined as

SD_MMC_CMD 40
SD_MMC_CLK 38
SD_MMC_D0  39
SD_MMC_D1  41
SD_MMC_D2  48
SD_MMC_D3  47

(If I leave the define in front of one of these, "Clippy" gets in the way and won't allow me to post.)

My question is, where do I look up that error number to see what is being complained about???


r/esp32 • • 23h ago

I made a thing! Ghost triggers - ESP32 PC power controller

2 Upvotes

I got tired of dealing with flaky Wake-on-LAN packets and smart plugs doing dirty shutdowns, so I built a small, fully isolated remote power and reset controller for my PC using an ESP32-C6-Zero and ESPHome.

It plugs directly into the motherboard's front-panel header (⁠F_PANEL⁠) and gives me reliable power-on, soft shutdown, 5-second forced power-off, hardware reset, and live power status inside Home Assistant - so I thought…

I built an optoisolated PC power switch for Home Assistant using a Waveshare ESP32-C6-Zero and LTV-816S optocouplers connected to the motherboard front panel ⁠PWR_SW⁠ header.

The issue: The PC randomly powers on or triggers a shutdown signal without any command sent from Home Assistant. It happens sporadically (sometimes seconds apart).

Current setup:
• MCU: ESP32-C6-Zero powered via 5VSB internal
USB header.
• Optocoupler: LTV-816S. ESP32 GPIO -> 330 ohm resistor > Optocoupler Pin 1 (Anode). Pin 2 (Cathode) to ESP GND.
• Motherboard Side: Pin 4 (Collector) to Motherboard PWR_SW (+), Pin 3 (Emitter) to Motherboard PWR_SW (-) / GND .
• Firmware: ESPHome with a standard GPIO momentary pulse output.

What I've already tried:
• Added a current-limiting resistor directly after the
ESP32 GPIO pin (in series to the optocoupler anode).
• Added a resistor directly before the
motherboard PWR_SW connection to limit leakage current / dampen ringing.
• Neither stopped the sporadic random triggers.

ESPHome snippet:

esphome:
name: pc-power-controller
friendly_name: PC Power Controller

esp32:
board: esp32-c6-devkitc-1
framework:
type: esp-idf

# Optocoupler triggers
output:
- platform: gpio
id: pwr_switch_pin
pin: GPIO2

- platform: gpio
id: rst_switch_pin
pin: GPIO3

# Momentary controls exposed to Home Assistant
button:
- platform: template
name: "PC Power"
icon: "mdi:power"
on_press:
- output.turn_on: pwr_switch_pin
- delay: 350ms
- output.turn_off: pwr_switch_pin

- platform: template
name: "PC Hard Power Off"
icon: "mdi:power-off"
on_press:
- output.turn_on: pwr_switch_pin
- delay: 5500ms
- output.turn_off: pwr_switch_pin

- platform: template
name: "PC Reset"
icon: "mdi:restart"
on_press:
- output.turn_on: rst_switch_pin
- delay: 350ms
- output.turn_off: rst_switch_pin

# Reads motherboard PWR_LED state
binary_sensor:
- platform: gpio
pin:
number: GPIO4
mode: INPUT_PULLDOWN
name: "PC Power State"
id: pc_power_state
filters:
- delayed_on: 100ms
- delayed_off: 100ms

What I'm wondering:
1. Could the ESP32-C6 GPIO be floating or pulsing
HIGH during an unlogged Wi-Fi reconnect or silent brownout reset?
2. Does the optocoupler anode need an explicit pull-down to GND (rather than just an inline series resistor to drain capacitive noise/EMI?
3. Are there specific GPIO strapping pin glitches on the
ESP32-C6 that default HIGH on boot/sleep wake?
Has anyone run into this with optocouplers on PC motherboard headers, and what was the actual fix?
Thanks!


r/esp32 • • 1h ago

Esp32 stopped working and I found short between 3v3 and gnd so is it dead?

• Upvotes

Hello everyone!

So I was working on motor controller using esp32, l298 motor driver, 7.4V ( 2 li 18650 batteries) and buck converter I made to supply 5v to esp

Project is motor controller via wifi, it was working fine and suddenly I get no WiFi from esp32 so I unplugged the batteries Gnd of esp32 and kept the rest (motor driver in1,in2 and enB)

Tried connecting it usb and still doesn't work but noticed that the micro processor chip was heating a bit so I unplugged everything and connected esp32 to USB alone then I noticed voltage regulator was really hot, removed everything and talked to chat got which suggested checking resistance between 3v3 and Gnd which was very low then used the diode test and it was a short circuit so my questions

1- what was the cause of that?

2- is it dead?


r/esp32 • • 4h ago

HELP WITH BATTERY CHARGING PADS IN ESP32 s3 super mini

1 Upvotes

Hi guys so basically im building something and i i have this esp 32 s3 super mini and it has battery pads named "B+" and "B-" behind it ... one small question i have is that if i connect the battery directl y into the pads then i can charge it with the esp's own usb .... but chatgpt is not particularly good with answering this and i dont see proper docs with this ... im in the software industry and tracking the pin and battery circuit diagram for this board is too tough of a process for me rather ask to the "WISE PEOPLE OF REDDIT" so pls . help me yalllll .


r/esp32 • • 17h ago

My first electronics project, building a little AI robot from scratch

2 Upvotes

Hi everyone!

I recently started my very first electronics project with absolutely no prior experience. I'm using an ESP32-S3 along with a small display, an INMP441 microphone, a MAX98357A amplifier, and a speaker.

I've managed to put everything together, and so far, everything is working! The display, microphone, and speaker are all up and running. I'm honestly surprised I got this far as a complete beginner.

My goal is to turn this little setup into a talking AI robot that can have conversations, respond with a voice, show expressions on its display, and maybe even have its own personality.

Now I'd love to hear your advice!

Would you recommend running the AI locally/offline or connecting the ESP32 to an online AI API?

I'd also appreciate any tips on how to approach the next steps, what technologies I should look into, and what challenges I might run into.

I'm still learning everything from scratch, so even basic advice would be really helpful.

Thanks! I'd love to hear your thoughts and learn from your experience.


r/esp32 • • 7h ago

Has anyone ever experienced ghost taps/swipes on a Waveshare touch screen?

Thumbnail
gallery
0 Upvotes

I have this: https://www.waveshare.com/esp32-touch-lcd-3.5.htm

I've delevoped a small product on it that has buttons you can touch and screens you can swipe through.

During my testing I thought I was going crazy in that screens appeared to change by themselves. I asked Claude Code to spin up a test rig which it's run over the last two nights, unattended, for seven hours each and lo and behold it's finding both swipes and touches are happening whilst I'm asleep.

What's strange is they all fit within the 150-160 pixel range in the vertical direction (bars on the right), and seem to be concentrated in two patches to the left and the right of the screen (bars at the top).

Coincidentally (or maybe not) if you draw an imaginary line through the USB port it appears to fall exactly on this "ghost line".

Has anyone ever experienced this and/or have a fix? Is this just hardware noise you have to come to expect with these boards?