Building an IoT Notification Device from Scratch

(bertwagner.com)

69 points | by bertwagner 8 hours ago ago

16 comments

  • Havoc 6 hours 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 3 hours 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 an hour 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 an hour 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 8 hours ago

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

    • cstuder 7 hours 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 7 hours 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 6 hours 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 6 hours 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 5 hours 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 6 hours ago

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

    • sleepybrett 5 hours ago

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

  • petesoper 2 hours 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!

  • mlhpdx 3 hours 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.

    • bertwagner 3 hours ago

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

  • mxuribe 7 hours ago

    This is wonderful! Thanks for sharing!!