[RELEASE] ESP8266 / Arduino servo controlled smart blinds

Hi

Can I ask you if your nodemcu connects to WiFi directly without and retries? As I am having trouble connecting to WiFi. Can you share your code please or tell me to how to resolve ithis? Also how are you powering your nodemcu and servo?

Thanks

So I’ve finished modifying your gearbox/gears to work with my setup. I’ve added some cable pass-throughs and a cutout for a manual switch. I’m still working on the electronics/software but I’m getting closer…


2 Likes

@jetpuf In your code you are slowly incrementing the servo position until you reach the desired position. Is this in order to prevent the servo from binding when jumping directly to the position or is it just for aesthetics? I’m having an issue with a 6’ blind where the MG996R is not powerful enough to actuate the blinds when jumping directly to the desired position. I’m wondering if adding the code to have a slow increment would fix it or if I’ll have to add a second servo.

I’m decreasing the servo speed purely for aesthetics. there are two if statements depending on the blind position, Delay(5); you can change that number if you want them to move faster or slower.

I have thought about running two servos in my large blind and increasing the gear ratio another tooth to get a complete close-open-close of the blinds, however it would take 4-5 amps of burst current to drive both of them.

So I think my issue is that the boost converter I’m using advertises 1.2A but is only giving max of 600mA at 5v. I’m going to try upgrading to a 5v 4A boost which will get an effective output of 5v 2.1A which should be enough to drive the larger blind. My girlfriend only wants it to go from all the way up to flat so I only need ~90 degrees of motion on the blinds.

@blebson I am very interested in your efforts to cut down on power usage using RF radios. Have you made any progress on it?

I’m just having issues getting a boost converter that will work for my needs. I have a test board coming in today that I’m hoping to put together by the end of the week. At this point that is the only part missing. My original prototype is drawing about 15-20uA while sleeping and is easily charging with solar power. The battery I’m using will give me 2+ years of battery life while sleeping so I’m actually going to reduce the size of my solar panel as it doesn’t need to be as large anymore. I’ve finished the base station, which is an ESP8266 with an RF shield on it, and am able to reliably transmit/receive from 3 floors away (from my 2nd floor to my basement) and it works quickly. Only thing that I need to do at this point is effectively get enough power to the servo so it can fully actuate the blinds. I’ll be sure to make a post once I’ve completed my project!

1 Like

Is there a complete write-up for this? I wasn’t able to find it in the posts, unless i missed something! In general, this is my first project that requires flashing a board etc. so looking for some resources on the ESP8266 side. I’m fairly comfortable with the steps on loading the .groovy on ST platform.

Bachoo,
I have the same setup as you, mg995 and wemos D1 (not D1 R2 or mini).
This is my first project and I can’t get the webpage to load so I can at least check the code.
I tried flashing NodeMCU and selecting that as board type also, but the device does not seem to connect to network.

Any other way to troubleshoot other than Serial Monitor?

Thanks!

what boost convert did you end up getting and did it work for you? I am just starting out on this project. I have the case printed out, a esp8266, and a servo. Need to figure out if im going to go with a battery/solar or wall outlet.

Still testing a few options out, you won’t be able to use the ESP8266 as your controller. It is too power hungry to use batteries and solar charging. My actual blinds are using an RF receiver that communicates with an ESP8266 base station which is plugged into the wall.

I was going to go wired powered starting off just to get something working then after you get all ur issues figured out copy you. They only thing I do not like about the way you are setting it is up is needing gateway defive(another hub). More room for failure. I’ve been stocking you on https://lowpowerlab.com

Yeah, I originally was trying to set this up as a single stand-alone device but there is nothing that ties directly into ST that is low enough power to run on batteries. The gateway is a tiny device that can easily be hidden and has great range. The reaction time is also very quick. Using this gateway allows me to theoretically get ~2.5 years of battery life per blind (without using the actuation or solar charging), where the same battery was getting about 6 days of battery life on my other solutions.

Now that you put it that way this sounds very tempting. Just ordered a Motenion and and a wireless transceiver.

Yeah, that’s the true benefit. All of my prior attempts would use about 15-20mA while sleeping. This Moteino setup uses about 15-20uA while sleeping. Thats 0.015 - 0.020mA, a huge reduction in power consumption.

Good news and bad news; I got the boost up to the point where I can fully open/close the blinds on battery, no problem. But the ‘Enable’ functionality isn’t working so instead of using ~15-20uA while sleeping I’m burning 200-250uA. Still gives me about 6 months of battery life but not where I want it to be. Also, my battery monitor isn’t working so I have to troubleshoot that too.

What guide did you use to setup your gateway and Moteino? Are you using Arduino IDE?

I used the low power listening fork of the LowPowerLabs RFM69 arduino library. I based my code on their example node and gateway code.

Hi all, this is my first foray with ESP8266,
I’ve flashed to a NodeMCU and a Wemos Mini D1 and I can’t get either of them connected to WIFI.

In serial monitor I see the following repeated over and over…

Connecting to VM771352-2G
.Restarting WifÖÃøÑˇ.qôˇÙê.Blind Startup Sequence

Connecting to VM771352-2G
.Restarting WifÖÊ)≤.߲å0KBlind Startup Sequence

I’ve tried with arduino serial monitor closed and with CoolTerm instead, but still getting the same. Can anyone help please?

Hi, did you get yours connected in the end? I am having trouble, wondered if you solved it.