Settings

Theme

Building an IoT Notification Device from Scratch

bertwagner.com

86 points by bertwagner 3 months ago · 18 comments

Reader

Havoc 3 months 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 months 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 3 months 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 3 months 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.

bertwagnerOP 3 months ago

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

  • cstuder 3 months 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.

    • bertwagnerOP 3 months 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 3 months 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

        • bertwagnerOP 3 months 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 3 months 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 3 months ago

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

  • sleepybrett 3 months ago

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

mlhpdx 3 months 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.

9029 3 months 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 3 months 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 3 months ago

This is wonderful! Thanks for sharing!!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection