MK-Blindcontrol Firmware V7 now available


Mk-Blindcontrol firmware is now released.
This new upgrade includes new features;
Auto discovery for Home Assistant with 2 variants. Basic and tilt. needs to be enabled via GUI
Basic discovery for Openhab
The auto discovery injection are basic formats.
Full configuration can still be done via ymal for home assistant and things file/creation for openhab
See the help file for sample things file for openhab

Limit setup for open and closed positions.
Bug fixes and code improvements

After investigating home assistant and learning , home assistant likes to have unique ID’s in the ymal files
the new firmware now generates the unique ID based on the Friendly Name.
Fuzzy Logic now implemented for open and closed states.
the open and closed states are now controlled via fuzzy logic.
open commands are , open , off, and 0.
close commands are close, on, 1 and 100

fuzzy logic will report the state of the blind as 0 for open and 100 for closed, regardless of its actual position.
this is to allow for pre set limits for open and closed positions. if you issue of the above commands to open or close the blind.
If you issue a number between these ranges then blind will move to the position and report as its true position. ie no fuzzy logic

If you need the actual position of the servo motor/blind then it is reported in a new topic

eg. Friendly Name = Kitchen Blind (Cap and spaces are allowed)
unique ID = kitchen_blind (cap and spaces removed) auto generated

this will now affect your ymal files for command and state topic’s etc
so you will need to edit you ymal file with the unique ID
command_topic = cmnd/kitchen_blind/POWER
state_topic = stat/kitchen_blind/STATE
availability_topic = tele/kitchen_blind/LWT

You might need to access the GUI and Change the Friendly Name 1st

Also 2 new topics are now available for tilt operations. If you are using the tilt and slider

tilt_command_topic = cmnd/+_identifier+/tilt
tilt_status_topic = stat/+_identifier+/tilt-state

tilt_command_topic = cmnd/kitchen_blind/tilt
tilt_status_topic = stat/kitchen_blind/tilt-state

All new settings are now available via the GUI including MQTT topics etc

This upgrade does not require a full re configure just needs the Friendly name set in GUI.
The open and closed default limits are auto generated based on install setup. i.e. swing direction and side motor is installed.
You can now set your desired open and closed limits via the GUI.
Using mouse and slider and arrow keys to move blind to desired position for setup.
Open trim adjustment has been removed with this new setup limits being implemented

This new firmware is available via the auto upgrade via the GUI if using v6+ or you can download from the repo.


Main Menu Status

Firmware Management


Limit Setup



Installed V7.0 on my 6 blind controllers and it works great, went from V6.94. I have a mosquito broker running on an RPi and connect that to Node Red. On my Hubitat Hub I have devices for each and connect them to the Node Red devices. I do not use Home Assistant or OpenHAB, so I can’t speak for them. Thanks for the continued work!


Thanks for feedback on V7. And it works well on Hubitat too.


Thanks Mountain. Not sure if you’re aware but it appears that your website might be down.


Thanks site now backup.


Thanks for the update, I updated three of my blinds. Wondering if HomeKit will be able to see the 50% open? It works for open and close, but not 50%. I have put the three values in YAML file:

cover BlindsControl1:
platform: mqtt
name: “MK Blinds”
command_topic: “cmnd/bedroom_blinds/POWER”
state_topic: “stat/bedroom_blinds/STATE”
tilt_command_topic: “cmnd/bedroom_blinds/tilt”
tilt_status_topic: “stat/bedroom_blinds/tilt-state”
retain: false
payload_open: “0”
payload_close: “100”
payload_stop: “STOP”
state_open: “0”
state_closed: “100”


I just figured it out with your set limit… very cool feature!!! bravo!


Now updated all 5 blinds and they work great. Great work as usual, Kudos!!


Are you getting the 50% state being reported back for homekit?



It shows up a “open” or “closed” based on the slider limits setup. So from a HomeKit standpoint it works great because, with a tap you can open or close the blinds (ie, 50% was the previous command to open), so it seems better and I was happy to update all my blinds and just say to Siri … open blind… or close blind…

Again great works, thanks so much


Yes I had the same problem using Alexa had to say set or open to 50% etc. One reason I implemented set limits for open and closed.
Most users would only have blinds around 50% open to keep privacy and not fully open.
You can still over ride these limits using the slider in Home Assistant tilt or Openhab or voice control.

eg Alexa set blinds to 75% or another value.

Note on auto discovery
The sensor items are yet to be coded . such as WiFi details, Battery Monitor etc.
These are still available via the JSON payload in the telementry update.
and can be added to your own ymal file if needed

Thanks for feedback


I think there is no log entires for the 56% that it used to complain about. I will keep watching it.


I will check the code for this section.


Love your work Mountain.

Have a weird issue and figured someone else might be able to help.
Everything worked fine on old 6.X, upgrading to 7 went flawlessly and everything worked fine on all but one set of blinds.

When I close the blinds I have no issue but when opening, it will open blinds then reset the device.

I have swapped out servos and cables and always same result. If I plug a single servo in there is no fault only once a second servo motor is attached.

I increased the power adaptor to a larger 2.1a instead of 1.0 incase it was a power issue but no luck.

Thoughts? Or is there a log that shows faults anywhere?


Does the other blinds have 2 servo’s connected aswell?

I have not had a setup with 2 servos connected to one driver. can cause problems as the firmware is trying to read servo position, if there are 2 connected which one is correct?
What i Will do is put a delay into the code so when the servo’s move it will wait for things to settle down then do a telementry update. position stat etc. say 3 seconds ?
I have recoded firmware with delay of 3 seconds.
V7.01 now on repo server
re update firmware and retry.
if it was working in V6 then V7 should be ok ish. I did do a lot of changes to the telementry and stat reporting.

Let me know how it goes.

I did have one blind that didn’t like being upgraded too. It reset it self after a move so to speak.
And went int AP mode.
I scanned to WiFI and selected and filled in all details again. Saved and rebooted
Had to power off and on a couple of times, this seamed to fix it .

Try this 1st


Yea have had two blinds on the one controller since I first installed. Think the initial guide says up to 3 blinds per controller.

I have been meaning to get more controllers as I have killed a PCB and few motors now but think MK has dropped off rather significantly regarding most things.

Have done both auto and manual updates and version number is still showing at 7.00 (feel like everything is updated but you forgot to change version number? ) But still having the issue.

Have powered on off a few times re uploaded firmware and about to give it a full wipe and start over.

Do you still have the bin files for the older versions? Will keep my partner happy in the meantime while we work it out. Easy enough to swap firmware


Sorry about that v7.02 is now on repo server… still had v7.00. forgot to upload it…
can you retry upgrade now and sould show v7.02 after reboot.

I am trying to locate V6 for you.
Down grading will cause a full wipe and launch into AP mode as the file structure has been changed

Note on multiple servo’s.
From what I have read. only one servo motor can be connected to one digital pin on the esp. You can have multiple servos connected but they must be connected to seperate Digital pins on the ESP.
The software can be re worked to control multple pins on the esp so the extra servos will move the same.
The single digital pin connecting 2 servos will cause problems…


Still the same.

Works perfectly fine with one blind but as soon as the second is connected there are issues.

Just saw your update. Super weird that my other set of blinds has no issues and prior to this I have had no issues also. Maybe the servo’s aligned and have always been reporting the same thing so it treated it as 1?

Can we add in a second digital pin? I have a spare ESP but it keeps getting stuck erasing (this is the esp I believe is faulty) Have lots of other spare ESP’s but no solder iron to take off the U2 part on the pcb. If you know a way to avoid having that then I would be fine.

Or what is the data pin when using this board? and I can setup a second controller


Leave it with me, will code the firmware to allow 2 separate digital pins, they will both work as one,

This will also prevent esp from possible over current and getting incorrect readings too,

I think that you are correct, two before worked as one until something changes,

Also I updated one blind and motor would not move any more, firmware stated it had etc,

Replace motor and everything worked!!!

Wired one this

Should have new modifications etc available tomorrow


New Firmware V7.05 now available. Allows for seperate Data pins to control seperate servo motors.
Firmware is coded for 2 servo motors at this stage.
1 st servo is the Master and all others become slaves.
All telementry is done on Master
The current hardware setup in Matt’s setup is data pin is GPIO 13 aka D7

New firmware now has the following
GPIO 13 aka D7 already part of PCB
GPIO 14 aka D5 requires solder connection to this PIN on ESP chip on Matt’s PCB

If using module above connection to appropiate pins for data siginal.


Firmware available on REPO server
or V7.05

I have put V6.7 back on REPO server requires manual download and installl V6.7

NB this will break V7 and you will need to reconfigure via AP mode
and power on power off several times.

I think the servo motors are connected to the 5v side + and -. they may work on the 3v on the module if 5v is not accessible
Vin will be 5 Volts in this module supplied via USB

I have set up test on a D1 Mini with 2 servo’s connected .
both mover together