---
title: 'Most USEFUL Smart Home Device.'
source: 'https://youtube.com/watch?v=zp9ltRPbc4U'
video_id: 'zp9ltRPbc4U'
date: 2026-08-01
duration_sec: 1652
---

# Most USEFUL Smart Home Device.

> Source: [Most USEFUL Smart Home Device.](https://youtube.com/watch?v=zp9ltRPbc4U)

## Summary

This video is a comprehensive tutorial on setting up the MK Smart sprinkler system with custom firmware v2. It covers downloading and flashing the firmware, configuring the device via a phone, and integrating it with an MQTT server like openHAB for automated valve control.

### Key Points

- **Intro to the MK Smart sprinkler controller** [00:01] — Matt introduces the video as a software guide for a sprinkler system PCB that can be set up entirely from a phone.
- **New in firmware v2** [00:45] — Firmware v2 adds MQTT authentication support for secured MQTT servers and a status portal showing IP address, MQTT topic, and connection details.
- **What the device does** [01:52] — It controls three individual sprinkler valves via relays; you can turn on zones from your phone, or run a 20-minute sequential cycle across all zones.
- **Downloading the firmware** [03:29] — Pre-flashed owners can skip flashing. Others go to the guide page, find the resources/links, enter an email, and download the sprinkler-system .bin file.
- **Upgrading v1 to v2 through the web portal** [04:22] — Navigate to http://<hostname>.local/firmware, sign in, choose the .bin file, and click Update; the device reboots with the new firmware.
- **Manual flashing with NodeMCU flasher** [05:30] — Download the correct NodeMCU flasher for your OS, then set serial port, choose firmware, baud 115200, DIO, wipe all data, and flash.
- **Arduino wiring for flashing** [06:14] — Set jumper to PGM, connect TX-TX, RX-RX, GND-GND, 5V-5V between Arduino and the sprinkler system, and ground the Arduino reset pin.
- **Device configuration via phone** [09:20] — After moving the jumper to RUN and powering the board, connect to its Wi-Fi AP and open the config portal; select Configure Wi-Fi, enter SSID/password, set hostname/MQTT ID, MQTT server IP, port, topic, auth flag, and web updater credentials.
- **Status portal and MQTT setup** [13:25] — Access http://<hostname>.local with the admin credentials to see hostname, MQTT server, port, authentication, command topic, and status topic.
- **openHAB integration: items** [15:27] — SSH into the MQTT/openHAB server, add switch items for the 20-minute cycle, schedule, and zones, and set MQTT binding topics to match the device's command and status topics.
- **Sitemap and rules configuration** [21:06] — Add the new items to the sitemap, then create rules for a daily 5 a.m. schedule and a 20-minute cycle rule that turns zones on sequentially.
- **Testing and reset** [24:39] — Restart openHAB, verify each zone clicks on/off from the Basic UI, and reset the device by unplugging, moving the jumper to PGM for 10 seconds, then back to RUN.

### Conclusion

Firmware v2 adds MQTT authentication and a status portal, making this three-zone sprinkler controller a genuinely useful addition to a DIY smart home. The full walkthrough lets even moderately technical users install and automate their irrigation system.

## Transcript

society Matt here from MK smiles calm and in this video we're gonna be going over the software for in my opinion one of the most useful smartphone devices of the most useful smartphone devices the sprinkler system so what is exactly
starters you can set up the entire device from your phone all you have to click on the Wi-Fi network the device produces the second thing that's new is won't be covering how to connect to tomé
the item config in the description so that way if you do know how to connect it to home assistant the item conflict is in the description below the next thing that's new about this firmware is it has support for MQTT authentication
so those of you that use secured MQTT servers that require a username and password you can now use this device with your server then lastly the device has a status portal so you can see its IP address the MQTT topic gets connected
to whether it's using authentication or not how to update the firmware a bunch you later on in the video as you may have noticed the sprinkler system has a custom PCB that design and recently I've been getting my PCBs from PCB way PCB
way has been in business for a long time and is a full feature custom PCB prototype service that makes high quality PCB PCB weight has the best value of fast turnarounds on time worldwide shipping and low minimums so
this video and if you guys want to support this channel and just want to get nice quality PCBs check out PCB way which will be in the description below and use the cash code that's on the screen now to get $5 off your order
which is pretty much if you're only getting 10 PCBs it makes it free so what it's exactly what the name implies it controls your sprinkler system but more specifically it controls the individual valves so what you do is you can connect
three relays and you connect the power open up your phone you can turn on zone 1 zone 2 zone 3 or in this video we're gonna cover how to make a 20 minute
cycle that will turn on each zone for 20 minutes not at the same time but one after another just like this sprinkler system all the devices on mkay smanos.com shop are now pre flashed so if you order a DIY kit all you have to
do is solder the components together and the software is already there and if you it into the wall and to celebrate this a great achievement you can use the coupon code v2 to get 10% off your entire order at checkout so go to MK smart sicom
this video well we're gonna need a fully setup MQTT server so i'm gonna be using my open app - server which has MQTT and open I'm already on it if you don't have that you can check out my openhab to setup guide and we're gonna need a Mac
or a Windows computer then lastly if you did not buy this device pre flashed then we're gonna need a Arduino with some male-to-male DuPont jumper cable links description also in the description fall I'm case smart house on Twitter
where I give sneak peeks and stuff as well as things only a true smart home enthusiast would enjoy such as these cameras over here or the wall-mounted dice over there alright let's get to work on the sprinkler system alright at
this point if you bought a pre flash device from my website then go ahead and skip to the timestamp on the video now but if you didn't buy a pre flash device the firmware so the first thing we're gonna do is open up Google Chrome go to
my website we're gonna go to guides control sprinkler system we're gonna go to links it says resources but it'll be links I'll leave a link in the description to this specific guide and then we want to go to
MK sprinkler system from where v2 enter an email address the reason I asked for an email address is that way if I ever make any changes to the firmware I can then click download file go to the download page click the green download
button and it should start downloading the firmware all right now at this point if you have no firmware on the device then skip to the timestamp on the screen portal that's in the v1 firmware and upgrade it from that portal alright now
we're going to upgrade v1 firmware to v2 firmware using the web portal comes with a version one so the first thing we want to do is go over here to our web browser then we want to type in HTTP colon slash slash then you want to
do the host name of the device so mine is sprinkler system two dot local and then slash firmware you know then ask you for your username and password that
you typed into the original Arduino IDE file so you want to type in the username and the password click sign in and that will bring you to this page what you want to do is click Choose file you want to go to your downloads folder then you
want to click on the sprinkler system bin file click open and then click update and at the bottom you'll see it says uploading and then it'll say update success rebooting at this point your device is updated with the newest
firmware so skip to this timestamp on the video now to set it up if your device has no firmware or you just want to manually install the firmware v2 to manually install the firmware v2 we're gonna need a program called PI
flasher so if you go to my guide and go to the links page it'll be right here then you're going to click on the one that corresponds to your operating system if you have a 64-bit windows click on this one 32-bit windows click
on this one and if you have a Mac click on the dmg file and then go through the have the software I'm not gonna go ahead and do that and said I'm just going to open it up from my launchpad and there it is cool so here's the program the
first part is the serial port so memorize what devices are in this ahead and connect the Arduino to the sprinkler system now we're going to Arduino the first thing you want to do is make sure that the sprinkler system
is make sure that the sprinkler system the jumper pin is over PGM which is program then we're going to take one of these dupont jumper cables and jump the these dupont jumper cables and jump the arduino from reset to ground now the
rest is simple we just need to connect all the all these pins to this so the first one is TX so go ahead plug in TX here - TX here then you want to grab another one go which is going to be our X and
one go which is going to be our X and plug it into the RX pin on the Arduino plug it into the RX pin on the Arduino then next is ground so take this one jump it from ground here to ground on the Arduino and lastly is 5 volts so
the Arduino and lastly is 5 volts so plug it into 5 volts here - 5 volts on plug it into 5 volts here - 5 volts on the Arduino give you guys a little the Arduino give you guys a little close-up see all the pins are in their
corresponding slots now we're gonna take the USB cable and plug it into the now that the Arduino with the sprinkler system is attached to the computer let's click on let's click the refresh button next to the drop down and click on the
drop down you should see a new device right here go ahead and click on it the next one is node MCU firmware this is where we choose what firmware we want to flash so click the Browse button go to your downloads folder and click on the
your downloads folder and click on the sprinkler system dot bin file and click next is the baud rate make sure it's 1150 to 0 0 flash mode dual I oh yes wipe all data and just click flash no - MCU now it's going through erasing the
flash and now it is writing the firmware all right now it finished uploading so all right now it finished uploading so now we can just unplug the Arduino from the computer BAM and disconnect all of the jumper cables from the Arduino to
the sprinkler system if you're our smart home enthusiast like me and want to show that you're an elite member of the smart home community then check out smart support my channel then check out the link in the description and grab
yourself a premium quality hoody shirt or hat alright so now we're gonna go ahead and set up the device using our phone I have my phone up on the screen and now and so what we want to do is first move the jumper from program to
run so you want to make sure it is in run mode then you want to take the USB cable and plug it into a USB source so this can either be like your phone brick that it came with or I'm just gonna go ahead and plug it into my computer any
ahead and plug it into my computer any available USB port because the device just needs five volts there you go turned right on so now we're gonna give it a few seconds to boot up then we're gonna go into settings Wi-Fi and wait
for the device to show up nope there it is we're gonna go ahead and tap on it it's gonna connect to the device and open the configuration portal so let me tell you what is inside this portal so the first one is configure Wi-Fi this is
of scan for the Wi-Fi networks and then we can import all of our settings next is configure Wi-Fi no scan so this one doesn't scan for Wi-Fi networks this one is good if you have like a hidden Wi-Fi network where you just mainly type in
the SSID and password next is info and in here this just gives some random information about the device nothing really relevant and then lastly is reset this does a power cycle on the device so we're going to tap on
device so we're going to tap on configure Wi-Fi and up top it scan for all the available Wi-Fi networks the ESP only finds 2.4 gigahertz Wi-Fi networks you're surprised that it didn't show up that's why so I'm gonna click on K Wi-Fi
then I'm gonna type in my password alright so my password is in if you then scroll all the way to the bottom and click the Scan button maybe it didn't find it and you can find it again and clicking the Scan button anyway next
and clicking the Scan button anyway next is hostname slash mqtt ID I'm gonna name is hostname slash mqtt ID I'm gonna name mine m'kay - sprinkler whoops sprinkler system - I'm gonna name mine m'kay sprinkler system - because this
sprinkler system is going to be for my front yard and sprinkler system one is for my backyard if you want to see more videos about my backyard yeah you can doing a video showing how I install this for my front yard sprinkler system in
the future alright so I named mine MK - sprinkler system - next is the oh and that was for the hostname slash MQTT ID which is how it shows up on your
network and also how its seen from the mqtt side which you don't really see but the computer does or your open up server next is mqtt the first thing is the
server IP address so this is the IP address of your open M or home assistant server whatever you're using mine is 192.168.0.1
port than 1883 you would know and then you can just change it there you can just change it there next is the MQTT topic so I'm going to next is the MQTT topic so I'm going to make mine MK - smart house slash
make mine MK - smart house slash utilities utilities slash MK - sprinkler
utilities utilities slash MK - sprinkler oops sprinkler system - alright then oops sprinkler system - alright then after that this false this is you would
authenticated mqtt server which means if your mqtt server requires a you know username and password you would set this to true and then type in your username to true and then type in your username and password for your mqtt server mine
keep it at false next is web updater so this is how we access that control panel and also update the firmware in the future I'm going to make mine admin and
give it a password it's gonna be blurred so you guys can't see it all right at the bottom here this gives you how to reset the device so if you want to change any of the previous fields this is how you do it right here
I'll show you at the end of the video how to reset the device and its settings how to reset the device and its settings but anyway click Save and if it connected to the Wi-Fi network then you should see it's Wi-Fi network disappear
good and if you didn't then click on it again and try to set it up again maybe you type something in wrong alright mine disappeared so that means it connected we're gonna connect the sprinkler system to open however whatever our MQTT server
may be so the first thing we want to do is access the status portal of our sprinkler system device and to do that we want to go to HTTP colon slash slash we want to go to HTTP colon slash slash the host name of the device so mine is
the host name of the device so mine is sprinkler system 2 and then dot local so it's gonna be HTTP colon slash slash the host name of the device dot local and press Enter it'll ask you for using and password this is the username and
password we set when we set up the device from our mobile phone or whatever mobile deutsch set it up with so mine was admin and then n press enter or sign it alright so this is the status portal it tells us all of our settings of the
sprinkler system so the first one is the host name of the device then the MQTT server IP address that's connected to the port it's connected to and whether it's using authentication or not then we have the command topic which is what it
receives commands from and then we have our status topic which sends the status of the device so when the server sends on if the device turns on that zone then
it'll send a state back saying that it is on so it's a two-way communication so if you if you send on but the device doesn't turn on say it's disconnected or something then an open habit will still say off and you'll you can realize that
plugged in or something and next we have the update firmware so that you would go the update firmware so that you would go to this link paste it into the browser and then upgrade the firmware from there if you want to know how to upgrade it in
the future if I really something new then go back in the video and it shows you how I upgrade from v1 firmer to b2 which is the same thing then lastly this is telling you how to reset the device to reset its settings I will show you
that at the end of the video now that we know our MQTT topic we'll put that off to the side now we're going to go over to my website which is in the description to this page it's going to be under guides we want to go into the
sprinkler system control the software tab and then scroll down these are all the different commands the code that we're going to be typing into open up so now we want to SSH into our MQTT server / open app server so on
Windows use putty and on Mac use terminal so I got terminal right here and I'm going to SSH all right I am in the first thing we're gonna do is go to the first thing we're gonna do is go to our items file type in the password all
right so so since this is the second sprinkler system I already have one in my items file so instead I'm just gonna take all of this code and then just also paste it in so I'm gonna - so the first thing I'm gonna do is take this little
comment right here I want to put it under my first sprinkler system then under my first sprinkler system then we're gonna add the 20 minutes cycle and we're gonna add the 20 minutes cycle and schedule switches so I'm gonna make this
schedule switches so I'm gonna make this just gonna add a two to here a tutor there and I'm also going to change the items to have a two so these first two items this is the twenty minute cycle so if you turn this switch on or even this
one they're both the same thing if you turn that switch on then it will go minutes so when the first one is done 20 minutes it'll turn that one off and turn that all the zones and then this sprinkler system schedule its weather
because in the rules file we're gonna set it so the sprinkler system runs every single day and so you would turn this switch on if you want it to run or something and if but if you don't want it to run one day say that it
show you that more later alright now we're gonna take the switches for the actual device there we go I'm going to add a 2 actually let's just keep this
terminal window bigger alright so for each one of these zones since this is the second sprinkler is something to add it to if you only have one sprinkler system you don't need to be adding all these twos but since I have two of them
right here I have this is my first Wrangler system this is my second I'm adding two's here here here here and here I'm also gonna add it here now we're going to change these MQTT topics to
match our status portal so where's the status portal so the first one is the command top so I'm gonna copy this one and I want to match it up so it looks this right here this part needs to be this your command
topic as well as this right here so I'm going to change this change all these going to change this change all these twos as well as this so these first parts are the command this is the command on and this is the command off
so this is what the open observer sends to the device now these second parts to the device now these second parts over here is where openhab receives from the device so from this this symbol right here this means that the open app
right here this means that the open app server is receiving the commands so we server is receiving the commands so we want to change these to match this right here see this status topic needs to match this right there and right here so
for me it's simple I just need to change all these ones to twos all right they are all changed so I'm good to go so let me go over what each one of these items do and what all these different parts mean so the first one is the twenty
explained it goes through each zone twenty minutes so it's a switch yeah it's called sprinkler cycle - and 20 minute cycle - you can name this wherever you want this is what shows up in the site map then this one is the
schedule so this is whether our rule that we'll be setting up in a minute that we'll be setting up in a minute will be so it goes through each zone every day so this turns on and off the schedule then these three items are the
actual zones on the device so these zone 1 zone 2 zone 3 and so these are all switches because they just have on and off states these are the names of the device this is how they show up in this site map it's gonna have
a water droplet as the item picture it this has the switchable so that way we echo or Google home but actually now that I think about it I forgot to add these switchable tags so I forgot to add these switchable tags to here and here
I'll change that in my website later on and then next we have the mqtt binding config and then this means that it's sending a command so it when it's on it sends this command and then when it's off it sends
this command right here let me just extend this a little so this is the one extend this a little so this is the one it sends on so it sends to this MQTT it sends on so it sends to this MQTT topic and then it also sends to this mqt
topic and then it also sends to this mqt topic the off command z1 off and now we're just going to go to the end and then here the next part this is where it receives so what it receives when it receives is u1 on then it'll turn it on
in the then it'll show that the item is on in open hub and the one when it on in open hub and the one when it receives the z1 off then it will turn the state off and open app and then lastly this is auto update false so that
way the on and off the sending and receiving all works and it's not automatic instead it's based on the sending and receiving of mqtt topics or MQTT commands all right that's it pretty simple now we're going to exit out of
the file so click control X Y and enter all right so next we're going to edit all right so next we're going to edit the sitemap file so type in this command right here and I'm going to add this to my outside frame all right and since
again and this is my second sprinkler system I'm going to add the twos to all system I'm going to add the twos to all of these so what you want is these items right here need to match the items in your items file and so the sitemap file
is what shows up in the basic UI and the actual visual base so we're going to click control X Y and enter ok and then lastly we're gonna edit the rules file lastly we're gonna edit the rules file type in this I'm going to add this so
the first rule that we're gonna do is it's going to water each zone at 5 a.m. for 20 minutes so I'm gonna go ahead and put this where do I have my other sprinkler systems there it is okay so I'm gonna put it underneath these guys
I'm gonna put it underneath these guys so put it right there I'm gonna paste it so put it right there I'm gonna paste it in there we go paste it in right there now I'm going to change all of these twos all right so I've gone through and
modified all of these items to match my items file so I just added twos after sprinkler system but what you want to do is make sure that these match your items file let me go over what this does so first this rule is called sprinkler
system schedule two since this is for my front yard so it's a second one but what it does is it at 5 a.m. which is what this cron expression does so it says this cron expression does so it says every day at 5 a.m. it actually keeps
this rule and if you want to change it so it's not at 5 a.m. what we want to do is go to cron maker.com so this is cron maker comm this is an easy way to make cron expressions which is what openhab uses so here you want to choose if it's
every one day every two days let's just say it's every three days you want it to say it's every three days you want it to start let's say 2:00 a.m. and then you just want to click generate cron expression and you type this you copy it
would copy this and paste it in here but anyway continue on so if it sees that the schedule to switch so if the schedule switch is on then it will schedule switch is on then it will execute all of this and do each zone for
20 minutes all right so now the next rule that we're gonna do is the 20 minute cycle switch which is similar to the 5 a.m. except it turns on when the switch turns on so I'm going to put that underneath now I'm going to modify it so
it works now I'm gonna modify it so that way it works with my items which is item 2 now I'm gonna modify it so that way it works with my second sprinkler so I'm gonna add all the twos all right I've gone
through and added all of the twos and so now these items match the ones in my all these twos if you only have one sprinkler system but since I now have two I added all the twos and made my own mismatch let me go over what this does
so when the sprinkler system cycle to switch is on then it will water each cycle for 20 minutes now press ctrl X Y and enter all right let's also we now
need to restart Oh I forgot to put this in the guide but I forgot to put this in the guide but you want to type this in sudo system CTL restart open I'm to da service and now it's going ahead and restarting open hub
alright open tab is now restarted we're gonna give it a couple minutes for it to properly start up alright now let's go ahead and test the device so first thing we're gonna do is open up a web browser then we're gonna go to our web user
interfaces make that full screen then we're going to go to basic UI scroll down and there we go we have all of our sprinkler zones it's a little bit messy I might clean it up on my own time but the overall point is here so we have our
the overall point is here so we have our sprinklers zone 1 2 &amp; 3 as well as the 20 minute cycle and the schedule this is for the first sprinkler system that I have then we have sprinklers to zone 1 swim clear zone 2 zone 3 zone 2 I mean
sprinklers to zone 2 and then 20 minutes cycle 2 and sprinkler system to schedule so all of our switches are here let's go ahead and go through each one of them if I click sprinkler zone 2 zone one you should hear click there it is turn it
should hear click there it is turn it off then we're gonna go to zone 2 turn off then we're gonna go to zone 2 turn it off there we go they all work fantastic and now if we click the 20 minutes cycle - we'll hear a click
there we go the first zone is on and then on my phone I also got a then on my phone I also got a notification saying that the watering is active and then I can't demonstrate the schedule switch because we have to would
5:00 a.m. or whatever time we set I forget all right guys so to reset the device what you want to do is unplug the device then plug it back in and when you plug it back in quickly move the jumper from run to program wait 10 seconds so 1
from run to program wait 10 seconds so 1 2 3 10 and then you want to move the 2 3 10 and then you want to move the jumper back to run jumper back to run and unplug the device and plug it back
in and then it should go into programming mode where you can set it up complete guide to the software for the sprinkler system version 2 in the parts and devices used in the video as well as the link to MK smart calm slash
shop where I have a wide range of smart home kits that you can put together which are now all pre flash alright if you found this video helpful click that enthusiast like me you belong on this channel so hit that subscribe button if
you have any questions leave them in the comment section below or head over to MK so RS comm slash forum goodbye [Music]
