Havoc 2 days ago

The entire ESP ecosystem is quite accessible for people of modest technical ability.

HomeAssistant+ ESPHome + ESP32 in particular is a good stack because it takes away most of the complexity. Common sensors have ESPHome code available with a quick google so just need to connect the wires right basically

  • mlhpdx 2 days ago

    Indeed about ESP32 being approachable. I particularly enjoyed finding and messing about with the Cheap Yellow Display. It’s a fun little platform and with LVGL making it pretty is a joy.

    Would have been a nicer fit (smaller bevel) than the LCD in this project at about the same cost.

  • NoiseBert69 2 days ago

    Problem is that ESP32s are super power hungry once you start using BLE or Wifi.

    For BLE you can use STM32s and Nordics. But Wifi-on-Chip is ESP32-only.

    • aksss 2 days ago

      BLE and WiFi are power hungry on any platform. LoRaWAN or zigbee are better for low power, low bw comms. Kinda sacrifice simplicity & ubiquity of support in that you need a gateway/router of some sort, but they are solid solutions with long range and high penetration.

bertwagner 2 days ago

Author here. Thanks for reading. This was a massive learning project for me, I'm happy to answer questions or feedback.

  • cstuder 2 days ago

    FYI: A couple of the images down in the article are not loading (And later some seem to be incorrectly formatted). I'm especially looking forward to the exploded button.

    • bertwagner 2 days ago

      D'oh. Thank you for letting me know. All fixed now. Hopefully "exploded button" wasn't too misleading (more of an exploded view of the design).

      • auspiv 2 days ago

        bro your images are giant. every load of the page is transferring 40ish MB. back_panel_back_render.png is 11.3 MB. replace those with smaller versions and click to link to the larger.. but I do see both cloudfront and cloudflare headers so not sure why these aren't being cached by them

        • bertwagner 2 days ago

          Thanks for letting me know, I will have to fix this soon. This was the first post as part of a new blogging setup I'm using and clearly I'm missing some of my old processes (like image resizing).

          • hnuser123456 2 days ago

            They are photographic images saved as PNG, which is lossless and intended for digitally created images with large areas of pixels with the exact same value. Please use a format intended for photographic images. Splashflag.png is 4.5 MB, it's 10.5 MB as an uncompressed BMP file, but only 600 KB as a JPEG with indistinguishable quality loss.

        • 01HNNWZ0MV43FF 2 days ago

          They probably need the origin server to set the right cache headers, otherwise the cdn would get blamed for stale images

  • sleepybrett 2 days ago

    Almost Name Twin here (brett wagner) just saying hey.

mlhpdx 2 days ago

If you want to avoid “long polling” then MQTT isn’t the answer (it’s still a long held TCP connection waiting for messages). UDP would be the way to go, and with WireGuard as a carrier you don’t have to worry about NAT traversal issues (and get privacy as a bonus).

Love the project - would have been great when my kiddos were that age.

  • jkscm 3 hours ago

    MQTT is not the same as long polling

  • bertwagner 2 days ago

    Thank you and I'm glad you enjoy the project. I'll have to look more into UDP for this type of solution.

9029 a day ago

Very cool project, I feel inspired to try something like this myself!

I noticed there seems to be a use-after-return with the creds returned from CredentialManager::retrieveCredentials (C-arrays can't be passed/returned by value). One solution could be to return Arduino Strings instead

petesoper 2 days ago

When I got to auto[ssid, etc in main.c it became clear the sophistication/excursion from the typical Esp32 code centerline is at many levels. Thanks for sharing!

mxuribe 2 days ago

This is wonderful! Thanks for sharing!!