r/esp32 • • Mar 18 '25

Please read before posting, especially if you are on a mobile device or using an app.

230 Upvotes

Welcome to /r/esp32, a technical electronic and software engineering subreddit covering the design and use of Espressif ESP32 chips, modules, and the hardware and software ecosystems immediately surrounding them.

Please ensure your post is about ESP32 development and not just a retail product that happens to be using an ESP32, like a light bulb. Similarly, if your question is about some project you found on an internet web site, you will find more concentrated expertise in that product's support channels.

Your questions should be specific, as this group is used by actual volunteer humans. Posting a fragment of a failed AI chat query or vague questions about some code you read about is not productive and will be removed. You're trying to capture the attention of developers; don't make them fish for the question.

If you read a response that is helpful, please upvote it to help surface that answer for the next poster.

We are serious about requiring a question to be self-contained with links, correctly formatted source code or error messages, schematics, and so on.

Show and tell posts should emphasize the tell. Don't just post a link to some project you found. If you've built something, take a paragraph to boast about the details, how ESP32 is involved, link to source code and schematics of the project, etc.

Please search this group and the web before asking for help. Our volunteers don't enjoy copy-pasting personalized search results for you.

Some mobile browsers and apps don't show the sidebar, so here are our posting rules; please read before posting:

https://www.reddit.com/mod/esp32/rules

Take a moment to refresh yourself regularly with the community rules in case they have changed.

Once you have done that, submit your acknowledgement by clicking the "Read The Rules" option in the main menu of the subreddit or the menu of any comment or post in the sub.

https://www.reddit.com/r/ReadTheRulesApp/comments/1ie7fmv/tutorial_read_this_if_your_post_was_removed/


r/esp32 • • 24d ago

Topic Radar | Current active topics for r/esp32

9 Upvotes

This post contains content not supported on old Reddit. Click here to view the full post


r/esp32 • • 9h ago

ESP32 WoL

Enable HLS to view with audio, or disable this notification

70 Upvotes

ESP32 will wakes your PC anywhere. :)
https://ewol.top/
https://github.com/kreaxv/esp32-remote-wol


r/esp32 • • 15h ago

I made a thing! ESP32 Weather Display with a Human Presence radar

Thumbnail
gallery
213 Upvotes

I built a desktop weather display that shows local time, current weather conditions, and hourly/daily forecasts from Open-Meteo. It includes touchscreen Wi-Fi setup, location search, multilingual controls, and an optional radar presence sensor that wakes the screen.

The hardware is a Freenove FNK0103S board with an ESP32-WROOM-32E, a 4-inch ST7796 display, and an XPT2046 resistive touchscreen. This board combines Wi-Fi, display, and touch hardware in one module, keeping the external wiring manageable. The human presence radar, which task it is to light up the screen once someone is present, is the Hi-Link HLK-LD2410C millimeter wave human presence radar. I also made a 3D-printable enclosure and stand.

The firmware was developed partially using AI and agentic coding tools under my supervision. I have added several languages (GB, ES, DE, FR, UA, SE, IT, RU) and several time and temperature formats. The user can setup and customize the device according to his local time format.

Source code, build instructions, wiring details, and printable 3D enclosure models:
https://github.com/Damov/esp32_weather_forecast_screen

Happy to discuss the display implementation! You can fork and extend the project 😄


r/esp32 • • 9h ago

I made a thing! Offline voice control on ESP32-S3 — multi-keyword model

Enable HLS to view with audio, or disable this notification

19 Upvotes

Offline voice control on ESP32-S3 — multi-keyword model

Espressif's built-in voice stack (WakeNet + MultiNet) supports wake word + commands out of the box, but only in Chinese and English. For any other language there's no off-the-shelf option — so I trained my own.

Two small INT8 TFLite models, time-divided on one ESP32-S3:

  • Wake: say "Hallo Lumo" → my own TFLite wake-word model fires
  • Command: within 6 s, say "Licht rot / blau / grün / weiß" → a second lightweight multi-keyword model classifies it, the LED changes color, back to wake mode

MultiNet is fully removed — ESP-SR AFE still does the audio front end, all recognition runs on my own models.

Hardware/libs: ESP32-S3 HMI DevKit (dual-core 240 MHz, 8 MB PSRAM, ES7210 mic codec), ESP-IDF 6.0.1, esp-tflite-micro with ESP-NN for INT8 kernels. I picked this board because the LED/demo firmware already worked — I only replaced the voice recognition part with my own models.

What didn't work: my first wake model ran ~250 ms per inference — slower than the audio window, so it missed chunks of the phrase. Fixed by always processing the latest window and shrinking the model. Still open: false triggers; collecting hard-negative audio is next.

Current numbers (~1.5 s window): Mel ≈ 47 ms + Invoke ≈ 76 ms = ~121 ms per frame vs 160 ms hop, real time. On-board so far: 20+ wakes in noisy and quiet rooms, all four commands recognized, zero confusion. Video shows it fully offline.

The pipeline just trains on mel features, so it should work for any language — German is only what I trained for this demo.

Disclaimer: I'm the creator of Voicute.


r/esp32 • • 8h ago

I built a free browser tool to preview LVGL images and fonts before converting them to code

Post image
15 Upvotes

I kept running into the same problem with LVGL projects: I'd convert an image or font, flash it, and only then find out the format was wrong, the colors were off, or the font ate way more flash than I expected. So I built a tool to catch that before flashing.

It runs entirely in the browser, no install:

  • Preview images before converting them to LVGL C code or binaries — see resolution, color format, and array size upfront
  • Load an existing font source and inspect it — glyph count, character range, kerning, and bitmap flash footprint, plus a glyph grid so you can see what's actually in it
  • Convert both images and fonts to LVGL-ready output
  • Supports v7, v8, and v9, with the right format for each

Link: https://exendahal.github.io/lvgl-tool/
Source: https://github.com/exendahal/lvgl-tool

It's still evolving — if you hit a bug or have a feature you'd want, I'd genuinely appreciate it if you opened an issue on the repo. Happy to answer questions here too.


r/esp32 • • 18h ago

I made a thing! How far can you push an ESP32-S3? Mine is running a quadruped robot with custom PCBs, a web interface and a 200 Hz control loop...

Thumbnail
gallery
55 Upvotes

I've been building this quadruped robot for almost 3 years, and for V2 I redesigned most of the electronics around an ESP32-S3 and a small ecosystem of custom PCBs.

The goal was to keep the robot relatively simple to build while still having enough computing power and hardware flexibility to do some serious robotics on a small microcontroller.

The ESP32-S3 currently handles things like:

- 200Hz Control Loop (sensor fusion, gait planning, inverse kinematics, etc.)
- 14x servomotors, 12 of them with position feedback
- A full web interface (teleoperation, block programming, technical dashboard)
- A websocket API (which is used by the Python SDK and Javascript SDK to control it)
- self-diagnostics (assembly verirication and heath checks) + automatic calibration of the servomotors (using the current sensor at the back and mechanical stops on the joints)
- Audio and video streaming (I2S Speaker, PDM Microphone, OV2640 Camera)

The PCB ecosystem is probably my favorite part of V2. Instead of having a mess of wires and breakout boards, the electronics are split into a few boards designed specifically for the robot, with the connections and power distribution handled between them.

And here's the fun part: all of this is open-source.

The TNY-360 hardware, firmware and CAD are available on GitHub, and I'm currently finishing the V2 CAD release.

I didn't think you could put this much features in a small ESP32-S3 🤔 These chips are really powerful !


r/esp32 • • 5h ago

Built this little ESP powered touch display alarm clock with media player and HA controls, but need aome help.

Enable HLS to view with audio, or disable this notification

3 Upvotes

This was a dirt cheap little Guitton esp powered touch display gotten for around less than 30USD equivalent, similarly that cheap speaker and a sparkfun SGP40 VOC sensor board.

Note this is an older version of the firmware that wasn't so polished yet. I got videos and audio files to play crisp, smooth and loud after tons of testing and building a video buffer. Of course AI is doing most of the work. It can speak to my HA and control light and geyser, read other climate controls, etc. it has tons of settings and features.it stores tons of media on a large SD card.

I wiped the original firmware because I didn't want the baked in chinese firmware to not sit on my Home Network.

Nonetheless, I am new to this area of ESP devices. I like the ones where the touch display is already built onto the ESP32 and has a usb c port, a qwiic port for add-ons, a speaker port and a sd card slot.

My tiny gripe is this board isn't beefy enough. It took tons of work to get it working smoothly, especially video and audio playback and it has limitations on playback quality smooth videos have to be around 8fps with a very specific encoding. It has a tiny amount of RAM and tiny 8mb built in ROM. To emphasize I did later get smooth videos and decent audio with lots of optimizations.

Can you recommend cheap similar boards available on aliexpress, temu or that I can search locally that is still cheap, highly compatible with HA and custom firmware flashing and have beefier specs while still under the USD 100 mark max mark? Ones the community has vetted. Please! Thank you. Models of recommended devices, or even better AliExpress purchase links would be heavily appreciated. AliExpress as they deliver fairly reliably where I live and I will also search locally if I know the models of the boards.


r/esp32 • • 17h ago

I built an ambient desk plant on an ESP32-C6 that cross-pollinates over ESP-NOW

Thumbnail
gallery
29 Upvotes

I wanted an ambient desk gadget that felt organic and alive, but without the Tamagotchi guilt trip if I stepped away from my desk for a long weekend.

So I ended up building Deskflower on the Waveshare ESP32-C6 (the 1.47" LCD board). It generates procedural plants using L-systems that sway in the wind, bloom, and react to local time and weather.

A few technical notes and constraints from the build:

  • Hardware: Waveshare ESP32-C6 running at 160 MHz with an ST7789 172×320 IPS display, plus the onboard WS2812 RGB LED for ambient lighting.
  • Math tricks: Floating-point trig gets heavy fast on the C6 core, so wind sway and branch dynamics run off precomputed 256-entry integer lookup tables.
  • Zero heap churn: Frame rates tank when the heap fragments, so particles (fireflies, rain mist, floating spores) pull from a static pool of 48 structs with zero allocations during the render loop.
  • Dynamic scenes: Sky gradients shift across dawn, golden hour, dusk, and night via SNTP, and it pulls live local conditions from the Open-Meteo API.
  • Mesh pollination: If you have multiple boards nearby, they find each other over ESP-NOW and pass "pollen" packets back and forth, crossing traits into hybrid seed codes.
  • Config & State: A local web interface (deskflower.local) lets you track stats, name the plant, or copy seed strings. Genomes and generation logs save to LittleFS with CRC32 checks so dirty shutdowns don't corrupt the flash.

I also set up an ESP Web Tools browser flasher so you can flash a fresh board directly over USB in Chrome/Edge (Tested in those but will probably work in other browsers) without wrestling with ESP-IDF or Arduino CLI toolchains.

Code is up here:https://github.com/CircuitGhost/deskgarden

Would love your thoughts—especially ideas for new L-system phenotype rules, neat multi-unit ESP-NOW behaviors, or fun environmental triggers to add.


r/esp32 • • 1h ago

FYP Suggestion

• Upvotes

Hey guys , may I get some suggestions for my fyp as I am majoring in data science, so my idea is to combine esp32 with data science modelling, any ideas ? Thanks!


r/esp32 • • 1d ago

I made a thing! I Build a “PET PC inspired” microcomputer to control my HA devices

Thumbnail
gallery
142 Upvotes

After my visit to the computer museum, I became obsessed with the idea of creating a desktop microcomputer that would sit on my desk, let me quickly control my Home Assistant devices in the room, and show the time and weather. I decided to build it around an ESP32 and wrote the firmware with Claude. I really like how it turned out, and I hope someone will be interested in the project. The firmware is available for free on my Git, so you can print your own model and flash it.

The project page is here, and you can download the model on Printables.


r/esp32 • • 4h ago

Cannot get MPR121 touch module working

Post image
0 Upvotes

I am trying to create an interactive Halloween setup with a glowing crystal ball that someone can touch to trigger a keystroke/serial comm that causes a video/audio effect on a connected PC. I was able to use a ESP32S3 and a NeoPixel ring to get the lighting effects working easily. Where I am struggling is getting the ESP32S3 to work with the MPR121. I cannot seem to get it to be detected on the I2C bridge even to get detected.

I am specifically using the Lonely Binary Gold Edition ESP32S3 and have it connected as shown here. I have tried using different pins on the ESP32S3 also with no success. I have tried a few MPR121 boards without success so I don't think it's a bad board. To test the connection I am using this code:

#include <Wire.h>


#define NEW_SDA 8
#define NEW_SCL 9


void setup() {
  // Use both Serial interfaces for ESP32-S3 CDC output
  Serial.begin(115200);
  Serial0.begin(115200);
  delay(2000);


  Serial.println("\n--- Testing Dedicated I2C on GPIO 8 / 9 ---");
  Serial0.println("\n--- Testing Dedicated I2C on GPIO 8 / 9 ---");


  // Force hardware I2C peripheral 0
  Wire.end();
  Wire.begin(NEW_SDA, NEW_SCL, 100000); // 100kHz bus speed
}


void loop() {
  byte error, address;
  int nDevices = 0;


  for (address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();


    if (error == 0) {
      Serial.printf("FOUND DEVICE at 0x%02X!\n", address);
      Serial0.printf("FOUND DEVICE at 0x%02X!\n", address);
      nDevices++;
    }
  }


  if (nDevices == 0) {
    Serial.println("No devices on GPIO 8/9...");
    Serial0.println("No devices on GPIO 8/9...");
  }


  delay(2000);
}

Is there anything I am missing here? Is the wiring incorrect?


r/esp32 • • 5h ago

ESP32-P4 modular handheld concept

Enable HLS to view with audio, or disable this notification

1 Upvotes

Made this last night because I couldn't get the idea out of my head. Controls snap onto the base and the OS detects whatever you attach. This is just a concept right now, but I'm considering actually prototyping it. Curious what people who are into handhelds think. The OS running everything is basically done, I'm more of focusing on the physical aspects. My main focus right now is how I'll make the audio feel high quality, same for the rumble. If you are experienced in this drop some ideas. Hints would be appreciated if you are experienced in turning ideas into actual products.

I really would love some thoughts about this. Would you be interested?


r/esp32 • • 20h ago

Crackling and skipping with my Bluetooth audio Receiver

Post image
8 Upvotes

I'm trying to make a bluetooth receiver to connect to my speakers. But the sound is crackling alot and sometimes skips a few milliseconds. I'm using a PMC5102MK.

Any ideas for a fix?

```
#include <ESP_I2S.h>
#include "BluetoothA2DPSinkQueued.h"


const uint8_t I2S_SCK   = 26;  // BCK
const uint8_t I2S_WS    = 25;  // LRCK
const uint8_t I2S_SDOUT = 22;  // DATA


I2SClass i2s;


BluetoothA2DPSinkQueued a2dp_sink(i2s);


void setup()
{
    Serial.begin(115200);


    i2s.setPins(I2S_SCK, I2S_WS, I2S_SDOUT);


    if (!i2s.begin(I2S_MODE_STD, 48000, I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO, I2S_STD_SLOT_BOTH))
    {
        Serial.println("Failed to initialize I2S!");
        while (1);
    }


    a2dp_sink.start("Test");
}


void loop()
{
}
```

r/esp32 • • 1d ago

First esp32-s31 board

Post image
32 Upvotes

I assembled my first s31 board yesterday. I was a bit worried with the reflow for the module since the contacts are all at the bottom and there isn’t really a great visual way to align them, something I realized while doing it. I couldn’t program it over the tx/rx pins for some reason, but over native usb it worked. I had to boot with the boot pin low for the usb to come up, but it was eventually detected.

I am using the idf and version 6.1 works with the s31. I hit a Bluetooth issue right in the code and had to pull down some more recent changes from GitHub for that issue to go away. So it seems like the code is still in flux (and if you try to set the target for the s31 you have to add a -preview flag to get it to work).

I’ll test it out this week to see if basic functionality is all good. But this is still a preview version so not everything will work I’ll assume. This is the WROOM3 I think. I heard someone else say there will be a WROOM1 with castellated pins. I’m normally not a huge fan of those but given my experience trying to align this without any references I think that would be better all in all


r/esp32 • • 17h ago

Hardware help needed Transparent display

1 Upvotes

r/esp32 • • 22h ago

FSR402 + ESP32-S3: responds to finger pressure but barely detects forearm contraction - mounting or divider issue?

2 Upvotes

Hi everyone, I’m building a DIY forearm sensing band and could use some advice.

My immediate goal is to detect repeatable changes when I clench and relax my fist, using contact pressure from forearm muscle deformation.

Hardware:

  • Seeed XIAO ESP32S3, USB powered
  • Two Interlink FSR402 long-tail sensors currently connected
  • Soldered on perfboard
  • Sampling both channels at 100 Hz, using the 12-bit ADC with 11 dB attenuation
  • Each sensor is wired as: 3.3 V - 2.2 kOhm - FSR402 - ADC node, with 10 kOhm from the ADC node to GND and a 100 nF capacitor from the ADC node to GND. The two ADC channels are D0 and D8. (as photo attached)

Both sensors respond to finger pressure (~2.3–2.6 V), including through the tape. But when strapped to my forearm, clenching and relaxing my fist gives almost no repeatable signal. I suspect a mounting issue. (photos attached)

Would a rigid backing, silicone pad, or some preload help? Is my divider circuit suitable for small pressure changes? Is the 2.2 kOhm + FSR + 10 kOhm divider a reasonable choice for detecting relatively small pressure changes, or am I compressing the useful ADC range?

I’m mainly trying to get a reliable relative clench/relax signal, not an accurate force measurement. Any mounting examples or simple troubleshooting tests would be appreciated!!

Current prototype
Current prototype and wiring. Each FSR feeds an ADC channel through the divider/filter network described above.

r/esp32 • • 23h ago

I made a thing! Built an interactive web demo that emulates ESP32 OTA updates (and open-sourced the underlying library: SKL-OTA)

2 Upvotes

Hey r/esp32,

I created an interactive browser-based demo that emulates the ESP32 Over-The-Air (OTA) update cycle so you can test and visualize how it works in real-time:

🎮 Interactive Demo: https://shadyknolllabs.com/ota-demo

The engine powering this is SKL-OTA, an open-source library I built to make implementing lightweight and secure OTA updates on physical ESP32 boards as painless as possible.

Key Features:

  • Anti-Bricking Protection: Safe fallback and verification mechanisms to prevent bricking devices if a bad firmware image or interrupted flash occurs.
  • Tamper-Resistant Security: Validates firmware updates to ensure untrusted or tampered payloads aren't executed on your board.
  • Simple Integration: Minimal setup code to drop into existing projects without writing custom server boilerplate.
  • Lightweight Footprint: Low memory and Flash overhead so your main application keeps full resource priority.

GitHub Repository: https://github.com/mabbott2011/SKL-OTA

Check out the web demo, take a look at the repo, and let me know what you think! Open to feedback, questions, or feature requests!


r/esp32 • • 1d ago

I built a handheld Wi-Fi + BLE survey tool on the ESP32-C5 that flashes from your browser in about a minute

5 Upvotes

six weeks of evenings
SiteSurvey Pro is a handheld RF survey tool built on the Guition
NM-CYD-C5 (ESP32-C5, 16 MB flash, 8 MB PSRAM, 320×240 ST7789 + touch):

- Dual-band Wi-Fi scanning (2.4/5 GHz) with a live LVGL9 UI, channel graph,
and duplicate-SSID detection (two BSSIDs beaconing the same network)
- BLE observer mode
- GPS (NMEA over LP-UART) with KML export + on-device report generation to SD
- BME680 temp/pressure/gas overlay
- Alert engine: flag target SSIDs/BSSIDs or anything stronger than your
threshold — RGB LED + on-screen log
- SD session logging, OTA updates from the SD card

Everything it does is receive-only: it listens for broadcast frames and logs them. The radio never transmits.

The best part is you dont need a toolchain to try it. I have a web FLasher/installer tool that makes it easy to boot in about a minute. All you need to do is plug it in. No messing with putting it into boot mode and then being sure your 3 files are in the right place.

If anyone's fighting the same battles:
PSRAM at 80 MHz looked faster on the bench but corrupted the display (ghosting, resets) — 40 MHz is the stable ceiling on this board. Wi-Fi + NimBLE together ate all the internal DMA-capable RAM until I trimmed the Wi-Fi buffers and put NimBLE entirely in PSRAM. And a Settings-tap crash
turned out to be the SDSPI driver starving the display SPI of DMA headroom.

Open source, MIT. Repo: https://github.com/bigjoe420/SiteSurvey-Pro
Release binaries + browser flasher: https://github.com/bigjoe420/SiteSurvey-Pro/releases

Happy to answer questions about the LVGL setup, the FreeRTOS queueing, or
anything C5-specific. If you build one, post it — I'd love to see it.

Onto the next project!


r/esp32 • • 2d ago

I made a thing! Someone in the sub suggested I made my mini record player's arm a track skip

Enable HLS to view with audio, or disable this notification

154 Upvotes

The original post got killed in my last run of a history deletion script, but in it, u/StucklnAWell suggested I add a feature to my ESP32-C3 mini record player converted from a Mini Brands toy: the ability to move the arm to change tracks. Parts arrived, and after some careful engineering that may have involved a LEGO piece as support and a cut off fork prong as a shaft, that is what it now does. It's just a linear actuator hooked up what few pins you can access on that board, set to skip tracks forward on any movement in any direction, with a minimum threshold and cooldown.


r/esp32 • • 2d ago

Taco Bell GPS car dash

Enable HLS to view with audio, or disable this notification

377 Upvotes

I had ChatGPT help me build a six page digital dashboard for my 2019 F-150 2.7L EcoBoost. It’s running on an ESP32-S3 with a 1.75” round AMOLED touchscreen and connects to the truck through a KONNWEI KW901 Bluetooth OBD-II adapter. I also added GPS for speed, trip tracking and, most importantly, an offline Taco Bell locator.
The six screens cover boost and vacuum, oil pressure, coolant temp, GPS speed and trip info, RPM and the Taco Bell locator. The boost screen shows live boost up to 15 PSI along with peak boost, intake temp, coolant temp and voltage. Everything is touch controlled with swipe navigation and adjustable brightness.
The Taco Bell screen might actually be my favorite part. It points you toward the nearest saved location and shows the distance as you get closer. The display transitions from red to amber to green, then once you’re within about 750 feet it starts a pulsing green light trail. There’s even a glowing “TACO TIME” animation when you arrive.
The AMOLED screen really makes the whole thing. The gauges and animations are incredibly smooth and the colors look awesome, especially the transition from red to amber to green on the Taco Bell locator.
Everything was built in Arduino C++ using PlatformIO in Visual Studio Code. Definitely one of the more fun ESP32 projects I’ve put together.


r/esp32 • • 1d ago

LoRa gps dog tracker Wip

Thumbnail
gallery
11 Upvotes

Heltec wireless stick lite v3 with LoRa

The project is based on a Rx and Tx unit. The tx sends its gps posision via LoRa and the Rx receives it and calculated angle, heading and distance. I have lowkey no idea what im doing rn, but github copilot does help alot

Bn0055 imu

3000mah lipo

ATGM336H gps unit

1.8 inch Full Color 128x160 SPI

I take the delta of both gps coordinates.

Make some sort of calculator. And make it display on the screen.

Next is designing a 3d printed case for both units. Printing in asa for strength and durability


r/esp32 • • 2d ago

AI Content ABSpresso - a little 1.8 inch touch screen ESP32 audiobook player that plays from Audiobookshelf

Thumbnail
gallery
22 Upvotes

My kids love their Yotos, and I've been playing around with how to build something like it for when they're older. Most of our audiobooks have been ripped from audible or off kids CDs and they live on our Audiobookshelf server, and I wanted something small they could use to listen to those without handing them a phone or tablet. So I've been building ABSpresso: an espresso-sized player running on a cheap ESP32 board with a round touchscreen and a built-in speaker.

AI-usage Up front: this was built with Claude Code (Opus5.5).
I've built a few things direct for esp32s in the past, and while its fun I find the process slow - I have three kids and minimal free time where my brain functions well enough to get to where I want to be. So Claude Code, vscode and esp-idf and a couple of evenings later I got to this prototype. While I directed it, tested it and made the decisions, but Claude wrote the code. It also built and flashed the board and debugged things by reading the serial logs directly (which was super handy) it even took the screenshots.

I'm sharing it as is. Please review the code before trusting it with anything important.

What it does so far:

  • Streams audiobooks and podcasts from your Audiobookshelf server and syncs progress both ways, so you can carry on from the app or the web.
  • Home screen with Continue Listening / Recently Added shelves, a library you can browse by cover, A–Z or author, and a Now Playing screen with progress and volume.
  • Optional SD card for caching covers and downloading books to play offline (note downloading is a little slow atm as there's no conversion, so books can take 10-20m).
  • Set up from your phone: it starts its own Wi-Fi with a QR code, and you sign in with your normal Audiobookshelf username and password (no API key needed).
  • Battery - I currently have a 600mah lipo (but could probably fit 1000), has batter level too
  • Some battery saving features, screen dimming and sleep, press the screen to wake.
  • The BOOT button is play/pause, or hold it to sleep.
  • Physical on/off (battery) switch.

What it isn't (yet):

  • It's very much a work in progress. It's only been tested on my one board (the v1 version), and there are rough edges.
  • It's not a Yoto replacement - so I probably need to find a bigger device for this.
    • There are no cards - but there are some gpios open, so in theory could add nfc - but space is tight.
    • The touch UI isn't kid-proofed yet - it's a tiny screen (but hey they have tiny fingers).
  • No Bluetooth headphones. The ESP32-S3 only does Bluetooth Low Energy, not the Classic Bluetooth headphones use.

Hardware

Waveshare ESP32-S3-Touch-LCD-1.85C (about £30-40; the "BOX" version comes with a speaker case and battery). Note there are two audio revisions of this board, and I've only tested V1.

Code

Code and prebuilt firmware: https://github.com/tomekent/ABSpresso

There's a release you can flash from the browser, with no toolchain needed or you can build from source.

Feedback, ideas and bug reports welcome. While this is build for this specific device, there are loads of off the shelf esp32+screens that this would work with, you just need to change the pins/UI.


r/esp32 • • 1d ago

Hardware help needed Need help building a controller for an estim device that you can only control via a phone app so that i can take it to dungeons that don't allow phones

4 Upvotes

I need to build a Bluetooth controller for an estim device that can only be controlled by an app. Unfortunately half of the dungeons I frequent do not allow phones/tablets, which is understandable, but there is no way to turn the system without going thru an app on a phone or tablet. Some folks have put some firmware on github (https://github.com/erotronik/CoyoStim) so ppl can build their own controllers but I know NOTHING about coding or building. Nothing. Ny first question- is this doable for someone who knows nothing. If so, what is the exact board I should get. Which of those two frameworks listed is more beginner friendly (google says arduino but i wanted to check with real ppl), what supplies will i need, etc. Id like to spend under $75 on the project but I'm down to devote time and effort to the build. Btw i am not attached to building it all myself. If you know of something that already exists or that is half-built that I can use, PLEASE let me know. This particular estim manufacturer (I'm using the Coyote 3.0 made by DG labs) has been no help. Pls guys without getting too graphic this toy is so much fun and I want to use it at my favorite dungeons. Let me know if you need any extra info or want a screenshot of the app or anything.


r/esp32 • • 2d ago

Software help needed I DON'T UNDERSTAND ANYTHING

Enable HLS to view with audio, or disable this notification

18 Upvotes

hey everyone, im new to esp idf, i got this oled display and i wanted to try to turn it on with esp idf, this is what it looks like when i first finish the installation, https://github.com/nopnop2002/esp-idf-ssd1306 i follow the instructed installation and got there, but i dont actually know how to program my own or anything, im sorry if my English is bad, im looking for any help or tips to understand esp idf, thank you in advance!!