It's such an underrated project. In literally 5 minutes and with $10 of hardware and no programming at all, you can build your own IoT devices in your home and get real-time data on anything you want on your property.
It's such an underrated project. In literally 5 minutes and with $10 of hardware and no programming at all, you can build your own IoT devices in your home and get real-time data on anything you want on your property.
By far the biggest time consumer has been wiring them up to DC/DC converters to drive relays in a waterproof Sockitbox. Another really useful part to keep around are wire terminal breakout boards: https://www.amazon.com/whiteeeen-Development-Expansion-ESP-W...
Also CloudFree is great for off the shelf IoT parts that can be reprogrammed with ESPHome: https://cloudfree.shop/
1) Go to Amazon and buy a three pack of ESP32 dev boards with headers[0]. They're always some random seller, etc but I've probably had one DoA/failure after buying dozens from random sellers over the years.
2) Get a dupont wires variety pack[1].
3) Optionally (but good to have) get some breadboards [2].
4) Familiarize yourself with various supported temperature/motion/humidity/relays/etc. Esphome has a supported list[3].
5) Search for the chip name, etc on Amazon. Example[4].
6) Familiarize yourself with the ESP32 dev board pins, GPIO, etc. Most sellers will include a picture that looks something like this[5] and most of them are pretty "standard" these days.
7) Wire stuff up, configure with esphome.
8) Once you have things up and running, shove everything in an old box (iPhone boxes are especially sturdy). Other options are various project boxes[6], 3D printing, etc. It's usually easy enough to cut out/drill whatever you need.
At the end of the day you can do some pretty impressive things like directly combining temperature sensors, humidity, presence detection, PIR motion, air particulate, relays, etc even on a single board thanks to ample GPIO and esphome. All for (typically) something like $10 per "location" where you need the stuff. Even less if you buy from Aliexpress, etc.
Of course for "install" you'll need power supplies and (typically) USB-A to micro-USB power cables but most of us have drawers full of these things from old phones, etc. Good news is ESP32 boards absolutely sip power (something like 100mW or less) even with all of your "stuff" attached.
[0] - https://www.amazon.com/ESP-WROOM-32-Development-Microcontrol...
[1] - https://www.amazon.com/EDGELEC-Breadboard-Optional-Assorted-...
[2] - https://www.amazon.com/Breadboards-Solderless-Breadboard-Dis...
[3] - https://esphome.io/index.html
[4] - https://www.amazon.com/Teyleten-Robot-Digital-Temperature-Hu...
[5] - https://lastminuteengineers.com/esp32-pinout-reference/
[6] - https://www.amazon.com/LeMotech-Plastic-Electrical-Junction-...
Generally speaking with any kind of lower-level electronics like this frying and bricking stuff is part of the learning experience and a rite of passage.
Nevermind the ones in the schoolhouse, basement, chicken coop...
So, yeah, I fully agree. One day I'll buy a 3d printer but until that day, wires and some tape. Everything seems cheap enough to be sacrificial if that's the end result.
Waveshare's super compact ESP32-S3-Mini (or Zero) has become my first-to-grab. For 5 direct from their China site it works out to $7.35/ea pre-soldered with shipping or save a buck each for unsoldered. 2MB PSRAM and 13 usable GPIO. They also have less cheap -S3 boards in Arduino Nano ESP32, Pi Pico, and ESP32-S3-DevKitC-1[1] formats. And the oddball ESP32 One in Pi Zero format, using an ESP32 w/ off-die PSRAM. They sell on Amazon, too.
A genuine Espressif ESP32-S2-DevKitC-1-N8R2 is $8 on Amazon, a relative bargain if you need it tomorrow and can live with one less LX7 core and no Bluetooth.
[0] If you use the trick of spanning two breadboards side-by-side, that's an extra cost that could have gone towards a better smaller board.
[1] Beware of cheap boards claiming to be copies of Espressif's 25.4mm board designs, many have been widened to ~28mm. Bad ESP32-S[3|2]-DevKit[C|M]-1 copies give themselves away by having enough room on top to put pin labels next to the pins instead of between them.
You're talking about CircuitPython, 35KB web replies, PSRAM, UF2 bootloader, etc. These are comparatively very advanced topics and you didn't mention esphome once.
The comfort and familiarity of Amazon for what is already a new, intimidating, and challenging subject is of immeasurable value for a novice. They can click those links, fill a cart, and have stuff show up tomorrow with all of the usual ease, friendliness, and reliability of Amazon. If they get frustrated or it doesn't work out they can shove it in the box and get a full refund Amazon-style.
You're suggesting wandering all over the internet, ordering stuff from China (or Amazon for roughly 3x the cost of what I suggested), multiple vendors, etc while describing a bunch of things that frankly just won't matter to them. I say this as someone who has been an esphome and home assistant user since day one. The approach I described has never failed or remotely bothered me and over the past ~decade I've seen it suggested to new users successfully time and time again.
In terms of PSRAM to my knowledge the only thing it is utilized for in the esphome ecosystem is higher resolution displays and more advanced voice assistant scenarios that almost always require -S3 anyway and are a very advanced, challenging use cases. I'm very familiar with displays, voice, the S3, and PSRAM but more on that in a second...
> live with one less LX7 core and no Bluetooth
I'm the founder of Willow[0] and when comparing Willow to esphome the most frequent request we get is supporting bluetooth functionality i.e. esphome bluetooth proxy[1]. This is an extremely popular use case in the esphome/home assistant community. Not having bluetooth while losing a core and paying more is a bigger issue than pin spacing.
It's also a pretty obscure board and while not a big deal to you and I if you look around at docs, guides, etc, etc you'll see the cheap-o boards from Amazon are by far the most popular and common (unsurprisingly). Another plus for a new user.
Speaking of Willow (and back to PSRAM again) even the voice assistant satellite functionality of Home Assistant doesn't fundamentally require it - the most popular device doesn't have it either[2].
Very valuable comment with a lot of interesting information, just doesn't apply to context.
[0] - https://heywillow.io/
[1] - https://esphome.io/components/bluetooth_proxy.html
[2] - https://www.home-assistant.io/voice_control/thirteen-usd-voi...
I guess I'll accept that instead of dragging this thread on ;-)
Except...
"Why doesn't this random cheap ESP32 board fit properly on a breadboard" is a super common new user frustration that's easily avoidable if they knew it was something they needed to be aware of, and I don't understand why people who should know all that will point people to ~28mm boards. My bad for not also pointing out that "ESP32 38-pin Narrow" (NodeMCU ESP32S) boards should be 25.4mm and are plentiful on Amazon at the very cheap end of the pricing spectrum.
If you'd rather not wire it up yourself there are also ESP32 dev boards with built-in battery management functionality, such as the LoLin32 Lite and Sparkfun ESP32 Thing. I haven't had much luck with the former (possibly due to its lack of RF shielding) but the latter seems to be pretty solid. I think Adafruit sells similar boards as well.
[1] https://hackaday.com/2022/10/10/lithium-ion-battery-circuitr...
ESPHome also has deep sleep support - so for some use cases you can just wake up every x minutes/hours, connect to wifi, do thing, back to sleep for x minutes. In deep sleep a decent ESP32 board (firebeetle or tinypico) will last for months on a small lithium cell. For a quick sensor, the whole wake up/read sensor/update HA/sleep again takes a second or so depending on wifi configuration.
Useful for something on a schedule like sprinklers or slow sensors (soil humidity or whatever).
You can also wake based on interrupts, which is good for stuff where you are using a low power external sensor that does interrupts (wake ESP up if humidity gets to x) or a GPIO switch (magnetic entry/float switch/etc etc).
Firebeetles and tinypicos both have cell connectors and onboard charging directly for lithium pouch cells. You could also get a cheapo solar power bank, although you'll want to do some research to make sure the relatively light load of an ESP32 will keep it powered on.
They also have a wide variety of sensors that connect with a ribbon cable (they call it uEXT) with no soldering required. Many of the sensors are supported by ESPHome.
Featured yesterday on HN for being acquired by Espressif.
For indoor use, I made this to power ESPhome devices from a cheap apple USB adapter: https://www.printables.com/model/703859-esp32-enclosure-with...
You must be running some very fancy chips!
For extra savings the ESP8266 might be as low as $4us. It really is amazing.
Since most use-cases for me are literally 1 sensor connected to an Atom, it (largely) fixes the enclosure problem. Although I'd like to have more DIN rail mounted options.
Were I designing a product that uses one of these I would certainly not use the ESP8266. For hobby projects, if I can buy them on Amazon, eBay or elsewhere, the 8266 remains a valid choice (for me.)
Aliexpress -> From $0.99 -> four-pack of ESP8266 for $3.19.
Even less when they have a sale.
1) Wifi.
2) Much more robust ecosystem, including esphome (the subject of this post).
Plus the 99 cents for the PCB.
Plus the 99 cents for misc parts like regulator and caps.
Plus the $4 for the wifi module.
Never mind, parasoll costs like $12. I mean something like HLK-LD2420 which should be around $2. ESPHome lists many similar sensors and I was asking which one is better. Curious if anyone had any experience with any of those
Generally, a lot more Zigbee devices are compatible with Zigbee2MQTT that to HA's own "ZHA" Zigbee implementation. But Zigbee2MQTT and HomeAssistant work EXTREMELY nice together, very well integrated.
And if you have your Zigbee devices in Z2MQTT, then you can also use Node Red or similar tools for some automations, if you prefer that over the somewhat weird YAML-based automations of HA.
(Tip: use a cheap x86 PC, install Proxmoxx, install Zigbee2MQTT, install HA.OS ... done!)
Use a cheap x86 PC, install Proxmoxx, install Zigbee2MQTT, install HA.OS ... done!
They also have good soil moisture sensors that IIRC work via time domain reflectometry which is more accurate and lasts longer in the field.
It all controls an aluminum "awning" in my house that's supposed to open above certain wind speed, close when it rains.