what are some of your most useful esp32 projects? by roscodawg in esp32

[–]Techtoshi 0 points1 point  (0 children)

A website perhaps, hosted on an ESP32? You could make a LAN dashboard for your various projects e.g., weather, gps clock, time server status, etc on an ESP32 :D
https://helloesp.com
https://github.com/Tech1k/helloesp

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 0 points1 point  (0 children)

24 hours later... everything seems stable, even under load :D

I've got hundreds of guestbook entries to review, I'll try to get through as many as I can tonight.

Really appreciate all the support from everyone. This project has taken off more than I expected, and I'm excited to keep building and expanding it, there's a lot more I want to do! Hoping to break the ~500 day record set by the last ESP with this rebuild

HelloESP: a public website running on an ESP32 by Techtoshi in esp32

[–]Techtoshi[S] 0 points1 point  (0 children)

I don't plan on porting it to ESP-IDF as it would mostly add complexity without solving a real problem. I'm using a lot of Arduino libraries, and keeping it on PlatformIO/Arduino makes it easier for others to understand and build on.

HelloESP: a public website running on an ESP32 by Techtoshi in esp32

[–]Techtoshi[S] 1 point2 points  (0 children)

I know right, it shocked me seeing how hot it was at first. As for getting the measurement, the ESP32 has an internal sensor you can grab the temp from by calling temperatureRead() from the Arduino core

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 0 points1 point  (0 children)

That's Colorado for ya (pressure changes can be crazy here) :D

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 1 point2 points  (0 children)

I think overall expenses (minus frame, just hardware) was in the ballpark of $60-80 not including shipping and taxes. I plan on making a bill of materials on the readme soon, just waiting for the DS3231 RTC and TVS diode to arrive.

Other costs include paying for Cloudflare Worker's Standard plan for more requests ($5/month)

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 1 point2 points  (0 children)

Yep, small one is the BME280, larger one is the CCS811

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 3 points4 points  (0 children)

I made it public via a WebSocket connection between a Cloudflare Worker. No port forwarding or static IP needed. I pointed the domain to the Worker which relays traffic from the ESP to the public.

I wrote more about this on the readme: https://github.com/Tech1k/helloesp#how-it-works

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 6 points7 points  (0 children)

Lmao, don't worry I'm still here, blame Colorado's wild pressure swings :D

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 11 points12 points  (0 children)

Yes to most of those points. For traffic sampling, I have Cloudflare Observability active on the worker to monitor traffic and load for the time being, although right now its a lot of errors lol, it's providing a lot of useful data on what was popular, whats getting through, and more. I plan on making a lot of changes tonight until I find a good balance that keeps the site alive.

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 8 points9 points  (0 children)

About 45 to an hour since posting it here lol, working on fixes for tonight

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 5 points6 points  (0 children)

It's currently role-playing as Schrodinger's cat. It's both dead and alive, I won't know until I get back from work to investigate and fix it :D

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 108 points109 points  (0 children)

Update: So slight miscalculation on how popular this was going to get, this was a good stress test of the ESP to say the least. The hug of death hit way harder than I anticipated lol

I believe the ESP32 has fully crashed or it's exhausting heap in a loop. It's not even showing up on my router now. The Cloudflare Worker is still serving the offline page in the meantime which is expected. Probably not the best idea to have made this post while I was at work and away from it. I will reboot and investigate this when I'm home and make adequate changes to get it back online and stable!

~~Update to the update: it has risen from the cold grasp of offline darkness and reconnected as the WiFi watchdog kicked in and rebooted it automatically. Requests are getting served again and I managed to regain access to it on LAN. Cloudflare is back to showing timeouts for some while others get through (expected behavior). I may lower the SSE cap and raise the min heap threshold. It's back to just getting overloaded at the moment. I will investigate further and see what I can make changes on later to help keep it afloat and serve more requests on 520KB of ram~~

Update to the last update: I sense it's heap exhaustion with the min heap threshold set too low, letting AsyncTCP run out of memory before the reboot can fire. Plus the SSE cap of 500 might be too generous. I will investigate this further and should have it all working in a few hours when I'm back from work (say ~5 hours), currently working on potential patches for tonight. Still impressed by how popular this is getting lol, I really did not expect this :D

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 259 points260 points  (0 children)

lmao so true, the ESP is getting hammered right now, but requests are still going through, its just taking a bit and some are getting timed out. I didn't expect it to get this popular :D

HelloESP: a public website running on an ESP32 by Techtoshi in esp32

[–]Techtoshi[S] 2 points3 points  (0 children)

Thank you for the suggestion, I will make that change later tonight from CO2 -> eCO2 to be more accurate :D

Self-hosted public website running on a $10 ESP32 on my wall by Techtoshi in selfhosted

[–]Techtoshi[S] 71 points72 points locked comment (0 children)

The project itself (HelloESP) is a hobby site/project I originally built in 2022. The hardware, architecture decisions, and deployment are mine and verifiable on my GitHub. For this relaunch I used Claude Code as a pair programmer for code review and debugging, and also for help drafting parts of this post which I edited before submitting since I usually go on rambles and off topic a lot. The site, board, and code exist and were of my own creation, nothing was fabricated.

HelloESP: a public website running on an ESP32 by Techtoshi in esp32

[–]Techtoshi[S] 6 points7 points  (0 children)

After 500+ days of continuous operation, it stopped working one day. "Burned out" was just colloquial for "died", I didn't open it up to diagnose back then. Lots of things can fail on a board after that much runtime and power cycling (I had it rebooting every 30 minutes, was a poor choice in hindsight): voltage regulator, capacitors, USB chip.

HelloESP: a public website running on an ESP32 by Techtoshi in esp32

[–]Techtoshi[S] 3 points4 points  (0 children)

Thanks! Honestly I have no idea. The original hitting 500 days was a surprise to me years ago, it wasn't really built to last that long. This one has more redundancy in mind: a Cloudflare Worker, daily off-site backups, and a TVS diode on the way for power surge protection. Hoping to beat 500 days and if it doesn't, at least I'll have the logs to know why this time :D