#657 – Automating the Home with Keith Burzinski

Download episode · 86 MB
Also on Apple · Spotify · YouTube · RSS
Show Notes
Welcome Keith Burzinski of Nabu Casa and the ESPhome project!
- Nabu Casa is a commercial venture that supports the open source Home Assistant (HA) project
- Hardware
- Home assistant allows your smart home to not require an outside connection, which is crucial to breaking free of large cloud providers.
- Chris just got a Zigbee dongle and switched outlet working in under a minute on HA
- Automation and triggers
- Users share their automation routines on the HA subreddit
- mmwave detecting heartbeat
- What is esphome?
- Abstraction / using YAML for business logic
- Deciding when to go custom
- Keith got started doing a PR for an IR remote
- Nixie clocks
- Boldport / Saar
- Getting hooked on SMT builds
- Keith made an STM32 based Tube Clock that Chris was very impressed by at a Chicago meetup
- Keith reworked the sensing for his HVAC by fusing multiple custom sensor boards
- Presence sensor - mmwave + IR sensor
- Geodesic dome
- Tiny fresnel lenses on low cost PIR sensors
- Fixing thermostat in apt
- Creating a network of temp sensors and weighing
- SRE = site reliability engineer
- Nabu Casa cloud service
- The year of the voice
- Home assistant YouTube
- Hardware: Blue, yellow, green
- How often are people reprogramming their devices
- ESPhome discord
- ESPhome.io
- See devices that can be reprogrammed to work with ESPhome
- Reddits
Transcript
Keith Burzinski: This is The Amp Hour Podcast. Release February 5th, 2024. Episode 657. Automating the Home with Keith Brzezinski.
Chris Gammell: Welcome to the Amp Hour. I'm Chris Gammell of Contextual Electronics. And I am Keith Brzezinski, working at Nabucasa right now as an ESP Home hardware and software developer. Here to answer all your questions about all home automation things.
Keith Burzinski: Yes, and I have many because I am a complete noob. You and I are not noobs to each other because we used to be at Chicago meetups together. That's how I met you.
Chris Gammell: Yes, yes. Those were fun, hanging out at the bar and discussing nerdy hardware things. And having some good food and drinks and stuff.
Keith Burzinski: It started pre-pandemic, so we actually got to hang out at a bar. And now it's slowly making its way back.
Chris Gammell: Yes, in the before times. Yes, it was good. We need to get more of those going now that you're kind of out east. Not in Chicago. Yes, not in Chicago.
Keith Burzinski: It's hard to make it to those meetups. It's a long commute. Okay, so you said Nabucasa. But what's the other word that people would know probably more in their soul if they've been watching this project?
Chris Gammell: Oh, the home automation platform itself. Yes, home assistant. Home assistant. The big one, yes. For all of the home automation folks out there. Yes, yes.
Keith Burzinski: Yes, so my first exposure to this was a former co-worker did like a tech talk, internal tech talk about like his setup. And I'm like, I have never heard. Like, I'd never heard of it before. I'm just completely. I am not. I am a dumb home person normally up until recently. And I don't I don't know. I just always kind of ignored it. And then I'd seen this tech talk. I was like, oh, I really loved the the focus on like local control. And like you could bring in external APIs. But the fact that you can control stuff from this little box that's just kind of sitting in your house and you don't need to talk to a Google server or an Apple server in order to actually trigger these things. That really opened my eyes there.
Chris Gammell: Yeah, the I would argue that that local control is is not like a nice thing to have. It's it's really a necessity, a requirement. Yeah. And especially the way things go today. You just see all of these and there's not like dozens or even hundreds of them. But you do see a pattern of, you know, XYZ Corp makes a product. And, you know, a year, two years, three years, five years later, they decide they don't want to support it anymore. Yeah. And when you have a device that's completely reliant on a service that's running in, you know, AWS or Azure or GCP or wherever, then they turn it off. You've got a brick like you've got a brick sitting on your desk.
Keith Burzinski: I mean, even even GCP, they turned off Google IoT Core. So like it was that and you just killed that entire service at Google. It was like, oh, all right.
Chris Gammell: Insert your favorite Google product that they killed. That's right. It's just it's a real pattern. And unfortunately, yeah, you know, then you have all this hardware that's just kind of useless. And so local control is really critical in this environment, I think, because you want to be able to continue to use these devices. You know, my light bulb can't stop working because some company went bankrupt or doesn't want to support it. I need to be able to see in my living room when I come home at the end of the day. And so that really so, yeah. Right, right.
Keith Burzinski: I would love to play the role of curmudgeon as much as I am a virgin, virgining smart home enthusiast, which I'm not really that yet. I'm just interested in home assistant. Yeah. But like some people say, well, then don't make it smart at all. Right. Why even bother? Don't do this sort of thing. And I think that's one thing we're going to talk about here today is just like some of the interesting things you can do. You don't have to do. But there are I think some of the baseline thing is just that there are some interesting and useful things that you can do with some of this some of this stuff as well.
Chris Gammell: Yeah. Oh, yeah, absolutely. And, you know, whether whether it's just a finished product that you want to get, you know, and maybe fine tune its behavior a little bit, or if there's, you know, you can just buy a product, plug it in and use it. There are some products that are sold with, you know, for example, ESP home. And there's just a whole spectrum of things you can do. And the possibilities are pretty unlimited if you're willing to spend the time and or the money. But it can be a little bit of a time suck, too. Yeah. Yeah. Make no mistake. Right. Yeah. It is a rabbit hole.
Keith Burzinski: Yeah. I think that's one of the things that people do buy currently. Right. So it's like if you buy by what is the home kit home kit, what's the home home assistant? Home kit, home assistant. Home kit and home assistant. That gets me confused. Right. So home kit is the Apple thing. Right. That's the Apple smart home gadget. And then home assistant is the software that we're talking about here and the ecosystem around it. And then Navacasa is a company that kind of shepherds some of the stuff, including ESP home, which is what you work on. And then some of the hardware around it as well. So that's also another thing. So you need to run home assistant on some hardware. It could just be a Raspberry Pi or even just a generic computer. But there's also purchasable and custom hardware meant for this specific purpose.
Chris Gammell: Exactly. Yeah. Home assistant in and of itself is more of a kind of the brain of the center point or some people like hub. Hub isn't my favorite word for them. But like it's still portal. It's kind of the center point portal. Sure. Yeah. But it's the center point of the kind of the brain of everything. And then you have these devices that you put around it that it will talk to in any number of ways. You know, that wirelessly wired, you know, Bluetooth, Zigbee thread, Wi-Fi. You know, there's a whole bunch of different ways you can bring things into it. But yeah, that's that. That's those are kind of the two parts of the puzzle. You've got your kind of hub or brain in the middle of it. And then you've got these devices that you want to control.
Keith Burzinski: Right. Yes. And I just just this afternoon, I finally hooked up. So I've I've had this on my mind to like, oh, I should do this at some point. Now that I'm on leave for a little bit. I've had some time during a nap time to install home assistant on a pie I had laying around. I got it up and I was like, oh, it doesn't do anything yet. I have to actually like order some hardware, build some hardware or something like that. And now I finally ordered some hardware and it's just like work and it literally just worked out of the box. I was really surprised by that. Like, because that's the goal. Yeah. I mean, yes, right. Exactly. That is like the I think that's the goal for really any smart home system, even if you are buying it from a, you know, a Google or an Apple. But now it's works out of the box and it's not tied to any vendor. That's pretty cool. Yes. Like, so in my case, Keith looking at my video, but yeah, I was showing him how I have a smart switch behind me that is Zigbee based is a son off. It's on a. It's on. Yep. Yeah. Yeah. Excuse me. Um, and, uh, yeah, it was just basically just plug in a dongle dongle recognized comes up, uses ZHA with his Zigbee home assistant, I believe. And, um, and then it just recognizes a new device in the house and it just pairs it and I'm ready to go. Like that's, that's, that's kind of what I want for a lot of my, a lot of my interactions. And, and then you, and then you kind of write your own scripts on top of it if you want to write, you can set triggers and all that stuff. It feels like that might be a little out of my, it seems like that's where a lot of the community is. And they're like a lot of like kind of software IT type folks that are like very into that sort of thing. I'm like, well, what do I do with this now? Like kind of setting up complex business logic and or, you know, automation logic. I'm like. Business logic.
Chris Gammell: And on the flip side, you have home logic. Yeah. Right. Yeah.
Keith Burzinski: Yeah. Yeah. But you know, it's the weekend.
Chris Gammell: So it's home logic. Right. Right. Exactly. Yeah. No, it's it. It. The automation is, is the. The other big part of the puzzle. And I think this is where people can end up spending most of their time and be it either the actual, like be it physical implementation of the automation itself, like getting the, you know, steps that executing it basically. But you can spend a lot more time just figuring out what you need, what makes sense for, for your lifestyle. You know, I go in some people put like sensors under their beds. And so they know like when they lay on the bed and only on the bed, then it shuts off all the lights around the house and make sure that, you know, like my, maybe it triggers a robot vacuum, for example, because then it'll vacuum downstairs while they're sleeping upstairs. There's all sorts of things that you can do with that. Um, and, and it, how you use it, I think largely just depends on, on your lifestyle and, uh, you know, what, what you want it to be. Um, and it's not always immediately obvious either. Some people might like, I have a cousin, for example, who has a, you know, a few smart light bulbs and stuff, but they just like to be able to switch them on and off from their phone. Um, as you have this stuff around you and you start to realize that you can do more than that, um, that's where the power of it really starts to become more, more visible. Uh, you know, yes.
Keith Burzinski: And I was on, uh, like the subreddit, there's a home system subreddit. I was on there and that, uh, there was like some idea, you know, it's like people kind of quasi boast, but just like showing off the things they're doing, which is cool. Actually, it's like nice to just be able to see some of that stuff. Like one was, uh, like a guy walking downstairs, it did like a proximity based on like the field strength of his Bluetooth on his phone. Then it like started triggering a bunch of automations based on that coffee and music and news and whatever.
Chris Gammell: Yep. Yeah. People do, uh, room, room detection has been a, you know, is, is there someone in a particular room has been a real hot one right now. And in particular, uh, a lot of the tinkerers are using these millimeter wave sensors, um, that are there, you know, it's, it's still a radar one. Exactly. And it's still basically a motion sensor, but the thing is, is that they can detect such minute motions. They, they will detect your heart beating, for example. And that's, that's like, that's how fine they are. And so you can determine if someone is in a room that way. Um, you know, the traditional motion sensors like PIR and things like that. Um, you actually have to physically move your arms. Yeah. Oh yeah. Yeah. Yeah. And that's those, you know, that was real common, but these millimeter wave ones are, are, um, you know, much, much, much more sensitive. And so they can determine if people are in a room. The other thing you mentioned, Bluetooth, some people, yeah, we'll use, uh, like one of the ESP, uh, devices with Bluetooth enabled to identify, you know, like if you have an Apple watch or an Android watch or something, you know, something like that, something that's just kind of broadcasting a Bluetooth beacon. Um, it can identify the, uh, you idea of the device and you can start to pair like who's in what room and when. And there's a whole bunch of different use cases for that as well outside the scope of the, you know, what we're chatting about today. But, uh, there are people doing that and it's certainly possible. Yeah.
Keith Burzinski: Yeah. That's cool. Yeah. And I think that, you know, it's, uh, it does seem kind of like a marketplace. It seems like a lot of people coming together, doing interesting things. Some are going to be just off the shelf type users. Some are going to be custom users, but you focus on the custom users with ESP home. So let's quickly talk about what is ESP home.
Chris Gammell: Yeah. So that's a great question. And I think we're, we're still, I don't want to say struggling to define exactly. Like we know what it is and does, but putting it to words is sometimes a little tricky. Um, I think the way I would explain it, and this might sound a little daunting to someone who's never done any kind of IOT or embedded development before, but I would probably explain it as an, a development platform for IOT devices that aims at being pretty close to no code. It eliminates all of the boiler plate that you would typically have. Uh, like we get a lot of people who are familiar with Arduino, for example, and then the Arduino IDE, like you don't have to do any of that with ESP home. You can create a YAML file. It'll, and there's actually web tools that will set up a device for you and give you effectively just a blank file with just essentially a template. And then you populate it with things that you want. So for example, uh, if I want a sensor, like a BME 280 is a real common, uh, you know, temperature, humidity, pressure. Um, you just put the YAML BME 280, uh, use this I squared C bus. You give it the pin numbers, um, the names of the sensors as you want them to appear in home assistant, you know, living room temperature, living room humidity. Um, and you click compile and it dumps it on the ESP and then it shows up in home assistant. You don't have to sit there and like fiddle with bits and figure out how many shipping places you've got to shift and decode the type of like, that's all done.
Keith Burzinski: I think that's the thing. It's like, once you start to assume there's some similarities on hardware on setup on like just the kind of the genericization of, of like hardware implementations, like, okay, you're just going to have this stuff. Now it's like, it's almost like that another like business logic type of thing where it's like, yeah, pin two is this pin four is that now that it's hooked up, let's just go, go for it. Right. And, and so it's like, it's like more abstraction sort of, right.
Chris Gammell: I mean, yeah, it is. It, it does build some abstraction around all of the specifics of, and you know, the, the, I mean, I think people listening to the show will be familiar with some of the intricacies of all these different microcontrollers we have around us, you know, ST versus ESP versus at mega, you know, three 28 or, you know, um, there there's all, despite all of these different platforms, um, you know, we focus on the expressive, like ESP, the 82, 66, 32, and then some of the ESP 32 variants. Um, but it also supports, uh, like for example, the RPI Pico, like we have support the, the RP 2040. Um, so like we have support for that too, because there's a version of that with wifi and, and that's kind of the only prerequisite ESP home is designed to communicate with home assistant via wifi, via TCP IP. Um, there's an API and so on. And so, but again, this is all kind of under the hood as a, as someone who just wants a temperature sensor or just wants like an infrared remote control is a great, another great use case for these things. Like you don't have to know all of this stuff. It's just sort of there. And I'm getting off on a little bit of a tangent here, but that's good.
Keith Burzinski: That's good. And that's actually something I like about the ESP home site as well, because it's like kind of laying through, like going through all the different sensor components and like some other types of inputs and stuff like that. And that actually, sometimes I just want to see like, what is even possible, right? This is kind of a great thing about this is like, yeah, you could kind of just see, here's the sensors that are already supported. Now go nuts with it. You know, like now think about what you're going to actually do with it because it's the, once you are moving past the, like, I don't need anything custom. I don't need to custom, uh, you know, I don't need to do anything fancy. Aside from extracting the information that already is getting there. I don't need to write my own library for that sort of thing. Okay. Just give me the data. The data is the product in that case. And then the, the custom board that, or sorry, the wiring that you're doing is just how you're setting it up to, to make it work.
Chris Gammell: Exactly. And that's like, you know, back to your point about the sort of assuming similarities between the different platforms, you know, it, the way a lot of these processors are now is, you know, just give me an I squared C bus, put it on, you know, pins seven, you know, and, and just, I don't care about all the registers and like twiddling and all this stuff. It's just make it happen. And this, this is what ESP home takes care of for you is, you know, I define I squared C bus. I tell the sensor to use it and there we go. So it makes the, it really gets rid of almost all a boilerplate. I don't want to say it's like no code. I think it's a little buzzwordy. It does largely revolve around YAML configuration files. So you define what you want in YAML. And there's text in this monotype. And I, so it looks like code to me. I'm just saying. Yeah, exactly. Right. You know, and there's indenting and colons and stuff. Yeah. Yeah. That's scary. So no code may be a bit of a stretch, but the other thing too, is it depends what you're using if you want to use like a little embedded display, like a little OLED, you know, 64 by 128, just to show some numbers or something. You're probably going to have to write a little bit of C code to make that happen. Like there's not a way to do that in YAML yet. Maybe it will come about who knows, but.
Keith Burzinski: Yeah. That's actually an interesting thing to pick into then too. So like what? Okay. So I was, I told you before the show, I'm going to give you an idea of the things I want to do. And I think this is totally possible. So I was like, what should I plug into my home assistant system? Well, how about like a garage door sensor and then also a light sensor on the same board? Is that like, that seems like that's pretty easy to stick in a garage? Like a, you know, like a read, read switch and a light sensor.
Chris Gammell: Oh yeah. Yeah. And there's, there's a, there's a lot of different ways you could do that with, I honestly with, or without ESP home, there are sensors that'll, you can do light sensing. You can do a little read switch to check if a door is open or closed motion sensing. There's, there's a lot of ways, but yeah, like something like that with ESP home would be pretty straightforward to do. A lot of folks, what they'll do is they'll just go on Amazon and, and, you know, pick up, you know, ESP 32 dev kit one or whatever the board is. And there's tons of them. Some of the boards have some peripherals, like a little display or maybe some sensors built on whatever. And you can get them there cheap. They're, you know, five, 10, 15, $20. And you're going to get two or three of them in a, in a little pack or something. And if you blow one up, it doesn't matter. Like, don't sweat it. Just get another one. There, there. And honestly, I found it pretty forgiving too. I think, you know, you're not going to fry it with five volts, at least not immediately, but 12. Yeah. Someone did. Yeah. So maybe, you know, think about that, but to your point, like, yeah, you could put an ESP with a little, just to sense if the door is open or closed, you could put another one with, you know, with a light sensor on it or a motion sensor, you know, is however you want. And they take, you know, five minutes to set up, especially once you go through the process a couple of times. The time from taking it out of the box to having it visible and usable and home assistant is no joke, maybe five minutes.
Keith Burzinski: Like, well, so, so how do you decide then? Okay. So like you had mentioned like, uh, the case I said with like the garage door sensor, right? I just wanted to Amazon, like you said, yes, you're right. There's just a bunch I could just buy that are ready to go. So then from your perspective, when do you decide to then switch over to ESP home or custom? I mean, you said you could do it yourself. Maybe you have some, some more specific specs. So like when, when are you, when are you seeing people reach for it, um, to go more custom? Is it like to use the sensor they already have on hand or to get some new functionality or why, why are they then going custom like that? It, it varies a lot.
Chris Gammell: I think for me, what usually drives me to build, uh, you know, to, to, to lay out a board and to build some kind of solution is, uh, specifically with ESP home is, is when I can't find or easily find or at a reasonable, reasonable price point, find a, uh, like a box product that I can get from Amazon that doesn't solve the problem in like the way that I want it to. Um, and I can give you an example, like led controllers. I made my, I spun my own little led controller board with an ESP 32 on it. And it literally just breaks out a bunch of pins, runs them into some nice little, uh, you know, transistor drivers for led tape. And that's it. I couldn't find a controller that uses an ESP 32. Um, you can use an 82 66 for this and almost all the controllers that are out there are based on 82 66 is, but the problem is, is the SP 82 66 has to bit bang. If it wants to PWM, it doesn't have hardware to do that. That's right. And so inevitably you get some flickering and that drives me crazy. I know some people are like, Oh, whatever. If you put them side by side, it's a very noticeable difference, but I spun my own board to put lamps in my living room because I just wanted an ESP 32 because I didn't want to deal with flickering all the time. Um, and, and so like, that's one case that the thermostats is another thing. And we can talk about the thermostats too, but, uh, that was a, an interesting project that just came out of a poor design of the apartment that I live in right now.
Keith Burzinski: Uh, don't, don't, so designing an anger. That's, that's a good, that's a good story.
Chris Gammell: Why is my thermostats up to 85 degrees and I'm sitting on my couch in a hoodie shivering? Uh, it's not because the thermostat is broken. Yeah. Yeah. So yeah, there's, there's, there's all sorts of cases and some people just do it because they just, they like the platform and they just want more devices and they don't, maybe they don't trust or they've gotten, you know, screwed over by these companies who they bought a product and you know, six months later it doesn't work because they, you know, Google turned it off or something and not to pick on Google, but you know, totally legit.
Keith Burzinski: But yeah, so in that case though, so are you seeing then people using ESP home actually like on end products as well? Like they're, they're like, maybe not like sell products, but even just like people building a lot, a lot of custom boards as well. Not just like what point to point wiring and stuff like it or, or quick headers.
Chris Gammell: Yeah, no, there, there are, there are, uh, definitely a few out there that are making products. Uh, we have, uh, was there are some, I want to say light bulbs or something that are shipping with it. Well, a lot of sensors. Um, there's, uh, I've, I've gotten some, uh, demo like sample devices, uh, from companies making some different sensors. The millimeter wave thing is huge. A lot of things with that. Um, in some cases, uh, custom controllers for different types of heating or cooling systems. Uh, I've seen a couple of those, those are less frequent. I think sensors in general is, and it'd be a kind of a broad category. Um, the, uh, that's just seems to be the one that most people get into is they want to know how much the CO2 is increasing when they're sleeping in their bedroom or whatever. And then so, uh, you know, you see lots of things like that.
Keith Burzinski: Okay. All right. That makes sense. Yeah. So then, then another kind of like kind of where, where the line is then I know it will probably be a blurry line, but like what, uh, when, when do you then have to switch out of YAML and using ESPHome to like the go custom? So you mentioned the OLED, but like, uh, is there other custom functionality? Like, I mean, most, most of the time, most of my boards are just like you said, flipping bits, just GPIO simple stuff. Right. So like, when are you seeing people that have to switch out of that to more custom? Is it like for like high speed timing type things?
Chris Gammell: Um, so ESPHome isn't really like it. So it uses free RTOS, uh, under the hood. So it's not so much necessarily for super specific timing, although that it does occasionally come up. Um, you know, people trying to tweak the main loop because it's just not going fast enough or something, but like how, how many times a second do you really need to read the temperature in your living room? Like it's just, it's a point where it's not necessary. And, and, and so those are the cases where like, it's probably an edge case and, and someone is doing something a little unusual and so not to blow people off, but like those people kind of end up like on their own and, and I don't want to be dismissive, but like, that's not what it's for.
Keith Burzinski: Um, you know, it does seem like this is like mass market, like customization, right? Like it's people that want to try a lot of different things and they need a tool to do it. This seems like a good one.
Chris Gammell: Well, it is. And the thing is, is this covers like probably 90% of like the, especially like common cases. I want to know if someone's in a room, I want to know a temperature. I want to know if a door is open or closed. I want to know how bright a room is or if it's raining outside. It does all of that type of stuff extraordinarily well with a really, I would argue really low barrier to entry. Um, for us, even for people, like people drop into the discord who don't know anything about electricity or electronics and they just want a little like sensor. And it is, it's like, it's so cool to see people getting into that. And then, you know, my friend told me I could do this or I started with ESP home because I wanted an IR remote controller for my AV system and my air conditioner, like in one. Like controller. And so, um, I did a PR because I happened to have a pioneer AV receiver and there was no like implementation of that in the ESP home. So I wrote it, I'd PR'd it and it got merged. Um, and I use still use it today. Yeah. So it's so I mean, I are remote saying power for a reason, I think, huh? Yeah. Something that came about in what, like the late sixties or they've been around forever. Yeah.
Keith Burzinski: But yeah, that's great. Yeah. That's cool. And I mean, it's, it's, it's good to see this kind of like where, where the lines are kind of drawn, but it's a good point about bringing people in too. I mean, like, um, there's so many, I feel like so many people, when I, when I hear about them working on like key CAD type stuff too, they're like, I want to make a custom board and then they run into all the idiosyncrasies and they're like, ah, nevermind, you know? And, and having, having something in between like this is a great from a code perspective, uh, you know, like clicking boards together, using things like quick headers, stem headers, all that stuff. It's like super useful to just make it even a step back from, you know, Arduino might be too, too much for someone at the beginning, but then this is like the drug that gets hooked.
Chris Gammell: So especially it is the drug that gets people hooked in. And that is like, I think Paul has actually said that at one point he, that was kind of how he got started into it. If I, uh, if I understood correctly, it's like, you know, you want something a little bit more than what you're getting with some of the commercial products. And so you have this realization that, you know, I can get this little board and it costs, you know, $6 from Amazon and it'll be here tomorrow. And if I just, you know, hook up these wires just so then it will do this thing and I will be really happy. And then they continue to, to just expand on that. One of the main hits start to get exactly. Cause then you can get one Amazon box at a time. Exactly. Exactly. And the next thing you know, you're spending hundreds of dollars a month on things that you lived fine without before, but now my life is over. Yeah. What now? What now? But it is, it's, it's, it's, it's a lot of fun and, and it is, you know, you'll get out of it as much as, as you're willing to put in. Like it's just, it's definitely a bit of an addiction. And we actually joke about that on the discord server that like, you know, especially new people just the welcome to your new addiction. You know, it's, it's fun. It's fun. And it's embedded about as easy as you can get, you know, like, uh, like I said, it just, I appreciate that it just gets rid of all the boilerplate and I can have a device that, you know, up and running in literally a few minutes just to see if something will work, proof of concept, something. And then I've gotten to the point now where I just have to do custom boards for everything because I don't like having to pump wire stringing all over. Yeah. Right. Exactly.
Keith Burzinski: Well, and so we should talk about that too. So like, you know, you, you came into this, you said you were doing a PR to, to, that's how you got introduced to the folks at ESP home. I met you doing some bad-ass projects at the meetup. Can you talk about some of those things? I mean, like, I remember when was the Nixie, was a Nixie something? I don't remember.
Chris Gammell: Nixie clocks. Yeah.
Keith Burzinski: Yeah.
Chris Gammell: Yeah.
Keith Burzinski: Much Nixie clocks.
Chris Gammell: I had done, I, yeah, I drew up some, some Nixie boards. I wanted a kind of a more modern take on a Nixie clock. And so I, I did that. Um, and I had done some other projects that really, what happened was, is, you know, I, my dad was an electrical engineer. And so I got all of this, you know, knowledge, but, you know, second grader playing with LEDs and shift registers and things. And, um, so I kind of got started that way. As I grew up, I sort of got distracted by the internet and went the kind of sysadmin route with, you know, playing with servers and TCP IP and all of that stuff. And, um, the, a friend of mine put me onto the bullport club. Uh, you, you've talked to Sauer before. Um, and so I started getting a long throwback.
Keith Burzinski: Bullport is still going or no, isn't, is it still going? I don't even know.
Chris Gammell: He's, he's not doing the club anymore. Um, Sauer is still doing, I think he's actually doing software now, but, uh, he was working. I know he's writing for, uh, the circuits, the European Euro circuits. Yeah. Euro circuits. Yeah. Yeah. Yeah. Some blog posts for them. Uh, yeah. He might still be doing that. Uh, I, I haven't been following, but, uh, in any event, no, the, the, the club has since been retired, but the, um, it just kind of got me kind of rekindled the interest in, you know, building things and circuits and boards and soldering and, and, uh, and so on, you know, those fumes are just addicting. You start soldering and, but, uh, so, and so I just, that was how I learned how to do surface mount, which is really the thing that, that tore me away from electronics in general was, you know, when I was growing up, everything was kind of shifting from being more, you know, through hole style to more surface mount. And like average hobbyist can't really do surface mount. Uh, it is a, a little bit different skill that you, it's not difficult. Like once you know how to do it, it's like, oh, this is actually really easy. It does require steady hand and a pair of tweezers and probably a microscope, but, um, you, you know, it's, it's, it's doable at your workbench. Um, and once he sent a couple of kits that, that were really centered around surface mount work, um, I learned how to do that and I'm like, oh yes. Okay. Now I know the right way to do this. And so that's when I started to like get back on it and making my own words and things. And, uh, so the Nixie clocks came about and then, uh, I did a little infrared remote controller and image, this led controller. And then the thermostats, um, came out of the, uh, came out of that. And so now, honestly, it doesn't take much to drop one of these little ESP modules on a board. Um, there like the RF stuff is already done. So you get a footprint CAD and you drop it on the board, give it 3.3 volts from pick your source. And they more or less just work. Uh, it's, it's pretty slick.
Keith Burzinski: Yeah, that's great. That's great. I mean, like, yeah. And like you're saying all these things, like it's easy though. And I do think that like, we should call out the fact that it's like, you're, you know, you're still put all this stuff together and you know, that it takes time. Oh yeah. Make one mistake. And I put ESPs on a board before too. And I'm just like, oh, well, I'll just figure that stuff out later. Right. So like the making it all work together in conjunction, it's not like, it's not just a, you also have to make it actually do a thing. So that's also a thing, you know, you do. I thought the early, the early clock, the Nixie clocks were STM as well. Is that right?
Chris Gammell: Those are, those are using STM 32. Yeah. Yeah. STM 32 F F 0 7, I think. Um, but, uh, yeah, those are like, it's a cortex M zero with 48 megahertz. I think, you know, the usual slurry of purples they throw on those chips. Um, but, uh, yeah, those, uh, those, those were fun. And, and I, you know, I designed kind of a common baseboard motherboard for them and I drew up some different display boards. So you could put different sets of different types of tubes onto this, onto a common base. Um, and that worked out really well because you could have, you know, little tiny tubes if you want, or you can have a larger ones as well. And, um, I was pretty happy. And where can people find these? I I'm looking on your GitHub and I'm like, look, oh, there's no. There's, there's a tube. There's a, yeah, I do need to add some photos of those to the, uh, the repo. I, I have some pictures and for some reason that, that repo just kind of got like, I, I didn't forget about it. I know what's there, but it's just, uh, I could use some pictures. The pandemic hole. Yeah. Okay. They're not, so you're not like selling them on Tinder or anything like that though, right? It's just. No, no, no, no. I've, I've never gone to the extent of, of selling things. And that actually brings about another good point. I need to, at some point start using PCBA. Uh, I keep building things at home myself and, uh, I just more out of like, I need to make sure I understand that process and start doing it because I'm soldering way too many things at home. And when you start doing a 402 and, you know, parts that size, uh, I, I can do them, but, uh, it's getting old. Yeah. Leave it to the robots, right? Exactly. Yeah.
Keith Burzinski: Yeah. No, that's good. I mean, like, and it works. I mean, it's just a matter of time and obviously you like, you like the process.
Chris Gammell: So I do, I will say that there's something about like just sitting, it's, it is a little tedious, but it's also actually kind of relaxing for me, uh, to just sit and put this thing together. And then you, you know, bring it, especially for design that I haven't tested. Like it's nice to be able to sort of test sections of a board or parts of a board. Maybe I don't put all the parts on if I are a part of it, test it, make sure that nothing's going to let the magic smoke out. And then if it works, then, you know, you know, continue with, uh, you know, with it, but, uh, yeah, it's, uh, if, if I got a four, a full board assembled and just plug it in and turned it on, I would still be a little nervous, even though at this point I'm pretty confident, but, uh, right. You always get a little like, I hope I didn't screw up.
Keith Burzinski: So, okay. So then you're going from that now, now you kind of have more of a kind of, you know, your system, you're, you're up and up and going these days. What, uh, what are you then, you said you're always kind of turning these custom boards. What are, what are some examples of some of the customs that you're turning these days?
Chris Gammell: So one, uh, one that I'm working on right now, just as a, another personal thingy that I'm, I'm tackling, uh, I, I decided I wanted to do my own little presence sensor. As I mentioned before, people are doing these millimeter wave sensor, present sensor things. And there've been, uh, uh, a couple products, things people have done online where they combined a, uh, uh, one of the millimeter wave sensors and a PIR sensor. And there was a thing about PIR sensors that bugged me. And I'm going to go off on a tangent here for a moment, because this is just kind of, I don't know why this bugs me. It's, it's dumb, but hear me out. Um, you know, you can buy these little PIR sensor modules that, that you either plug in and they just are supposed to work, or you can get these little boards from Amazon that have a couple potentiometers, variable resistors to like set the sensitivity. Um, and maybe the delay, like how long it will stay on after it has detected motion before it goes to no motion. But at the end of the day, you're just getting a binary, like motion, no motion. Um, and, and there's, you can't really tune the behavior at all. And I, I realized, um, you know, how I started to look in like, what is the sensor element on it? How do they actually work? And so I learned about like the pyroelectric sensor and all the optics and how that all
Keith Burzinski: works. I wonder that I have like the kinds that are just like lighting up my hallway and I'm like, how does it know I'm here right now? So actually give us a, give us a quick summary. I have no idea.
Chris Gammell: I've used, I've seen them and used them.
Keith Burzinski: Right.
Chris Gammell: Like most people, I think most people don't, cause it probably doesn't matter, but I'm often my little like over here.
Keith Burzinski: And so you walk towards the sliding doors and they open. That's, that's how they work. Right. Exactly.
Chris Gammell: So it's, that's all we, and then end of story, we'll go home. No, but so there's, there's a, a sensor element called a pyroelectric sensor. And it is basically, I hope I'm pronouncing that correctly. I think I am. Um, it's basically a, a, a, a, just a field effect transistor with a gate that's sensitive to heat. Um, and, and so the thing is, is it's only very minutely sensitive. And so you get out of it, uh, exactly. So you got to run it into some kind of amplification. Right. And so I, you know, I looked up how that works and so on and so forth. But at the end of the day, you know, when you wave your hand in front of it, you just get kind of a ripple. And if you're looking at this on a scope and you just get kind of a ripple as, as something goes by. And what is the heat? Is it, is it literally because I'm a hot, a warm body like walking by? That's exactly. Yes. And so you, you know, the, the sensor itself is, is only very, like very minutely sensitive to this, but it does, it is sensitive to it. And so you'll get a little bit. And, but we're talking about like sub 10 millivolts. It's a really like, yeah. Yeah. Yeah.
Keith Burzinski: So then you'll have like a, I mean, this is why these things trigger sometimes too, right? Like they falsely trigger if you have like.
Chris Gammell: Well, yeah. And so this is, here we go. So you, you put a lens in front of it. That's why they always have that kind of funny looking translucent lens.
Keith Burzinski: So it looks like, um, like one of those, uh, what's the Buckminster Fuller thing? You know, like the, the dome, the half domes. The half. Yeah. I, I, I think, um, it looks, it's like a dome, but it's, it's a geodesic dome. Is it geodesic? Yes. Yes. Right.
Chris Gammell: Cause it's all triangles usually. Right. They're well, what they are is they're tiny Fresnel lenses. And, and so they're actually like pressed into the, the, like the ones I bought, it's actually a Fresnel lens pattern, but they're offset from each other and deliberately. So, so that as it, as it curves around or over the sensor element, it's, it's grabbing like heat from different sections and it intentionally is causing kind of like a rippling pattern. So as you move through the area where it's looking, it deliberately offsets that the, the, the heat kind of like flip-flops between the kind of different halves or parts of the sensor element. And so that's what creates helps, helps to create initially the, the, the, the behavior of the, you know, this fat kind of switching between it's never fully on or off. It's in a kind of the linear state, but it's still will vary a voltage, you know?
Keith Burzinski: And so you can get, I do remember seeing that like, there is impossible to get low power on those. Right. Cause it's like, it's always like always watching, always amplifying that sort of thing.
Chris Gammell: You can now, um, there's pretty good designs that he didn't.
Keith Burzinski: Maybe I was just using the cheap old ones off Amazon.
Chris Gammell: That might've been in there from that too. Yeah. It depends really how the circuits designed. Like you can do these, these days you can get some things that do are like super low power, even when they're idle or off and you can get off amps that, you know, use like micro amps, sub micro. I mean, it's crazy, but in any event, um, so I had the brilliant idea of let's take this thing, you know, build a circuit out on a board, run it through an op amp and run it into the ADC input on a, uh, I'm using an ESP 32 C3. Okay. And, uh, that was a great idea, uh, until I realized I needed to learn about, uh, filtering because, uh, you know, when the radio is transmitting, uh, especially when it's transmitting the, the nice smooth little analog signal looks like someone took a jackhammer to a sidewalk and, uh, all of a sudden the motion sensing doesn't work so well. Uh, and, and so I, uh, I was chatting, uh, with, uh, I, I posted about what I was trying to do on the, the, uh, the, uh, the competing podcast, the embedded FM slack. Oh my gosh. I dare you utter their names here. And, uh, it's like, you know, someone looked at the board and was like, Oh, maybe you'd need to do this or that. And then also the bullport, the old bullport discord has a, um, um, design review or I need some help. There's a couple of channels for that. And so I posted it on there and a couple of people chimed in. And so I started adding something, you know, more capacitors, a pie filter and some other things and got a lot better. Um, like way better. I actually can't believe how big of a difference some of that made, but it's still when the radio is transmitting, like when it's actively transmitting, it's still causing like blips. And so I still need to figure out how to deal with that.
Keith Burzinski: But, uh, but the idea is that you're trying to basically make it like a continuous net instead of like an on off thing. Now it's like a continuous, you're just mapping values.
Chris Gammell: Yeah. So that's a great question. The end goal is to have a software, like fully software controllable, like ability to tune the behavior of the PI or how sensitive is it? What is the range and so on and so forth. And actually, honestly, like it works except when the radio is doing something. Uh, so that's, that's the part. Yeah. So no streaming then. You had to like bundle all that data or something. Right. Yeah, exactly. Or like didn't able to disable the wifi. I'm not sure what the right answer is going to be. It's still very much a work in progress, but it's, it's been neat because, you know, I'm coming at the whole electronics thing from the, the hobbyist angle. Um, you know, my professional experience has really been like the, like to kind of the sysadmin and then dev into DevOps and SRE and, uh, with, with Nabucasa, you know, that I think they realized that I do hardware pretty okay. And, uh, and so there was an opportunity and then the software development and, and like just, it's, I guess at this point in my life, a little more passionate about this type of stuff. And so it was a really great kind of pivot point to, to get back into this and also get some professional experience doing it. And, um, a lot of learning along the way, like there's just, there's so much, uh, there's, there's so many moving parts. Like I think I made the comment earlier. Like I look at the stuff.
Keith Burzinski: Knowing all that stuff as well. Like all the SRE types, like knowing how all the stuff's working in home assistant also is going to help you when you, even when you're down in, in the bits and the bites of, of an ESP, right. That's going to help you. Cause you does, you can look up the stack and be like, Oh, actually I know, I know how to make that work. And that's not a problem.
Chris Gammell: Yes, exactly. All of that background is, is super helpful to have. And, and, and even understanding things like, you know, people complain about, you know, opening ports on their firewalls and like, you know, this, and just understanding that the network side of it is definitely helpful because people come in with issues, uh, and we get into some, like people do some weird things on their home networks and that's fine. Like, it's not a complaint. It's just that there's a certain like kind of design principle or philosophy. And like, we, we want to have these expectations. And when you go and set up a whole bunch of VLANs and you block certain ports and you do these things like, uh, all of a sudden things are a little trickier and it wasn't really designed to work that way. That's not to say that you can't or that you shouldn't. It's just, you're going to have extra challenges if you're doing all those extra things. Yeah. And, uh, so yeah.
Keith Burzinski: Okay. So let's talk about, so where should, so people are listening right now. They're like, all right, well, Chris has got this booted up, so it can't be that hard. That's hopefully what people are thinking. Um, where should they start? What should be a, what should be a first sensor that they, what should be a first project that you use in ESP home as like an example? How about let's just make it personal. What should I put through ESP home, Keith?
Chris Gammell: What should I do? That's a great question. And, and I, I, I have a great answer for you. I hope, I hope you're ready. Um, so I would actually not suggest a specific project. What I would do is I would look for a particular problem that you want to solve. There's this one annoying thing that I have to do every day and I wish I didn't have to do it. And, you know, maybe it involves turning on a porch light. Maybe it involves, you know, did I remember to empty the dishwasher? Uh, maybe it involves, uh, changing the thermostat. I mean, who knows, but like pick one and just, I never want to deal with this again. And so once you identify that, then you can start to turn it into a project. And this is a point where like I did with the thermostats, right? So my thermostat is mounted on a wall that has directly behind it a boiler for a radiator system that heats the upper part of the house. And when the radiators run, especially when the weather is super cold and they are always running now, my thermostat says it's 85 degrees in my, in my unit, but really it's only 62.
Keith Burzinski: And I used to actually have this the opposite way where I used to live in Cleveland. Uh, and, um, the boiler had its thermostat like locally on the boiler itself sounds like kind of similar, but it was like, there was no control. It was just like, basically you had like, you know, you had a mercury switch up in your apartment or something like that, but I think it was all radiator based. So it wasn't even, I don't even know if that did much. Um, and so the way that we made our, we were freezing all the time. So the way we would make it warmer in our apartments is we'd go and we open the door into the boiler room. And it worked great. And then we would just open the windows when we got too hot, you know? Oh, yeah. Really?
Chris Gammell: I got a lot of green credits for that. I don't know if you know. I'm pretty sure that's what my friends are doing upstairs. Um, that, that I will say the, the, um, so the, where I'm living now, it's, it's a three flat and we've got lower, middle, upper, um, and the thermostat for the boilers is, is not on the boiler. Thank goodness. It's on the main floor, but the upper floor, all the, you know, it's at the upper floor. So it goes up and so they get pretty toasty up there. And yeah, when it's too hot, they just open a window. If it can be 20 degrees Fahrenheit, um, you know, below zero Celsius here and they'll open a window and because it's just, it does, it gets too hot and dry. Um, so yeah.
Keith Burzinski: Ah, Chicago. I'm not missing it this time. I gotta say.
Chris Gammell: Right. Yeah.
Keith Burzinski: I miss the people. I miss a lot of things. This is the weather is not one of them this time of year. So I'm not a fan. I'm not a fan of the winter myself either. Yeah.
Chris Gammell: Yeah.
Keith Burzinski: Yeah.
Chris Gammell: But, uh, yeah.
Keith Burzinski: So, oh, so how do you, how did you fix it? So you, you, what did you do?
Chris Gammell: With the thermostats. Uh, so, so I've, I've done, uh, well, so first of all, I designed, uh, and built my own custom thermostat with way too many sensors on it. Um, I, I, you know, if, if you go, here's another little mini tangent. So if you go online, you'll inevitably find, and we, you know, within the ESP home community, which is the best sensor to use. And there's arguments for, you know, the DHT 11 or the 22 or the BME 280 or the 680 or the TMP one with seven, or the, you know, there's just a whole bunch of them, or just to get a, to get a NTC thermostat and measure the temperature that, I mean, there's so many different ways you can do it. Which one is the best? Well, what is your budget? Uh, well, I wasn't sure which one I wanted to use. And since they're all I squared C, I just threw like six or seven of them on a board on whichever ones I wanted. Well, I, then I just built it and I put them all on because I'm like, Oh, you know, let's, let's do a real comparison here. Yeah. Yeah. If you ever go to manufacturing, that's when you flick them off, you know, there we go. So, uh, in any event, I, I'm extremely pleased with the performance of all of them. Uh, I, I, and I, I mean, which one is the best? Uh, and people argue about like self heating and, you know, the offsets and then skin, this, that, and the other. And I put, I made a little, I call it a diving board. It's basically a notched out section of it with the, to let the air around, you know, so that works great. But, um, honestly, from, if you just want to know the temperature in your living room or your bedroom, just roll the dice, pick one, like spend a budget or whatever. If they're all kind of the same in that sense, but, uh,
Keith Burzinski: So then how are you, how are you controlling? So you have this measurement now. So then what is the, what does it look like when you're actually controlling?
Chris Gammell: Yeah. So the, the tangent about the sensors aside. So what I did is I put, I built multiple thermostats. So I have one that's physically wired into the heating system I have. Okay. And then I put another thermostat in the front room, uh, kind of living room, kitchen area I have. It's just sort of a big open space. And then I have one in the bedroom. Uh, and so the way I set it up, um, going back to like things to automate, you were asking about things to automate before. So here's a use case for an automation for you. So I added an additional little sensor board in the, specifically in the boiler room area. So that is, that is specifically monitoring the temperature around the space, around the boiler. So I know when the boiler is running and when it's not, just because that area gets hot when the boiler is running and what it does, the overly way over-engineered way too complicated solution that I came up with is normally I just take the readings from all the thermostats and average them together. And that's the, the temperature in my apartment. When the temperature, as the temperature in the boiler room increases, the weight of the reading from the wall mounted thermostat decreases. So what it begins to do is it starts to pull that thermostats reading out by just decreasing its weight in the average. So if it gets above, I think 80 or 82, maybe 85 degrees Fahrenheit in the boiler area, it gets to the point where the weight of that thermostat is zero. So at that point it's effectively out of the picture in terms of its reading. We assume that the reading is too skewed at that point to be valid. So at that point, I'm basically using the reading from just two of the thermostats, the one in the bedroom, in the front room, um, way too complicated of a solution, but it does solve the problem. The temperature in here is extremely consistent. I don't have any like jumping around or weird behavior. It works beautifully.
Keith Burzinski: Well, so one of the problems I always wonder about with all these systems though, is it's like, but you're still like, it's like a bang, bang system, right? It's like, oh, you get his offer on the bang, bang is the wrong term, right? But you don't get like zone cooling zone heating, right? I mean, that's always the problem in my mind.
Chris Gammell: It's not, I don't, I don't physically have the capability to do that here. Okay. But you could, um, if, if, if your house, you know, if you maybe had like a story home or something, you, you could put the flaps in to do that. You got to kind of plan it out, but, um, it can be done.
Keith Burzinski: And I have seen radiators. They actually have, there's network radiators from some companies like that are in Europe. Cause like they're, they're all radiator based there. And they actually have like, like the steam release valves where they, it's like a turn, right on old radiators. And, um, and there's like a, so it's like a motorized turn on those things. But is that how you, so like, how do you actually control stuff then? Is it just turning the, the boiler on and off?
Chris Gammell: So, um, okay.
Keith Burzinski: So I, I, sorry, another question for your system. Do you, do you control the upper floors as well?
Chris Gammell: No. No. So the, the house that I'm in, there's radiators throughout the house. There are actually one or two in the basement here, but there's not a sufficient number of them to heat the properly heat the basement. So when they remodeled this part of this house, they added a small furnace. So I've got a forced air system to, to, in addition to the, the couple of radiators, which I'm pretty sure are just buried behind one of my walls here, but regardless. Okay. Um, so, so more control points basically. Yeah. So, so the control for my space is specifically for my living area. And then the upstairs, that's the, the upper two spaces, apartments is, is where they depend on the radiators, uh, entirely. Now I'm not controlling the radars. I didn't touch the radiators at all. Um, I just wanted to not, uh, have to say the, the other problem is, is like some people were like, we'll just turn up your thermostat. I can't turn up my thermostat because when the boiler runs, the reading is skewed. But when the boiler shuts down, it's no longer skewed. That's right. So it doesn't, it like, you can't just separate systems. So exactly. And so I have to, I really have to either just not use the reading from the wall thermostat or I have to, you know, diminish its, like I said, diminish its weight. And the only reason I did the whole thing with waiting and like slowly lowering its weight and the average is just to keep an abrupt, like if it's just a binary, like use it, don't use it. Yeah. That will cause a temperature jump because the average will change abruptly because now you've removed a reading that is still, so you could potentially see the temperature change by two or three degrees and that'll start to skew. So I wanted to have something that would gradually remove that value. Um, so that's why, that's why I did that approach.
Keith Burzinski: That's great. I mean, and I think that's a, that's a good, that's a good example here though, too, because it's basically like, you know, you can buy systems like this, but then going and re-control, like you could have, you could potentially go and buy a new controller, HVAC controller that does this. But I'm guessing that to that much level of customization would actually be really hard to find.
Chris Gammell: That's exactly right. You can't quite get that much customization. You certainly have like, I think Nestor, it could be like, you can, you, I know for certain you can get remote sensors for those. I don't know that they let you control the behavior of those sensors to like quite this degree. And so that was, that was, and I figured like a thermostat is actually a really simple device. And I, some people might be like, oh no, it's not.
Keith Burzinski: I think it is. I think only because people are worried if it doesn't work. Right. I mean, like when it stops working, then, then you're kind of in a pretty bad spot. Right.
Chris Gammell: And so that, well, and so that, that brings about another good point is so like, okay, now I've created this thermostat and yes, it's, you know, home assistant is doing this averaging because remember these, the ESP, different ESP devices are not talking to each other. They only talk to home assistants. They're dumb, right? They're not dumb, but they're smart enough to send sensor readings, right? They're sensors. They can, they can stand on their own two feet, but they're not going to like run the whole show, you know? And so the, inevitably the question comes up, well, what do we, you know, what if my home assistant is down? And my initial answer to that is we'll just make sure that doesn't happen because that's an easy thing to do, but it's easier. There's the SRE right there. Exactly.
Keith Burzinski: Site, site reliability engineer. Is that what it is?
Chris Gammell: Site reliability engineering. Yeah. Yeah. But it is like that it's easier to solve the problem of make sure home assistant is never down than it is to try to get ESPs to talk directly to each other with some kind of peer to peer infrastructure. And then, because that's another layer you've got to manage now and so on and so forth. So regardless, I digress. But so what happens when home assistant is down in this averaging, is it working? Well, the thermostat understands like my thermostat, I should say, understands when it is receiving updates and when it is connected to home assistant and when it is not. So if it either stops receiving updates or if it becomes disconnected from home assistant or disconnected from the Wi-Fi, which of course would imply that it's disconnected from home assistant, then what it'll do is it will just rely exclusively on its internal sensor. So it'll continue to function as a thermostat just fine and it will regulate the temperature, but it's not going to have the benefit of the whole everything. Actively less optimal. Right. Exactly. Yeah. Yeah. So it won't stop working, you know, and that's the most important part. A thermostat can't quit working. So that problem was solved and life is good. Like I said.
Keith Burzinski: No longer shivering in your living room. Yeah. Exactly. Exactly. So it worked out well. It is interesting too, like the scale of this stuff. Like it does seem like it kind of goes from this, like, you know, like you're saying, low level temperature monitoring all the way up to like, I've seen like camera feeds being pulled into home assistant too. It does seem like the scale difference of that is significant, right?
Chris Gammell: Yes. There's you, that's, and I have to say one thing that, that I don't think we've brought up yet is the, the understanding the scale or the capability of home assistant is like, because of how home assistant has grown and, and because of like, who uses it and who is ultimately maintaining it and continuing to build it, the community, like people are buying these products because they want to solve a problem in their home, something they don't like. They want to fix something. And, and inevitably someone buys a product that maybe doesn't quite work the way they want or, or doesn't integrate the way they want. And so they, they may, they contribute to home assistant. They contribute to ESP home to, to make their solution available to others. And because of that general pattern, it has grown to the point where it supports so many things. It's, it's almost more difficult to find something of a product that won't work with it than it is to find a product that, that will. Yeah. Um, it's, it's really got a very high degree of compatibility and, and, you know, it's, some things work better than others. I think that's true of anything, but, um, like I could just go on and on about how great that is, is, is, you know, there's, it's less as a consumer. It's a, it's, it's comforting. Like, uh, it just, it really is to know that the longevity will be there. The reliability will be there. Um, yeah, that I have a whole range of choices now, as opposed to being locked into one particular ecosystem that maybe doesn't solve or doesn't even have a solution, uh, for something, you know? So it's, it's interesting.
Keith Burzinski: I feel like, I feel like it's always been possible, but it, uh, but I think I always think about like those, uh, installer companies in like the eighties, you know, like where they would just come in and they were like, they would like trick out your home with all these like switches on the wall and all this crazy stuff. And it was like often very bespoke. And, but now it's just like, you don't need any of that stuff anymore. You just need a little bit of time on the weekend and yeah, Amazon or low cost hard, like just the hardware is ubiquitous and so cheap. It's really crazy how cheap it is.
Chris Gammell: It's, and that's another thing I like. And, and the ESP, like I mentioned, the ESP modules themselves are, you know, a dollar or two for just the module. You want these little dev kit boards from Amazon. You can get like a three pack of them for eight or 12 bucks or something like that. They're so inexpensive. Um, and, and they're easy to work with. Honestly, I think that the, the initial bring up has gotten to the point where it's just so quick and easy. It's like, why, you know, I understand if you're not a tinker and especially if you just don't get technology, don't get engineering. And I, I certainly have family members who would never touch the stuff. Right. But like for someone who's maybe just a little curious, you know, and, and children, adults, I mean, whatever, it doesn't matter. Like if you've got just a little bit of curiosity, it's so easy to pick it up and run with it. Yeah. Even the, even the barrier, like Arduino is really broke down that barrier for, you know, like the, the old three 28 chips or the, what is it was, what were they? One 86, one 68 before, like, yeah, they made it a lot more accessible, but this is like the next level of that. It's even easier, especially because it integrates. Well, I think there's another layer up there too. Right.
Keith Burzinski: Like I remember seeing, I think it was on the, the homeless and reddit channel that that little like finger thing, it's like a button pusher. It's like, you can actually actuate it. It just like pushes or whatever, flicks a switch or whatever. And I'm obviously using my finger as I'm showing Keith, whether this is to explain it, but it's like a little plastic actuator basically. And it's just like meant to like flick light switches, whatever. It's like a retrofit tool, basically like that. Most of the time that's what doesn't that fix, you know, like that's like most of what
Chris Gammell: we're doing, like the door locks where it's just like a thing that fits over the, the, the, the handle that you rotate to, you know, center on engage or disengage the deadbolt.
Keith Burzinski: Like I remember I had a client, I had a potential client. Someone called me up to do a consulting job a couple of years ago. And they're like, I have a server in a building that is not accessible unless you get a car for five hours. What would it take for you to design a finger that I could trigger with a cell phone? I just need a trigger with a cell phone, a finger, a little finger to hit a reset button. I'm like, Oh, well, this is impossible. But that's what the, like literally that's what most people like. That is a very valuable thing. Cause you think about it's the product is not the finger. It's not the cell phone. It's the five hours is removing five hours. That is the key thing.
Chris Gammell: It's, it's, and it's funny you mentioned that too, because there are deaf, I have seen, I can personally recall on several occasions at this point, people who've dropped into the ESP home discord and been like, I want to know how I can make an ESP push a button on my desktop PC, you know? And like, that's how people start thinking about it too.
Keith Burzinski: Right. I mean, it's like, and also like in my mind, it's always like the, uh, the Rubert Goldberg machine where like at the end, the basketball hits the umbrella, but then eventually it just triggers a little finger.
Chris Gammell: Yeah, exactly. It, it, it does. And, and that's, that's like, sometimes that's just all you need, you know, and, and these things can solve that problem. And it's again, appreciate for it. I just, it's, it's really fascinating to see all of the different ways that it can be gets applied. Um, yeah. One in one in particular, the, um, I think it was the third, the, someone was using the third, cause I, I did a lot of work on the thermostat component and an ESP home. Um, and, um, someone was using it to, uh, regulate like an ice chest or something for their, for their, when they were like catching fish on their yacht, like it just weird stories. And there was something, I wish I could remember the specifics, but I was just like, so you're okay. So you're using it to control a refrigeration system and, and it pings you if you leave the door open or if someone leaves the door open, because then the fish will spoil and the ice chest. And like, that would just be, that would be really bad. But like, it's, it's interesting. Like you get these kind of totally valid use cases, but they're just like, I wouldn't have thought of that. I wrote the thermostat with the intention of like, it's going to be in your living room or your bedroom and it's just going to switch your furnace or your air conditioning on and off, you know? And, uh, but you start hearing that things like that. And, uh, the, the, the sprinkler controller is another one I worked on that was like, okay, that's the sprinkler controller. Someone came, could you pause the sprinklers? And it's like, like lawn irrigation, right? Like for your yard. And, um, I was like working on this and we had a thread going in discord and one guy said, can I pause it? Why would you want to pause the sprinkler system? Pause it. Well, they, they've got a reservoir that they're drawing water from. Washing a dog? Oh no. Yeah.
Keith Burzinski: Sometimes the dog jumps out and you need to like pause it.
Chris Gammell: You need to pause it. Exactly. Yeah. I just, you know, he went out of the yard, wait till he comes back. No, but no, they, they have a reservoir and they like wanted to pause the watering cycle if the reservoir like ran below a certain level and then they would resume it after some runoff would come and they would. So it just, I would have never thought of that. I wrote it initially with it would just iterate through however many zones you gave it and then it would shut off and you're done, you know? But yeah, it's the, the community comes up with uses for these things that are just really interesting and, and, and sometimes a little odd, but you know, you hear about it and it's like, oh, that's, that's, it's cool that you thought to use it that way. I never, that doesn't apply to me. So like, why would I think of it? You know? Right. Right. But learning about the, the, and just seeing some of the issues that people are trying to solve. Um, and it's such a spectrum and it's, it really is fascinating at the end of the day. I get it. I get a kick out of watching that part of it. Uh, and, and certainly, you know, helping people when I can, sometimes it can get a little exhausting, but, uh. Yeah. Yeah.
Keith Burzinski: That is tough. I mean, it is my definition. It's like beginners and like, that's, there's just, you know, everybody comes in with a different context and different problems. And so like, you have to kind of level set on like, well, what are you really doing and trying to do? And that is, that is, you're doing, you're, you're doing good work there, man. Like that's, that's doing the Lord's work, you know, like that's, that's great. But yeah, it's not easy.
Chris Gammell: Not always easy. It's, it's not, but it is, I will say it's funny. Even when you get like really frustrating problems, it's, uh, it's just fun. And especially like at the end of it, that again, that dopamine hit of like, yeah, we figured this out, you know, it's, it's pretty great. So I enjoy that a lot.
Keith Burzinski: I want to round it out and come back to Navacasa, the company you work for and the hardware you guys build as well. I want to talk about that hardware. And then also the, you guys have like a system. So like this could all be local, but then there's also a cloud service that you sell where it's basically like, now you can kind of tap into that from like, you don't need to be on your wifi network with your phone in order to check if your garage doors open. Now you could be out of the grocery store and check it without a DNS bouncer or a,
Chris Gammell: yeah. Yeah. Yeah. Um, that's, that's a great question and I'm glad you brought that up. Uh, so yes, uh, kind of getting back to the, you know, like cloud versus local thing. Um, I would, I would generally argue that it's a lot easier as, you know, XYZ corporation to make a product that just attaches to a cloud and then you have an app on your phone and then your app talks to the cloud and the light bulb talks to the cloud and now they're connected, but now you're dependent on the cloud. If you lose your connection, it doesn't work. Um, if they go bankrupt and shut down, it's open too, right? Yeah. Maybe ports on a firewall need to be open. It, it, who knows? Um, so home assistant has the ability to connect to a cloud service, but it is not a requirement. If you want an easy way to set it up so that you can access it remotely, this is where Nabucasa cloud comes in. And so you, um, Nabucasa has a, it's a subscription. I believe it's 650 a month. And I think there's a yearly one now you can do, I think it's $55 a year. So is there a little bit of a discount if you do a yearly? Um, but that amount, like that subscription directly supports us as Nabucasa employees. There's no like middleman. We don't have investors or anything like that.
Keith Burzinski: You got to switch into the, um, the telethon mode now. Exactly. Oh, right now you're supporting John's like mine. Exactly. Yes. You help us develop it.
Chris Gammell: You get a tote bag, t-shirts and hoodies. Um, but, but it does. And I think a lot of people, Nabucasa is, is founded on the basis of like just supporting this as a project, as an open source community project, because it has become so big that people cannot manage it in their spare time. Um, it really needs a dedicated staff. And, and, and even ESP home is getting to that point where like, we need at least a couple of dedicated people to, and, and Jesse, uh, Jesse Hills is the other one. He's, uh, he's in. Out in the down under, uh, in New Zealand. Um, but he, um, he, um, he is kind of the, he's really the lead for ESP home. And, and I'm trying to support, uh, you know, as much as I can in terms of PRs and, and we're doing all sorts of things. But in any event, the subscriptions to Nabucasa cloud are what support us to be able to do this. And, and it's, it's, I think it's important to mention only because like, we don't have investors that are telling us like, Oh, you've got to support, you know, this particular Google product or, you know, Apple wants this or, or, you know, Samsung wants the apps or whatever. Um, it's, it's really us supporting the project to support the community needs. And, uh, I feel like in that sense, it's, it's, it's very noble. And I think it's really great that we have, uh, there's a lot of people supporting and, um, it, it, it helps us grow. It helps us move the project forward. It even helps us like we are in some sense, we've been debugging code from like other vendors to fix so that they work better together because we do testing of a lot of products like Zigbee products and thread and so on. And sometimes they don't work the way they're supposed to. Like we've come into cases where like, we're helping them identify those issues and fix those problems so that it makes everything, not just home assistant, but other products that are out there, it helps to make them better. Uh, and so it's, it's necessary in that sense. The, um, the other perk with the Nabucasa cloud is, is the voice, uh, that we just came out of the, the year of the voice, um, which you may have seen a good bit about. And so we, we added support and home assistant and ESP home to an extent, uh, to, to be able to deal with like voice requests, you know, turn on a light or turn on a fan or whatever. Um, that's again, that's local now, or that's cloud based again, it works. It will work all locally. Now this again is a thing where if you want, if, and if you subscribe to Nabucasa cloud, then you can connect it and it will then it, it, it performs a lot better that way. Um, it like, it'll run on a CM4 or like, you know, like it works, but it's a, it has a little sluggish, um, probably a little bit more sluggish than people like now that's not to say that it's slow. It actually responds pretty quickly, but you're going to wait.
Keith Burzinski: It's just so slow in my house. I've got like an old version and it's like, yes. Computer. Hello, computer. Yeah.
Chris Gammell: Yeah. And, and, and so the, the, the struggle is real, but, uh, it will run locally. And, and, but the, the, the caveat is, is that how well it runs locally is very contingent upon what hardware you're running it on, on, on like a CM4 of, you know, especially a pie, if it's an older pie, like something probably like pie three, for example, it might take 10 seconds to respond. Um, and you're probably not going to, you're probably just not going to love that. So this is where Nabucasa cloud comes in as a solution to that because you can connect it to the cloud. And then what it'll do is it'll send that it'll get processed in out there and then it'll come back and it happens. It like, it is so fast. Uh, there are some videos on the home assistant YouTube channel of the response times. And those, those are not edited. Like those videos are actually, um, how it responds. It's, you know, more or less instantaneous. It's really, really cool. Um, so again, the, all the Nabucasa is just here to support those things. And the, the, the subscriptions support us to support those things. Um, and even if you want, like, if you just want to support the project, but you don't want to have the cloud connections, like you can do that, get a subscription and don't set it up. Um, but certainly people do that. Um, so that's, that's really it.
Keith Burzinski: And then, you know, we, we do have some hardware. Yeah. Yes. Cause I think that people that are, you know, so like we have listeners all across the spectrum. I think even the ones that might be very electronic savvy might not be Linux savvy, whatever, but then this is kind of an all in one. You can get a, so there's the two or the, the yellow and the green, right?
Chris Gammell: Yes. So the, we, we started with the blue, um, which was a Odroid N2, uh, board with a custom enclosure. And then, uh, when the PI fours came about, um, and particularly the, the CM four module, um, they designed a board. Now this was before my time with Nabucasa, um, that they designed a board. That's a carrier for a CM four module. Uh, it has an NVMe slot, uh, Zigbee and thread radio and a couple of other bells and whistles. There's a POE version of it, which is, which is really slick. Um, cause of course then you can remotely power cycle it if, if something really goes off the rails, but, uh, I don't remember the last time I had to do that. Uh, it's very, very stable in my experience. Um, so that's available. Um, and those are still available. The blue is no longer, uh, I think you can still get the Odroid N2 board that it was, but like, we're not selling those anymore. Um, the yellow is still available. Um, and then the green is the latest product, uh, that is, uh, you know, quote unquote home assistant hub. And the, the green is just aimed at breaking down the barrier that is setting up a Raspberry Pi or, or other single board computer. The, uh, green is very much designed to be a, take it out of the box, plug it to power, plug it to ethernet. And you're like, you don't have to deal with, you know,
Keith Burzinski: basically that's what, that's what I'm, that's what I'm thinking.
Chris Gammell: That's exactly right. Yeah. I'd ship it to my folks or other, you know, family member who knows nothing about computers, but maybe can plug in a cable or two. Um, so that's who that's for. Um, so it's, it's, you know, the price point is, uh, was $99. So it's a pretty low barrier to entry, even in that sense. And, and it's, it's really a set and forget solution. Um, you know, it's, it's not aimed at pleasing advanced high tech users. You know, even someone like me, like it's not really a good fit for me personally. I'm doing things a little bit more advanced than that, but for someone who's never seen or used home assistant, but maybe is unhappy with home kit or smart things or, or Google, um, this is a really great solution.
Keith Burzinski: Your ability too. Right. I mean, like it basically takes it to the point where like, so like, if I can just walk people like through words and like what it looks like, you know, you, you go to your home assistant, local, local address, it's just a webpage. And then it's like, everything is then in the settings menu where you're adding new, if you add new devices, you're added there. Right. If you're adding new services, they're like, everything is there. And then it just pops up on your, your home. I mean, you can go and customize everything, of course, but it's all software customization and scripting at that point. Right.
Chris Gammell: And there's a lot of auto discovery that happens too. Um, you know, if, if you have a number of devices already, you know, smart home type devices, uh, you know, light bulbs, thermostats, uh, uh, my friends upstairs have a, a little litter robot, like litter box for their, they've got hats and it's just this big like drum thing that gets in and it rotates, but it's got wifi home assistant auto discovered it. I just, one day I looked at my network and I was looking at the settings and I'm like, what is litter robot? Cause we're sharing our wifi. Um, and I'm like, what, why, what is this? I want to scare some cats. And I'm like, and I'm like litter robot, you know what? And so, but I mean, it's got a password, but I don't, I'm like, I'm trying to get, I might try to get him to use home assistant. Cause yeah, they've, they, he's got, they've got enough devices up. They've got like Phillips hue and they've got, uh, the little robot. They've got a couple of speakers, uh, forget what it is, but, uh, I might try to, I understood
Keith Burzinski: the, the, the Phillips hue thing. I mean, like personally, I'm, it's very popular, right. But it's, I don't get it aside from like the thing that I always think of, like when I think of like a home, uh, automation type thing, like my, my pinnacle apex experience is the clapper. And then it turns on the ball and the berry white, like that to me lowers the thing. And then the bar comes up to like, that is like in my head. That's what, that's what home automation actually is. There you go. Yes. It's totally, totally flashy. Yeah. That was in the seventies. Right.
Chris Gammell: And that's like in my head. The old, uh, X, at clapper and, uh, X10, the old, uh, X, X10, uh, from radio shack and wherever else those were back in the day.
Keith Burzinski: Um, but yeah, no, it's not new there. It's just, you know, it's just, there's more software.
Chris Gammell: It totally is. And that's the thing. Like so many of these devices now are running, you know, there's, there's maybe like five or six different processors that, that go into like 95% of these devices. Um, you know, the ESP, NRF or, um, the, uh, some of these, uh, EFR. Yeah. Yeah. Yeah. So, I mean, there's then the, yeah, it's my labs. Yes. And then there's another, what is it? Beckon or, um, maybe a real tech, but there's a couple other kind of more bespoke processors that some of them are using and to try to break away from the super hackable ESPs. Yeah. There was that, uh, that article recently, huh? Yeah. Yeah. Yeah. That. And, and honestly, some of it is just security through obscurity. Like they try to use a weird products just so that people don't understand how they work and then, you know, security, um, but inevitably they get hacked and, and so on. Espressif has got a really, really popular, well-known line of chips at this point. And I kind of like, I could probably talk my grandma through flashing one of them.
Keith Burzinski: Like, how often is it that, so like on home assistant too, like how often is it that the, the end device is getting reprogrammed? Is it, is it usually just using the stock firmware and then it's compatible or is it often people are digging in finding SWD pins?
Chris Gammell: That's another lovely question. Um, so the classical engineering answer, it depends. Um, you know, there are some vendors who are releasing, you know, like shrink wrap box products that you buy it and it will never get a firmware update. Um, there are others that are pretty good about releasing updates. Um, one of the perks about ESP home in particular is that you can spin your own firmware updates and you can update them as, as, as much or as little as you want. Um, you know, for, for me as, as an ESP home developer, I'm updating things a little more aggressively. Um, but some things more than others, um, largely just to make sure that stuff works, but it depends a lot.
Keith Burzinski: You're buying, you might be buying an off the shelf thing, but then you're opening it up and reprogramming it outside of the, the, I have done that. Um, I, you don't, I disregard the sticker keys. Do you?
Chris Gammell: I would be really upset about voiding my warranty on this $13 product. Uh, and that's, that's, that's also kind of the thing, right? Like if I'm buying, uh, you know, like my, an air conditioning unit, that's like six or $700, I'm going to be a little more hesitant to open that up and potentially break it. Then something that, that is, you know, the sub $20 on Amazon and I'm going to get a three pack of them or whatever. Um, like I just bought a set of these Shelly, um, energy monitoring. Uh, it's just a relay with an energy monitor and make connects to your wifi, but they have an ESP 32 in them. Um, and I, I literally just got them about a week ago. Uh, so I haven't really tried to tinker them, but, but they're, they're like hermetically sealed. I am debating if I want to try to open it, crack it open or not, because the fault, the firmware that they're shipping them with works fine. And, and as I would love to put ESP home on them to tinker with them and mess with them and sort of fine tune and maybe, maybe tweak the current sensing and so on, you know, but, um, like, uh, you know, do I want to spend the time doing that? Or, you know, how, how important is it? I have other things that I need to be focusing on. So it kind of comes down to time a lot of, and some products are really easy. You take out a screw and the cover falls off. Some of them, they're sealed, you know, they're epoxy resin, whatever. And, and like, if you open it up, you're not going to do it without destroying the case and something I'm plugging in the wall. I probably don't want to destroy the enclosure. So that, you know, that there's a lot of different things that weigh in. And I, I hesitate to give anyone specific instructions or guidance on what they should or shouldn't do, because you really need to judge what, what's a good fit. Yeah. I just, what you're comfortable with. I was just kind of curious if that's what the community is doing. Like, you know, like, oh yeah, people, there's a whole Reddit thread just on hacking those shutter devices and, and, you know, I, I'm, it, yeah, it's, it varies, you know, and what people are comfortable doing. A lot of people are, are generally afraid to tear open something that's going to have, you know, a hundred, 200 volts rolling through it and, you know, coming out of the wall, utility power. And I totally understand that. Like I'm not really afraid to do that, but also like it is an approach with caution thing. Like I'm, I'm not afraid to stick probes into a wall socket to check the voltage. Some people are. Yeah. So it's really up to you.
Speaker ?: Yeah.
Keith Burzinski: That sounds good. Where are some resources that people could find in this stuff? I guess generally then too.
Chris Gammell: Is it like discord? So we, we have a very active ESB home discord with some honestly, really, and I, I mean this sincerely some really wonderful people who are extremely dedicated to helping you figure out why your thing isn't working or, or getting you started or telling you on occasion that you probably shouldn't do that. But we, we, we try to be very encouraging and supportive of people. So discord is definitely very active if you join us there. And there's a link to the discord from the ESP home homepage, which is just real simple ESP home.io. And so there's, there's that. And, and the ESP home website is kind of just a dump of all the things that it supports in terms of hardware with some reference materials and a little bit of guidance. There's a, there's a ESP home devices.com ESP home dash devices.com. I believe it's another site that just lists things that you could potentially put ESP home on. Okay. Of course the home assistant community in general is, is also out there at Reddit. There are very active there's an ESP home subreddit. There's a home assistant subreddit. Then those are extremely active. I like discord just because I feel like it's a little bit more real time in terms of the communication. And there tends to almost always be someone there who's willing to answer a question. Even if they don't know the specific answer, they can probably get you in the right direction. So that's the thing. And then of course ESP home and home assistant too, it's all open source. So if the, if you want to look at the code, we even say that at the beginning of this important detail. Um, it is, everything is open source. You can get the code, you can clone the code, you can hack away at it. You can customize it till your heart's content. Um, you know, the, the, the one thing that, that I do kind of cautiously point out to people is that, you know, there are, because of what ESP home is and does it's, it's, you know, essentially for building firmware for embedded devices that that's customized to support the specific hardware you've attached or connected. Um, we certainly have people who will go in and modify and make their own tweaks and customizations and, and ESP homes approach is that. Yeah. We support doing things that you can do with the YAML configuration. When you start hacking away at the C or C plus plus code that ESP home consists of, you're getting kind of into uncharted territory. Now it's not to say that we won't help you or don't want to help you, but like, understand that if we're to provide support for something, exactly. Darby dragons, exactly. And we want to support people, but like, we can't support every possible configuration of everything, especially when you start changing code. And so it, you know, it's happened a couple of times where people come in and they're like, you know, this stopped working and it's, well, what did you do? And then you get into, you know, like a really long conversation that they've gone in and changed a bunch of things. And we refactored a component, uh, and now their little hacks don't fit into that puzzle anymore. And so they're upset because they ought to rewrite. And like, we want to, we still want to help you get your thing working, but like, understand that like, we, we want to support things in a kind of a known way. And this is hard to do with embedded devices. It really is. Um, because you can have a wire on a wrong pin and now your I squared C bus doesn't work and your sensors don't work and like you get weird error messages in the log. And so, um, having a clear picture of what's going on, uh, when we're supporting or trying to help people figure these things out, it's really important. So, um, keep in mind if, if, uh, you know, for the, for the hackers out there and, and I, you know, I'm among them. I talk, I've been in these situations. Um, you, uh, you need to communicate clearly what you have, what you've done, um, what the logs are telling you and so on. So, uh, yeah.
Keith Burzinski: Yeah.
Speaker ?: That's great.
Keith Burzinski: Keith, thanks so much for, uh, for joining here today. I really appreciate it. And, uh, yeah, I look forward to seeing more stuff develop on ESP home and home assistant and trying it out. And, and now I can just call you up anytime I need, right?
Chris Gammell: You can start. I will always answer. I'm happy to pay. I'm, I'm on the discord too. You find me there. You can. Yeah. That's the real answer. I'll, I'll go to the discord. No special training. I want, I want, I want people like we do try to push people towards the discord, but you are welcome to text me. Thanks. It was good to have you. Yes, yes, absolutely.
Speaker ?: I want. Thank you.
Archived Discussion (3)
Comments are closed. Archived from the original site.
Show archived discussion (3)Hide discussion
AutomationESP32esphomehome assistantNabu CasanixiePIR sensorraspberry piSmart Home
Keep current
Every episode, plus the occasional job post, in your inbox.

Is there a class of smart home switches designed to be wired into the ceiling? In other words, same function as a smart outlet, but with wire nut connections instead of a plug?