Smartening Plantation Shutters

Some new updates pushed to GitHub, allowing pwm speed control on the slave device, to make the actuator a little bit quieter, been testing the last couple of days… makes a noticeable difference but it takes longer to move… so there is noise for longer… I don’t know what’s worse… at some frequencies the hum it makes when it stalls makes my ears bleed… so takes a bit of tweaking - the settings are easily adjusted in the web portal

Also made an auto calibration routine that sets the optimal disengage time and stroke time, so if the blind is blocked or jammed it doesn’t draw power for excessive time… I haven’t pushed the update yet as it needs some failsafes so it doesn’t get stuck in the calibration routine if the blind jamms up. Hopefully tonight or tomorrow.

Once the slave is done I’ll port it over to the master and do some more testing.

Another thought I had was if we adjust the pwm dynamically to achieve the position, so run as low as possible, but if it stalls then up the pwm to get it moving again. I think this could be done by setting a target speed. I think the challenge will be the noise on the position sensor and detection of movement, this was hard to figure out on the calibration routine… I might need to over sample and tweak the ewma filter.

any updates on other people’s builds?

This is awesome and typically overlooked.
Even a big company buying a bunch of the same motor/actuator would still face the issues of tolerance and inconsistency, plus the force that each shuttler would require for sure will vary, plus the trade off of speed and noise is quite subjective and could even change depends on the use cases… so being able to tweak the speed for sure would be appreciated. Thumbs up!

all my orders are already in the USA, I expect them any day now. I also ordered 3D printing of elements on JlcPcb (they are also already in the US, I ordered the cheapest type of delivery, where they do not count taxes, they arrived in the US in 5 days, I think they will be with me on Monday), I will write a review next week

*I just ordered another solar panel, and it’s taking a long time to arrive, that’s the only thing that will be later, but it’s not that important
**I’m most worried about 3D printing :sweat_smile:, if it turns out badly, I’ll run it on my printer (though I have an FDM printer)

I have working code for this now and did some testing last night, it’s very promising. I also added in jam detection so if it stalls it ramps up to full pwm quickly to get it moving again, failing that it reversed a bit and tries again, this should help occasional lockup.

Last thing to do is update the calibration routine to work with the new control mode and add the configuration settings to the web server, will be pretty detailed for the target speed, pwm ramp speeds, jam detection timing etc.

I have 1 blind that’s a bit tight and seems to lock up occasionally, mostly on the final disengage, it seems to jam inside the internal gear. But this motor sounds weaker than the others so I’m wondering if it’s a different voltage one… but either way it’s good for testing!

The webpage could do with a tidy up… but that’s less important than function…

I’m going to redesign for injection molding at some point, it will be pretty complex, due to the gear mechanism and the rods that hold the actuator arm on, I do have a bit of a plan of attack.
I met a guy local to me that has a hobby injection molding system, so will work with him to figure out the best way and get some prototypes made, I’m not sure how many parts can be made off a resin printed mould… but best case is we get the design figure out and someone in china makes a metal mould and sells kits for $2 a piece haha
The printing is definitely the most time consuming part, setting up the printer, waiting, then cleaning up… they are fiddly parts for sure. And the resin price has gone through the roof for the nice white stuff

I got the printable forms from jlcpcb today. And it’s super cool, and like you write, no need to waste time on all this )))

After researching the characteristics of all their resins, I settled on this one:
3D Technology: SLA(Resin)
Material: CBY Resin
Colors: Faint Yellow

The cost to print all elements for one device is around $8 (plus shipping)

P.S. I’m waiting for Aliexpres, but it’s stuck at the local carrier.

thats awesome, hopefully there tolerances are really good! how do they fit together? does the cover slide on ok? are there any support material marks or anything?

They add all the necessary supports themselves, and clean everything up. I received the parts already completely ready to assemble.

The hull seems to be assembled perfectly

Here’s some support that they forgot to remove

very interesting. i used to print on an angle as they appear to be doing, but i found that parts tended to warp more, and it used more support material so i started printing vertical and updated the design to minimise support. there are cons to printing vertical though, like 30% longer print times… but there is a pro that 6 can be printed at once.

I’ve pushed lots of updates for the slave devices, it now has a quiet mode where you set a target stoke time and it will use pwm to achieve it. there is also jam detection, and calibration to ensure the optimal disengage times.

I’m in the process of adding this to the master devices now… after that i think the code needs a major tidy up… and some refactoring so that both devices use the same code in the form of a library or something… the master is at 3000+ lines of code in one file… and the slave is over 2000… not good for debugging!

i haven’t mentioned anywhere about the cover mounting screw hole needing a bit of filing down… you might find the USB doesn’t line up in the hole very well because this is stopping the linear pot from sitting flat. its only 0.5mm or something silly… and wont make a difference if you dont need to use the usb. at the same time is nice to have it aligned nicely…


im sure it will make sense when you see the pcb mounted with the pot… but you just need to take off 0.5mm where i have marked in red. just do it in stages and find where the usb sits best

Thanks for letting me know. I’m just shocked at how cool you’ve thought of everything here and how all the parts fit together, thank you so much. I can’t wait for the batch from Aliexpress to arrive ))))

P.S. I am making one set of master + slave, after assembly I will order more for all windows already

trying to check the sound difference with the different control modes, they are fairly quiet either way… the phone cant pick them up at 1m over the sound of the laptop cooling fan which is a couple of meters away. so I’ve got the phone at 15cm from the actuator without the cover on… the little spike is my mouse click at about 30cm from the phone!

to be honest i cant really tell them apart… the one on the right is using the new target time mode. Not sure why the mouse clicks in one are bigger than the other

here is a preview of the web portal and all the settings…

I’m still working on porting the code to the master… I’ve introduced a load of little bugs and there is a few quirky differences between the master and slaves… will need a few more days working on them.

@chris.huitema - Your assembly videos are awesome, thank you so much!!

Over the weekend I soldered everything up and assembled all the parts. It’s working!

I ran into an issue building the firmware. I’m not sure what the issue was, but locking the platform version seemed to solve it.
platform = [email protected]

This is all FDM printed. The gears seem to mesh perfectly. The metal dowel rods didn’t quite fit, so I did adjust the tolerances for those. Other than that, seems to work fine so far.
This weekend I’m planning on hacking together some sort of clamp for the shutters.

The only thing that looks off is the raw position won’t stay steady. It keeps jumping around. I’m wondering if my potentiometer is bad.
Edit: My bad, I missed the message from above. I added the jumper and the position is much more stable now

Aliexpress lost some LoRa boards, and capacitors. They’re coming from amazon tomorrow and I’ll put together my first pair.

But here’s what I’ve got so far

Just as well we are on opposite sides of the world… I just bought all the caps in my area and still didn’t have enough!


(And don’t worry about the extra resistor I put in my slaves… it doesn’t need it… )

1 Like

It’s awesome to see others making this now… it’s been a load of work getting it to this point.

Great to know that it prints and works on a FDM printer!

I need to work on the software some more and simplify and make the motor code more unified between the master and slave.

1 Like

@chris.huitema how to set up master and slave after connecting to gate? i press button in home assistant “open web” but nothing happens

So for the master you will see a “Blinds Master deviceID” thats the battery and some stats, then there is a deviceID_0 thats for the actuator, go to that device and push the button for Open Web Portal, that should bring up the AP for the master. for the slave it should have the name deviceID_1 by default, clicking the Open Web Portal should bring up that AP for the slave.

I have found that if I’m too close to the slave i cant connect to its portal… must be too much signal.

Also try watching the serial logs for the gateway and ensure it is subscribed to the topics and receiving the command. you can also watch the serial logs for the master and slave too. you should see the gateway receive, forward to the master and the master forward to the slave and the slave reply.

if you share those logs i can help you decode.

the gateway also has logging built in, if you go to the gateway device it will list the ip address on your network, go there and you can download the logs, that should help too… but i dont think they are quite as detailed as the serial for some things,

Got it. Thanks, its work (I don’t know why I didn’t saw it yesterday).
One more question, for some reason the motor when after the movement is twisted a little bit in the opposite direction, than again blocks the “hand movement” (instead of standing in the middle, it spins even more).

Master menu have less settings, its ok?

And im already added this: