The only reason those remotes use a 12V is for the range. The RF transmitter section gets the 12V., and the RF IC internally regulates it down to whatever it needs. The quiescent current on these parts are usually is in the sub-microamp range and sometimes zero, as the push button applies power to the IC, and based on which pin has power as it turns on determines what the remote is supposed to do. The 12V battery allows it to operate at lower temperatures, where the battery current starts dropping. Lastly, since the transmitter operates over a wide voltage range (albeit at a diminishing range), the battery life is exceptional, since it can drop down to a few volts before it stops working.
I was going to talk about longevity as well but you covered that in your last sentence. It also works in their favor for being able to use the cheapest clamshell case available, one that does not have a battery door
this explains why I thought my remote was giving out cause it worked for some actions but no the light so thought the remote was bad not the battery. Indeed it was the battery.
4:05 I actually enjoy seeing the code. It doesn’t need a line-by-line walkthrough of what and how every little bit works because I get how that would be overwhelming/boring for someone who doesn’t understand code at all. But, I like even a quick scroll through of the code, that I can pause and look through, because, like watching someone’s physical build process, I enjoy seeing how someone else solved a problem, compared to how I might do it, and seeing what tidbits I could potentially use to solve problems in my own projects.
For controlling IR remove devices, I've made a few ESPs around the house with IR emitters. That way instead of hooking up an arduino to existing remotes, I have one arduino control tons of devices in a room.
Yea I was going suggest this, came in super handy we lost the remote to a TV for good. Used a universal remote from another TV, recorded it with an IR sensor, and then programmed that into my ESP with an emitter. Worked better than it had any right to.
I actually did the opposite of this to control the LEDs behind my tv. I recorded the input for several unused buttons from my universal remote and programmed them to change the lighting to different colors, as well as choose which section to change (bottom left, top right, all, etc). This way I don't have to pull out my phone if I want to adjust the LED colors while watching tv.
Came here to say exactly this. I built a motorized shade for an inaccessible window in my house using esphome and it took like 5 minutes to configure. Didn't even bother with limit switches, just timed how long it takes to travel up and down, added a delay into the code. Works like a champ.
Ding ding, ESP home is amazing. If you come from a roll your own code world like Bob is can feel weird to not write the code but it’s really the best way to go.
This is extremely similar to how a garage door works. There was a class I took in college about PLCs. One of the assignments was to make a garage door works. There was a switch at the top to stop it from going too far up and a switch at the bottom to stop it from going too far down. One of the objectives in that assignment was also allowing it to stop in the middle and allow it to go to the top or bottom from any position.
I like the video and enjoyed the process, but 2 things come to mind: 1) using the limit screw on the screen's motor assembly reduces a lot of the complexity of this project 2) Modifying the operation buttons attached to the wall would have made more sense, as you wouldn't have signal issues, and you would still have a useful remote. no shade though, I always appreciate project sharing. cheers!
@@syedharris4385but would that not be less reliable? What if there’s a little delay in connection and the screen starts coming down late, and the timer ends before the screen is all the way down?
@@makaiwise4609 Hmm...that's a good point. Unless the timer "only" begins when the screen starts to move... which goes back to the idea of "mechanical" solution. I like the idea of the mechanical limit switch myself.
@_pixelpicnic I agree with the modifying the "wall unit" totally. Keeping the remote completely "wireless" does keep it a practical wireless device as it was intended. But he did say he did not want to totally "destroy" the motorized screen. I do understand that. We have all done it at some point and probably more than once. Remote is "technically" and financially a more replaceable item.
I've got the same screen and it's adjustable, it's a little screw-turn limiter in the screen housing on the side with the power cable. It's not really obvious just looking at the screen or in the instructions IIRC. Pushing up on the remote when the screen is going down will stop the screen as well. You could set your routine on a timer and tell it "After 10 seconds, Screen Up" and not need the physical limiter, or have to wire up the stop button.
I was coming to say this. All the tubular screen motors have endstops in them that are either adjustable with a hex key or push-click to set. I worked in technical support for a projector screen manufacturer for 4 years. It was good fun!
I was also thinking about a time limited stopping function, such that you wouldn't need anything physical to trigger where to stop. The main detriment to this is that it would assume a fixed starting point every time. If, for some reason, the initial point started part way down, the time-based approach would not stop at the correct location. Not sure if that could be a problem with this screen but that would be a potential as to why a physical stop trigger was used.
Yep was going to comment the same thing. No need for the limit switch if you have your screen adjustment done. It'll stop where you want it to every time and will automatically disengage the motor.
I think he did a bad job describing the need for the switch, I could be wrong! It seems to me by using the software to control the motor whether a built-in limit on the motor or not he would still have to have the program understand that the job is complete otherwise, it will keep sending the signal and drain the battery.
@@imyourocd the way the projector controls work, you only need to send a single pulse on any of the given buttons. So your smart board could just pulse the up or down button for a quick moment then disengage. The screen's built-in limiter would then stop the screen at the top or bottom. The smart board isn't really controlling the motor. It's just mimicking a remote button push. The screen's built-in electronics are what are actually controlling the motor.
The wheel on the limit switch is so the trigger mechanism can slide by the switch instead of crashing into it, because 13:05 can crush the switch and cause a malfunction. Use a mechanical switch along side the path of motion, not in the path of motion.
Maybe the switch blocking the antenna is more of an issue now that it is running on 3.3V instead of 12V? It might have reduced the transmit power/range.
Yep, exactly that. 12V is mostly there for the RF being more powerful. So on 12V it would probably not mind the switch. Although it is nice is not blasting trough the whole neighborhood now anymore 😊
I wonder what the consequences are if the limit switch doesn't get triggered. Will the motor just burn up in the screen? I'm sure it has some kind of protection.
@@boxxdrmtb It wouldn't burn up but he would have a bigger mess than that to deal with. The screen would continuously unroll forever until it filled his house. Yikes!
@DaveVanderWekke I have far too many remotes both IR and RF and also an intense dislike for Alexa type go-betweens so I choose to store both IR and RF codes on a single IR Programmable remote control using 433Mhz remote extenders as converters which means I can also use an RF remote on my key chain to control my main IR items.
Looks like the same brand screen that I am using. If it is, there are stop limiters already in the housing. They are where the power connects to the screen. Instead of using the external hard switch, my screen can be controlled by the projector. When the projector turns on, the screen goes down. When it gets to the right spot, the internal limiter turns of the screen. The the projector is turned off, the screen goes up. When it gets to the right spot, the internal limiter stops the screen. No need to over engineer something that is most likely already built into the screen and projector.
This guy did a really piss poor job of explaining his project, I just got one of these screens but haven't put it up yet, so how do the up and down button on the remote work then, he never bothers to explain it. if you press down on the remote does it have preset on it where a short press lowers the screen all the way and a long press to lower it manually? or is it all just manual and you have to hold the down button down till it reaches the bottom? because he never explains this I am not even sure why he is using a limit switch, or how he is sing it since he never bothered to explain that either, I assume it is wired to the stop button then?
For those not familiar. ESP32 dev boards are not Arduinos. Yes Arduino has an ESP32 based board. Just pointing this out because when you choose your editor you will need to know what board you have because GPIO pins are not always the same from one board to another.
Me and my son did something similar with an air conditioner and a heater and a generator. We just used an esp32 IR and RF receiver to get the code then used transmitter to emit it. Works perfectly from anywhere and we still have the remotes in tact.
Those remote screens usually have a manual setting in them to tell them where to stop. There’s a yellow hex key spot on the left side where the power enters. You can turn that to adjust the stopping point.
It might be that the modified remote wouldn't get that single to stop, unlike a person who will stop pushing the remote button after the operation is complete the software will not have any feedback and continuously be in up or down mode until the battery drains. The limit switch would then be feedback for the software to say cool we are done.
Hi Bob, I am a Maker, Engineer, and a Professor on the side. I have way more Arduinos than I am willing to admit to and have several projects that I REALLY wanted to control from my phone but I was really not excited about writing an Android App (though I have done one once). Thanks for pointing me to the WeMo emulation SW. My mind just exploded with ideas on how to use this. THANK YOU!!
A much elegant solution is to replace the mechanic switch with a reed relay with a long wire and a magnet embedded on the screen's back and hide this box entirely. There's no need to make changes on software or the esp.
even more elegant would be (forgetting for a moment that he missed the limit screw) set the amount down as a brightness, so that if the screen all the way down was fully on, but, say, that's only 70% of the way down, he could remap the definition of "on" in code to be 70%. then it's controllable like a lightbulb, and you can say "turn on the screen 50%" and it would drop to half-open. or turn on (to 100% and that's really 70%) and it's fully down. Extra credit maps all math functions to 70% of 100% so 50% is half-open as he knows it, and that way no one could ever say "80%" and have it drop down onto the desk.
I love how you simplify seemingly ultra complex systems into components. It's something I sometimes struggle with, but I enjoy watching your videos, because they remind me I can do more complicated things if I break them down into smaller tasks.
Couldn’t agree, it makes it so much less daunting and this way even if I wouldn’t want to make all of the project, I could try and make just a part of it way easier
Wow! such a contrived solution to a very simple problem, and $3 for hardware is dwarfed by many expensive Engineer's hours needed to implement it. Yes, the screen already should have a limit switch, actually 2 switches - one for up and one for down, with adjustment screws. I have 2 switches in my screen and flat-headed screws to adjust them. But maybe cheapest projectors don't have them. Further simplification can be achieved by using projector's "trigger" output, which puts 12V voltage when projector is on. In some projectors there is no "trigger" output, but they have something else that can be used, like a USB connector, which will have 5V when projector is on. Many many years ago I made my setup, where I added a PIC microcontroller to listen to the "trigger" signal from the projector and press up and down buttons on the control. I did not sacrifice the screen remote for that setup, as the control box has the power and buttons to hook up a microcontroller to. I did the whole thing within 1 day, including PIC program. it was even before RUclips. These days motorized screens have trigger inputs, so the setup should be just laying some wire from projector to the screen.
I would have used a reed sensor with the magnet on the back of the bottom of the screen. Then you could have run a very thin cable to the controller, located in a different spot. But that's a personal choice. Cool little project.
I thoroughly enjoyed this, but here are a few improvements I would have done 1. Adding something mechanical is something like this always causes restrictions, and using glue on top of that is even harder to fix if you change something small. So id try to avoid that as much as i could with code. 2. As someone pointed out, pressing up also stops the screen from going down while its going down, thats good coz then you only need 2 buttons. Even then having 3 buttons on the app doesnt seem like an issue. 3. Id rather just add the functionality in the code that if the screen takes 15 seconds (say) to come down or up, the remote just emits that signal for 30 seconds the moment you press up or down. The screen will automatically stop after its length runs out. The signal will stop sometime after. A little change in code will remove the physical button, and largely simplify electronics. Then its better to just add a stop button on the app or use the up button to manually stop it halfway if needed. 4. As someone else pointed out, having one arduino running full time to control multiple ir emmited / receiving devices around the house sounds like a great plan. Great work either way!
Good one! Just one suggestion.. Limit switches need to be installed so that when something goes wrong (and it will), when the device doesn't stop fast enough (or at all) the over-travel doesn't jam into the switch and break it or what is holding it. Install a lever operated switch so that the roller gets pushed from the side. Then when the travel goes too far the switch arm just harmlessly slides along the side. I learned this from years of working on automated machinery and later on my own CNC machines. I've destroyed a few limit switches in my time due to over-travel!
cheap but perfect CNC have soft limit what working normal working alltime, but if come some error to program need be mechanic limit SW cnc all axis and wiring ro paraller whit E-stop SW, if soft limit has error axis go out off limit then mechanic Limit SW e-stop all machine, simple and all cnc used this. and home SW have inductive sensors can run first all machine home point then machine know were have zero point ewery axis. my DIY linuxcnc have all this basic system, working well and have safety if come errors.
As you've discovered - I've also found that a lot of those remotes that use 12v batteries just do so to increase range, often the chips can/will run on 5v (or I guess less) just with a really reduced range, so if you're going to store it somewhere in a nearby location to the blinds... just power it with 5v! Well done video, thanks!
Those little ESP-32 boards are amazing. I remember working with much larger, more expensive, and much, much less capable microcomputer boards. There was a little Z-80 board I did a lot with back in the day. It cost ~$60, ran at 4MHz, had 32K ROM, 8K RAM, a couple serial ports and 24 bits of parallel I/O, and that was it.
Level shifters are another option to convert 3v3 to 5v or 12v; no moving parts and miniscule power draw. Tasmota & ESPHome are other code options that work well for this type of project, but I'm not sure how well they integrate w/ cloud services. I keep (almost) all my automation under local-only control.
Maybe in a different context I would agree, but I am just over the anti Arduino snobbery. Yes, I am moving on from Arduino to esp, but Arduino got me started from nothing.
Glad you used a 2x2 to attach the switch to the wall. Us woodworking nerds need our fix. Got the course a while ago looking for the right project to jump in and learn.
I do this alot, but I always like to isolate the buttonpresses completely from the buttons I modify and the ESP-device. Using optocouplers makes this perfect. Then I just need 3.3/5V for the ESP and just leave the thing as original as it was. By doing this the ESP and the other thing is galvanically isolated.
No power-hogging transformer needed. If USB won't power something, just use a LM7805 in a TO-220 package (3 pins). Also, they already have SmartLife modules that output dry contact closures. Less than $10 per channel.
Wonderful presentation with artful everyday vernacular so non-electronics people could follow. This is what is lacking in 98% of how to electronics videos. MUCH APPRECIATED ⭐️⭐️⭐️⭐️⭐️
Thanks for learning me about the ESP8266. That is awesome. To make your screen smart box a little more elegan you could use a reed switch, a hall sensor etc, instead of a limit switch.
Im wondering if you’d tried SDR to analyze the signal. With the signal info, you can usually just mimic it via the arduino and a $0.60 transmitter. Combined with esphome, and home assistant (not necessary but highly recommended,) you can control the screen and a ton of other stuff however you like.
I did the same with my cheap 100 inch screen 15 years ago and an arduino uno. With an ESP and ESPHome it is now way easier. And a simple transmitter instead of a remote hack. But did the screen not stop automatically when it was fully down? Never tried a screen that just continued to run until it got stuck. If that is the case, I would prefer adding relays directly to the screen and control it that way. Or add a sensor to male the motor a servo.
This is really cool. I'd love to see a version of this that replaces the remote entirely with SDR. A retrofit for the entire wall controller with built in limit switches/rotary encoder would be cool in that you could use it for other stuff around the house.Also, looking online, it seems like it is possible your current controller actually has limit switch pins that just aren't hooked up to anything...
If I don't remember wrong there is a device of type roller or blind that you could use, and there is no need for a limit switch because you time how much does it take to open and close and that's enough. And you will have only one device, and that's just perfect
I don't need this idea for setting up a movie room in my house, but I do like how you spelled out what you were doing - even changing it each time. I have a gate that uses IR opening and closing and I am thinking this might work really well. It would allow me to open the gate from anywhere or set up a "as I arrive at the house - open" command.
there are some IR and RF remotes compatible with Amazon and Google assistant avaliable for 15$ on aliexpress that's the way i choosed for tv, ceiling fans and climate control
Screen most likely already has limit switches so it knows when to stop but whether the electronics for that are built into the screen case or the hardwired remote is a question but the reality is that when you decided to go to hard wiring the remote you should have also switched to altering the already hard wired switch leaving your remote fully functional and fully remote. But of course this was REALLY just an example of how to make something into a smart something and at that you still succeeded 100%.
I used a Shelly 2.5 in roller shutter mode to get rid of the cumbersome controller-box of that identical screen. Whilst beeing a little bit more expensive, it gave me the perks of having a minimalistic footprint on the wall, very easy conversion and using all the advantages that a Shelly 2.5 brings with it: auto calibration and integration into my existing Shelly setup (using the Shelly app and triggering with specific scenes).
Love the idea! I really recommend using ESPhome with Home Assistant for automations like this. ESPhome allows to configure the MCU using a YAMl file, that can be pretty much copied from the internet. Also, it's possible to connect directly to the controller and even get the screen position!
Amusing project. I did almost the exact same one, with a few differences. I put all the electronics in the wall unit and 3D printed a new back, so it's essentially the same, just thicker, and you can still use the remote. I also went timer based instead of a limit switch, that way I can adjust the position, and I can do it remotely via the app. Mine is through google, but comically enough, it's the exact same command "Hey Google, it's movie time". Same set of commands too, put's the screen down to the correct position, turns off the lights, turns on the projector and stereo. I went a little overboard and the ESP32 also reports screen status (up, down, partway, raising, lowering) based on the buttons it's pressed, and how long ago they were pressed, so I can check the status on the app remotely. Off all my projects, this one gets the most use!
I loved this video!!! Thank you again for showing us a way to use basic electronics to enhance our lives. I bought the course months ago and just ordered your kit for it. Looking forward to future projects.
Sick project! Couple of things I might suggest for the next one: - i wouldn't solder crimped jumper cables like that! Those things are expensive!! - esphome is really great and may serve your purposes - optocouplers are the technically correct way to have two circuits (of this size, doesnt make sense for a relay like you mention at 12:38) with different power sources interact with each other (i know you ended up using usb for everything but this is feedback on the original plan) Granted, I'm not an electrical engineer but this is just stuff ive learned over the years doing Arduino
Not sure it really matters, but I've never liked the idea of triggering button presses with a pin directly as it requires a shared ground, when dealing with multiple voltage requirements that gets a little messy. So I've been faking button presses for years with opto-couplers. They're just LEDs and photodiodes together in one package. If the photodiode is biased then it essentially just closes a contact, which is what we need.
Nice hack and video. Another approach would be to hack the receiver unit itself. Then you'd still have your stock remote as a backup. Mahalo for sharing! : )
Or you could probably leave both devices intact, and just hijack the remote‘s IR signal. There’s bound to be a way to let the Arduino send IR and have it learn the right signals.
Very cool project! I did something similar for my garage door opener years ago. I wired a raspberry pi to a garage remote and used the same switch as you to tell whether the door was open or closed. It ran a little server with a button that let me see the status and open/close it from my phone or computer. Eventually I decided to make a v2 with an ESP board using ESPHome and integrate it into Home Assistant. This allowed me to also integrate it into my HomeKit so I didn't have to open any apps or go to a webpage. I also used a magnetic switch here so the door isn't rubbing up against a switch directly. Instead of wiring this one to a remote, I used a relay and wired it directly to the screws on the opener. One thing I noticed is it doesn't look like you're using any flux when you solder. I didn't either at first, but it changed my world when I started. Much cleaner solder connections and you don't struggle as much to get the solder the stick.
I remember when I started experimenting with arduinos I made a remote light switch with old remote and ir receiver from old tv. I am pretty sure you can use single ir led to send those signals. You still got your remote, you don't have to use different power sources, use only one output of esp32. The only downside is a little more code because at first you need to upload a sketch from ir library examples to capture signals from your remote. And you also need one ir receiver just to set up your device. If you ever need to stop the screen at any height I can suggest a simple ultrasonic distance sensor. They are cheap and easy to use and pretty accurate.
If the shade motor is consistent enough, couldn't you eliminate the limit switch with software? Something like "Lower shade 12.8 seconds then send Stop command". Then you could mount the box on the projector, out of sight. Too bad it wasn’t IR, then you could just clone it instead of hijacking the remote.
I think its possible to integrate a 433mhz transmitter for use with the ESP32 - Which should remove the need to integrate with an existing remote remote control. They are only a few bucks and could also be used in projects such as Car Garage door openers etc.
Exactly what I came to say too. This is most likely using 433mhz and the signal could be replicated with a simple module for the ESP32 instead of hacking the remote. Great video regardless!
A fun follow-on experiment would be to run the RTL_433 application with a cheap SDR to confirm the signals being transmitted. The remote signal is likely the typical 433MHz found in these Chinese, low-cost circuits. Since the UP/DOWN functions don't require pushing the STOP button, using the limit-switch at the bottom seems A) unnecessary, and B) is likely sending a constant STOP signal to the receiver.
I found your video by accident, but really loved what you did there. I have a couple of questions. 1st - Could you tap into the power for the screen motor, and drop the voltage, instead of using a wall plug? 2nd - Unrelated. I've been using a cheep (HF) soldering iron but I'd like to set up a soldering station. What would you recommend? Thanks for the video. I hope to see others in the future.
I wonder if having the screen rest on the limit switch for long periods of time is good for the thin metal arm. I may be wrong, but probably would also be pretty easy to code in for it to go up 1cm on hitting it.
@@jimlynch9390 Sure, although if the two sides have separate supplies, keeping them electrically isolated can save a mountain of headaches with crosstalk, noise, power going where it shouldn't if one is unpowered and the other not, etc. Same supply - don't even think twice.
I did something similar to a govee led light strip that only used Bluetooth. I taped the buttons, and the three color channels to preserve the old controls and get more smart features.
I saw this video when it was posted, then actually bought this exact screen without realizing it. I ended up using a BroadLink RM connected to home assistant to achieve the same result, and I’m kinda glad. I’ll always respect built over bought, but wanted to share a Plan B for others
Have you looked for the setting stop screws on one side on the roller inside the housing? setting those correctly wont require pushing the stop button. up is up, down will go down to setting.
Simply set the limits for stopping the screen at the correct height. Usually a couple of button presses in the remote, this enters the set up mode. Then you just need up/down controls. Also some wall mount controllers have 0V contacts inside for integration with control systems.
Just use esphome and an IR receiver/transmitter. You could then use a door sensor to know when it's down. No wiring required (m5stack make these plug and play)
My guess for the 12V batt but it working across a wide voltage range is one of two, 1.> having a long battery life just by having a wide voltage range and/or 2.> lazy hack for more range? Bonus 3.> If fit the form factor and datasheet, so it got used.
I used a smart IR device to mimic infra red remote presses...but always love a DIY solution. As a felloe 3d printer i always like seeing a limit switch employed!
Question? Could you have programmed it to run the screen down for a set amount of time. For example the down button is only pressed for a set amount of time to go down. Say 30 seconds and the same to go back up. This would have remove the need for a limit switch. A simple smart wall plug would have provided every thing you needed. The switching would trigger the command to go down and the off would command it to go back up.
That would probably work, but in practice things like this end up being somewhat unreliable - the kind of thing you need arcane knowledge for to kick in the right place when it starts to act up. For example, if the motor clogs up or the voltage dips, which results in the screen moving slower, it will only go down halfway. Tracking the state to at least some degree and responding to its change is the proper way to do it. The way I like to think about things like these is, imagine you only know what the machine "knows" about the system and only do with it what the machine can do - are you going to be able to control the system reliably with that knowledge and these capabilities? In this case, you'll basically be controlling the screen blind (and deaf) - you can probably control it to some degree, but there may be hiccups.
I used to make things like this in the 70s, but they were battery suckers, then I operated and serviced a device like this, that was about 30' and roll formed roofing panels, it ran on 440. That machine had a flying cutoff triggered by a photoelectric eye.
Powering the remote at 3.3v most likely impedes the range, hence the sensitivity to switch proximity ! Great troubleshooting on this one, and awesome final product 👍
Made something similar to press buttons on my screen remote. The basic idea is the same by using a microcontroller to "press" the buttons. However I did want to keep the original remote usable. So I made a small connector on the back of the remote that has both sides of the up/down buttons (I did not need the stop since my screen is adjustable). If for whatever reason my automation fails I can still just press the original buttons or take the remote out. I avoided the 12V power issue by creating separate circuits by using optocouplers which are a lot smaller and cheaper than relais. And I used ESPhome, just because it integrates easily with Home Assistant. It also supports covers so it is natural to control with up/down controls (or speach if you wanted).
Does your screen not already have a limiter you can set max and min limits internally? So you can just hit up/down and it stops. I know ones Ive installed do, but those are commercial, seems like a bad design if residential,/consumer ones don't already as well
I really liked your video! I think it would be more clear if you demonstrated how you will fake the button presses before attaching the Arduino, by using a bench supply
This is awesome!!! This type of vid is what makes my Saturday and gets my brain thinking of the possibilities!! Next, can you and and make your own automated blackout curtains?!?!?! Or atleast pre-made blackouts curtains with a diy smart controller!!! Routines are the best! I have them to wake up, light up house in the morning or when smart door is unlocked via code! Or using smart things, i added the trigger of a philips hue switch to activate both hues bulbs and a kasa switch!! I also had a routine that would set my Echo studio to a certain iHeartRadio station at a certain time!! The options are endless!!
Instead of a relay (if you had needed one) you can use a logic level shifter. I used one with an ESP32 to control hundreds of addressable LEDs on a Magic Wheelchair project.
Did you check the frequency of the signals? I know, as a beginner, starting to snit that kind of signals is next level, but that would be a good option to "bump up the level", for a future video 👍.
Really enjoyed the video and explanations. Alternative solution is to get rid of control unit/remote completely and use something like Shelly 2.5. Shelly has a web interface api etc. Two negative things, you need to work with AC 110/220 Volts and you can use only the mechanical stop of the motor (ugly workaround just measure time for screen to get to the exact point and use this to setup Shelly). For apple devices you can use “shortcuts” to communicate with Shelly. It is really a shame that the original hardware of cheap screens has to be 1960 style. Join his course and fix it!
Another awesome project. I’ve wanted to, but have been procrastinating on signing up for Arduino for makers…this video really shows me a good insight in a way I would use it even more so now I’m definitely going to have to make the time.
I was going to say, how are you going to interact with a 12v circuit without a relay. If it's just 3.3v you just need to either pull up or pull down on one side of the button to cheese the circuit. Very cool. I've got an smart integration project coming up and this has given me something to think about.
Locking relays in the wall unit is the answer. Power to the screen motor is cut by an n/c relay receiving power, causing the other relay to cut. Just a Simple analogue logic circuit. All the components, apart from the relays will be in the wall unit already. But hey, arduinos are fun.
Yes, no... Why not use a 433Mhz Bridge eg Sonoff to read the codes the remote sends and keep the remote? Could you have a timer for going down and stop it after the right amount of time rather than having a limit switch? A limit switch for going up would seem a better choice, but is it even needed?. The reason they use a 12v battery is for range, 3.3v may work but the distance will be reduced considerably.
I would have a look at the screen electronics, pretty sure they have built in limit switches so the motor stops when it fully down and fully up. You might have been able to modify it so it stops exactly where you want it to stop on the down run.
Very cool! I have the same screen, and luckily, my BroadLink RM4 Pro can emulate the RF remote. And it plays nice with Home Assistant. 😄 I’m going to try your method though to tap into the remote for our power adjustable mattress base. 👍🏻
Or you could use the smart plug and add some relays & limit switches to the screen to make it go up until it's all the way, or if up already, go down until it loses power (either by limit switch or outlet being disabled)
That remote operates on 433 Mhz frequency you can just attach a 433 Mhz transmitter to the ESP8266 then you can get same functionality without zombie-fy your remote. You can read what data transmitted by the remote using 433 Mhz receiver attached to ESP8266 and simulate the same signal data.
I have a screen which is pretty much identical to this one and the same remote. I simply got myself a Broadlink RM4pro and taught it this remote. so now it cna be controlled by home assistant, google home and my harmony etc. nice and simple. A bit more expensive but the Broadlink can be used for loads of different devices.
Using 1/4 the voltage to run the controller is probably the reason you had the problem with the enclosure/switch blocking the signal, the 12v just gives it more range with a limited antenna
May be a more elegant setup to just connect a little radio module to your ESP32, and record the 3 signals from the remote, and use ESPHome to replay those signals. No need to cannibalize the original remote, so you can still use it as a backup (though I suppose you technically could still use the buttons on it as-is)
heej bob, nice way to automate this. but one thing, i would add some sort of bracket that guides the screen towards the limit switch at the bottom. because if there is a bit of wind (door closing or something), the screen might move a bit and miss the limit switch
Why not record the remote signal and use the esp with a transmitter to control the screen while keeping the remote, this is what I did with my devices and it works wonderfully, there's also an example code that I just used.
The only reason those remotes use a 12V is for the range. The RF transmitter section gets the 12V., and the RF IC internally regulates it down to whatever it needs. The quiescent current on these parts are usually is in the sub-microamp range and sometimes zero, as the push button applies power to the IC, and based on which pin has power as it turns on determines what the remote is supposed to do. The 12V battery allows it to operate at lower temperatures, where the battery current starts dropping. Lastly, since the transmitter operates over a wide voltage range (albeit at a diminishing range), the battery life is exceptional, since it can drop down to a few volts before it stops working.
exactly - it looked like a LDO was connected to the 12v rail and then to the 8 pin chip etc.
I was going to talk about longevity as well but you covered that in your last sentence. It also works in their favor for being able to use the cheapest clamshell case available, one that does not have a battery door
This guy remotes
this explains why I thought my remote was giving out cause it worked for some actions but no the light so thought the remote was bad not the battery. Indeed it was the battery.
great explanation, thank you!
4:05 I actually enjoy seeing the code. It doesn’t need a line-by-line walkthrough of what and how every little bit works because I get how that would be overwhelming/boring for someone who doesn’t understand code at all. But, I like even a quick scroll through of the code, that I can pause and look through, because, like watching someone’s physical build process, I enjoy seeing how someone else solved a problem, compared to how I might do it, and seeing what tidbits I could potentially use to solve problems in my own projects.
I agree show the code... at the end with a code warning... lol. Id watch if he explains it line by line
he puts the github in the description but i dont even know how to use python with arduino XD
For controlling IR remove devices, I've made a few ESPs around the house with IR emitters. That way instead of hooking up an arduino to existing remotes, I have one arduino control tons of devices in a room.
Yea I was going suggest this, came in super handy we lost the remote to a TV for good. Used a universal remote from another TV, recorded it with an IR sensor, and then programmed that into my ESP with an emitter. Worked better than it had any right to.
Good call!
Any instructions on this?
I actually did the opposite of this to control the LEDs behind my tv. I recorded the input for several unused buttons from my universal remote and programmed them to change the lighting to different colors, as well as choose which section to change (bottom left, top right, all, etc). This way I don't have to pull out my phone if I want to adjust the LED colors while watching tv.
@@akozaro8oh, wow. That's a really good idea. Thank you for bringing that up
esphome is the software/firmware you want.
Especially because you are already using home assistant for other things
Should have taken the motor apart and attached a rotary encoder and have it set the screen to different heights.
@Ajicles I have no experience with projector screens, but I don't imagine it's a common occurrence to only want half of it?
Came here to say exactly this. I built a motorized shade for an inaccessible window in my house using esphome and it took like 5 minutes to configure. Didn't even bother with limit switches, just timed how long it takes to travel up and down, added a delay into the code. Works like a champ.
Ding ding, ESP home is amazing. If you come from a roll your own code world like Bob is can feel weird to not write the code but it’s really the best way to go.
This is extremely similar to how a garage door works. There was a class I took in college about PLCs. One of the assignments was to make a garage door works. There was a switch at the top to stop it from going too far up and a switch at the bottom to stop it from going too far down. One of the objectives in that assignment was also allowing it to stop in the middle and allow it to go to the top or bottom from any position.
I had to do this with only hardware buttons and contacter relais, no software or logic board
Pretty simple latch/unlatch
I like the video and enjoyed the process, but 2 things come to mind:
1) using the limit screw on the screen's motor assembly reduces a lot of the complexity of this project
2) Modifying the operation buttons attached to the wall would have made more sense, as you wouldn't have signal issues, and you would still have a useful remote.
no shade though, I always appreciate project sharing. cheers!
Or using a timer to tell when to stop. All valid ideas to solve a problem.
Timer actually is less complicated
@@syedharris4385but would that not be less reliable? What if there’s a little delay in connection and the screen starts coming down late, and the timer ends before the screen is all the way down?
@@makaiwise4609
Hmm...that's a good point. Unless the timer "only" begins when the screen starts to move... which goes back to the idea of "mechanical" solution. I like the idea of the mechanical limit switch myself.
@_pixelpicnic
I agree with the modifying the "wall unit" totally. Keeping the remote completely "wireless" does keep it a practical wireless device as it was intended. But he did say he did not want to totally "destroy" the motorized screen. I do understand that. We have all done it at some point and probably more than once. Remote is "technically" and financially a more replaceable item.
6:53 Transformers are for AC voltage conversion, while buck-boost converters are for DC voltage regulation
right all he had to do was use an LM 2596 for this
I've got the same screen and it's adjustable, it's a little screw-turn limiter in the screen housing on the side with the power cable. It's not really obvious just looking at the screen or in the instructions IIRC.
Pushing up on the remote when the screen is going down will stop the screen as well. You could set your routine on a timer and tell it "After 10 seconds, Screen Up" and not need the physical limiter, or have to wire up the stop button.
I was coming to say this. All the tubular screen motors have endstops in them that are either adjustable with a hex key or push-click to set. I worked in technical support for a projector screen manufacturer for 4 years. It was good fun!
I was also thinking about a time limited stopping function, such that you wouldn't need anything physical to trigger where to stop. The main detriment to this is that it would assume a fixed starting point every time. If, for some reason, the initial point started part way down, the time-based approach would not stop at the correct location. Not sure if that could be a problem with this screen but that would be a potential as to why a physical stop trigger was used.
Yep was going to comment the same thing. No need for the limit switch if you have your screen adjustment done. It'll stop where you want it to every time and will automatically disengage the motor.
I think he did a bad job describing the need for the switch, I could be wrong! It seems to me by using the software to control the motor whether a built-in limit on the motor or not he would still have to have the program understand that the job is complete otherwise, it will keep sending the signal and drain the battery.
@@imyourocd the way the projector controls work, you only need to send a single pulse on any of the given buttons. So your smart board could just pulse the up or down button for a quick moment then disengage. The screen's built-in limiter would then stop the screen at the top or bottom.
The smart board isn't really controlling the motor. It's just mimicking a remote button push. The screen's built-in electronics are what are actually controlling the motor.
Another possible solution is to use an IR RF smart hub which can mimic the signal sent from the remote
I think this option would be a lot easier
yupe.. was scrolling to search for a comment like this.. using something like Broadlink RM will be more convenient
Haha yea, BUT you forgot the most important thing: "I Like to Make Stuff"
The wheel on the limit switch is so the trigger mechanism can slide by the switch instead of crashing into it, because 13:05 can crush the switch and cause a malfunction. Use a mechanical switch along side the path of motion, not in the path of motion.
Agreed
Maybe the switch blocking the antenna is more of an issue now that it is running on 3.3V instead of 12V?
It might have reduced the transmit power/range.
Yep, exactly that. 12V is mostly there for the RF being more powerful. So on 12V it would probably not mind the switch. Although it is nice is not blasting trough the whole neighborhood now anymore 😊
That is correct. This is why some of these RF device remotes still use A23 12V batteries.
I wonder what the consequences are if the limit switch doesn't get triggered. Will the motor just burn up in the screen? I'm sure it has some kind of protection.
@@boxxdrmtb It wouldn't burn up but he would have a bigger mess than that to deal with. The screen would continuously unroll forever until it filled his house. Yikes!
@DaveVanderWekke
I have far too many remotes both IR and RF and also an intense dislike for Alexa type go-betweens so I choose to store both IR and RF codes on a single IR Programmable remote control using 433Mhz remote extenders as converters which means I can also use an RF remote on my key chain to control my main IR items.
Which part of this costs 3 dollars?
😂❤
The Arduino is $3 in China and $30 in Canada.
@@travishinzman Cuz $1 US dollar = $30 Canadian.
@travishinzman and that's called an ESP. Not an arduino. I hope to God you don't program.
The wires?
Looks like the same brand screen that I am using. If it is, there are stop limiters already in the housing. They are where the power connects to the screen. Instead of using the external hard switch, my screen can be controlled by the projector. When the projector turns on, the screen goes down. When it gets to the right spot, the internal limiter turns of the screen. The the projector is turned off, the screen goes up. When it gets to the right spot, the internal limiter stops the screen. No need to over engineer something that is most likely already built into the screen and projector.
This guy did a really piss poor job of explaining his project,
I just got one of these screens but haven't put it up yet, so how do the up and down button on the remote work then, he never bothers to explain it.
if you press down on the remote does it have preset on it where a short press lowers the screen all the way and a long press to lower it manually? or is it all just manual and you have to hold the down button down till it reaches the bottom?
because he never explains this I am not even sure why he is using a limit switch, or how he is sing it since he never bothered to explain that either,
I assume it is wired to the stop button then?
For those not familiar. ESP32 dev boards are not Arduinos. Yes Arduino has an ESP32 based board. Just pointing this out because when you choose your editor you will need to know what board you have because GPIO pins are not always the same from one board to another.
actually it is really an important thing to know that those are not "Arduinos".
Me and my son did something similar with an air conditioner and a heater and a generator. We just used an esp32 IR and RF receiver to get the code then used transmitter to emit it. Works perfectly from anywhere and we still have the remotes in tact.
Those remote screens usually have a manual setting in them to tell them where to stop. There’s a yellow hex key spot on the left side where the power enters. You can turn that to adjust the stopping point.
It might be that the modified remote wouldn't get that single to stop, unlike a person who will stop pushing the remote button after the operation is complete the software will not have any feedback and continuously be in up or down mode until the battery drains. The limit switch would then be feedback for the software to say cool we are done.
Hi Bob, I am a Maker, Engineer, and a Professor on the side. I have way more Arduinos than I am willing to admit to and have several projects that I REALLY wanted to control from my phone but I was really not excited about writing an Android App (though I have done one once). Thanks for pointing me to the WeMo emulation SW. My mind just exploded with ideas on how to use this. THANK YOU!!
A much elegant solution is to replace the mechanic switch with a reed relay with a long wire and a magnet embedded on the screen's back and hide this box entirely. There's no need to make changes on software or the esp.
even more elegant would be (forgetting for a moment that he missed the limit screw) set the amount down as a brightness, so that if the screen all the way down was fully on, but, say, that's only 70% of the way down, he could remap the definition of "on" in code to be 70%. then it's controllable like a lightbulb, and you can say "turn on the screen 50%" and it would drop to half-open. or turn on (to 100% and that's really 70%) and it's fully down. Extra credit maps all math functions to 70% of 100% so 50% is half-open as he knows it, and that way no one could ever say "80%" and have it drop down onto the desk.
I love how you simplify seemingly ultra complex systems into components. It's something I sometimes struggle with, but I enjoy watching your videos, because they remind me I can do more complicated things if I break them down into smaller tasks.
Couldn’t agree, it makes it so much less daunting and this way even if I wouldn’t want to make all of the project, I could try and make just a part of it way easier
Wow! such a contrived solution to a very simple problem, and $3 for hardware is dwarfed by many expensive Engineer's hours needed to implement it. Yes, the screen already should have a limit switch, actually 2 switches - one for up and one for down, with adjustment screws. I have 2 switches in my screen and flat-headed screws to adjust them. But maybe cheapest projectors don't have them.
Further simplification can be achieved by using projector's "trigger" output, which puts 12V voltage when projector is on. In some projectors there is no "trigger" output, but they have something else that can be used, like a USB connector, which will have 5V when projector is on. Many many years ago I made my setup, where I added a PIC microcontroller to listen to the "trigger" signal from the projector and press up and down buttons on the control. I did not sacrifice the screen remote for that setup, as the control box has the power and buttons to hook up a microcontroller to. I did the whole thing within 1 day, including PIC program. it was even before RUclips. These days motorized screens have trigger inputs, so the setup should be just laying some wire from projector to the screen.
I would have used a reed sensor with the magnet on the back of the bottom of the screen. Then you could have run a very thin cable to the controller, located in a different spot. But that's a personal choice. Cool little project.
I thoroughly enjoyed this, but here are a few improvements I would have done
1. Adding something mechanical is something like this always causes restrictions, and using glue on top of that is even harder to fix if you change something small. So id try to avoid that as much as i could with code.
2. As someone pointed out, pressing up also stops the screen from going down while its going down, thats good coz then you only need 2 buttons. Even then having 3 buttons on the app doesnt seem like an issue.
3. Id rather just add the functionality in the code that if the screen takes 15 seconds (say) to come down or up, the remote just emits that signal for 30 seconds the moment you press up or down. The screen will automatically stop after its length runs out. The signal will stop sometime after. A little change in code will remove the physical button, and largely simplify electronics. Then its better to just add a stop button on the app or use the up button to manually stop it halfway if needed.
4. As someone else pointed out, having one arduino running full time to control multiple ir emmited / receiving devices around the house sounds like a great plan.
Great work either way!
Good one! Just one suggestion..
Limit switches need to be installed so that when something goes wrong (and it will), when the device doesn't stop fast enough (or at all) the over-travel doesn't jam into the switch and break it or what is holding it. Install a lever operated switch so that the roller gets pushed from the side. Then when the travel goes too far the switch arm just harmlessly slides along the side. I learned this from years of working on automated machinery and later on my own CNC machines. I've destroyed a few limit switches in my time due to over-travel!
cheap but perfect CNC have soft limit what working normal working alltime, but if come some error to program need be mechanic limit SW cnc all axis and wiring ro paraller whit E-stop SW, if soft limit has error axis go out off limit then mechanic Limit SW e-stop all machine, simple and all cnc used this. and home SW have inductive sensors can run first all machine home point then machine know were have zero point ewery axis. my DIY linuxcnc have all this basic system, working well and have safety if come errors.
As you've discovered - I've also found that a lot of those remotes that use 12v batteries just do so to increase range, often the chips can/will run on 5v (or I guess less) just with a really reduced range, so if you're going to store it somewhere in a nearby location to the blinds... just power it with 5v!
Well done video, thanks!
How on earth are we supposed to know who this guy is, and whether or not he likes to make stuff??
I'm not sure exactly who this guy is, but I can say with some small degree of certainty, that he does indeed like to make stuff.
? Seriously?? Just touch on the “I like to make stuff” then press videos or shorts . And it will show you his other content. I hope this helps
@@lannysternburg263 no - not seriously- have you watched the first few seconds of all his other videos?
It’s a mystery
@@lannysternburg263woosh
Those little ESP-32 boards are amazing. I remember working with much larger, more expensive, and much, much less capable microcomputer boards. There was a little Z-80 board I did a lot with back in the day. It cost ~$60, ran at 4MHz, had 32K ROM, 8K RAM, a couple serial ports and 24 bits of parallel I/O, and that was it.
Level shifters are another option to convert 3v3 to 5v or 12v; no moving parts and miniscule power draw.
Tasmota & ESPHome are other code options that work well for this type of project, but I'm not sure how well they integrate w/ cloud services. I keep (almost) all my automation under local-only control.
U could also just use a smart IR blaster or RF blaster to just emulate the remote.. use the app or automate it with home assistant & motion sensors
When I was doing custom electronics, I used to say 'we still have to case test it'
You experienced why that is necessary. I really like your videos
Calling and ESP an Arduino is an insult to the ESP.
Maybe in a different context I would agree, but I am just over the anti Arduino snobbery.
Yes, I am moving on from Arduino to esp, but Arduino got me started from nothing.
Glad you used a 2x2 to attach the switch to the wall. Us woodworking nerds need our fix. Got the course a while ago looking for the right project to jump in and learn.
I do this alot, but I always like to isolate the buttonpresses completely from the buttons I modify and the ESP-device. Using optocouplers makes this perfect. Then I just need 3.3/5V for the ESP and just leave the thing as original as it was. By doing this the ESP and the other thing is galvanically isolated.
No power-hogging transformer needed. If USB won't power something, just use a LM7805 in a TO-220 package (3 pins).
Also, they already have SmartLife modules that output dry contact closures. Less than $10 per channel.
Wonderful presentation with artful everyday vernacular so non-electronics people could follow. This is what is lacking in 98% of how to electronics videos. MUCH APPRECIATED ⭐️⭐️⭐️⭐️⭐️
Thanks for learning me about the ESP8266. That is awesome. To make your screen smart box a little more elegan you could use a reed switch, a hall sensor etc, instead of a limit switch.
Im wondering if you’d tried SDR to analyze the signal. With the signal info, you can usually just mimic it via the arduino and a $0.60 transmitter. Combined with esphome, and home assistant (not necessary but highly recommended,) you can control the screen and a ton of other stuff however you like.
I did the same with my cheap 100 inch screen 15 years ago and an arduino uno. With an ESP and ESPHome it is now way easier. And a simple transmitter instead of a remote hack.
But did the screen not stop automatically when it was fully down? Never tried a screen that just continued to run until it got stuck. If that is the case, I would prefer adding relays directly to the screen and control it that way. Or add a sensor to male the motor a servo.
This is really cool. I'd love to see a version of this that replaces the remote entirely with SDR. A retrofit for the entire wall controller with built in limit switches/rotary encoder would be cool in that you could use it for other stuff around the house.Also, looking online, it seems like it is possible your current controller actually has limit switch pins that just aren't hooked up to anything...
IR repeaters are pretty cheap also and allows you to make digital remotes that repeat a copied signal
If I don't remember wrong there is a device of type roller or blind that you could use, and there is no need for a limit switch because you time how much does it take to open and close and that's enough. And you will have only one device, and that's just perfect
I don't need this idea for setting up a movie room in my house, but I do like how you spelled out what you were doing - even changing it each time. I have a gate that uses IR opening and closing and I am thinking this might work really well. It would allow me to open the gate from anywhere or set up a "as I arrive at the house - open" command.
I see regulator on the remote control board, so obviously it takes 12v from the battery to 3.3 or so.
there are some IR and RF remotes compatible with Amazon and Google assistant avaliable for 15$ on aliexpress
that's the way i choosed for tv, ceiling fans and climate control
Screen most likely already has limit switches so it knows when to stop but whether the electronics for that are built into the screen case or the hardwired remote is a question but the reality is that when you decided to go to hard wiring the remote you should have also switched to altering the already hard wired switch leaving your remote fully functional and fully remote.
But of course this was REALLY just an example of how to make something into a smart something and at that you still succeeded 100%.
I used a Shelly 2.5 in roller shutter mode to get rid of the cumbersome controller-box of that identical screen. Whilst beeing a little bit more expensive, it gave me the perks of having a minimalistic footprint on the wall, very easy conversion and using all the advantages that a Shelly 2.5 brings with it: auto calibration and integration into my existing Shelly setup (using the Shelly app and triggering with specific scenes).
My favorite kind of ILTMS video. Great job!
As usual, you have come up with an intuitive idea to solve a “problem”. Bravo.
there was no problem, and the solution is way more complicated than the original remote.
Love the idea!
I really recommend using ESPhome with Home Assistant for automations like this.
ESPhome allows to configure the MCU using a YAMl file, that can be pretty much copied from the internet.
Also, it's possible to connect directly to the controller and even get the screen position!
Amusing project. I did almost the exact same one, with a few differences. I put all the electronics in the wall unit and 3D printed a new back, so it's essentially the same, just thicker, and you can still use the remote. I also went timer based instead of a limit switch, that way I can adjust the position, and I can do it remotely via the app. Mine is through google, but comically enough, it's the exact same command "Hey Google, it's movie time". Same set of commands too, put's the screen down to the correct position, turns off the lights, turns on the projector and stereo. I went a little overboard and the ESP32 also reports screen status (up, down, partway, raising, lowering) based on the buttons it's pressed, and how long ago they were pressed, so I can check the status on the app remotely. Off all my projects, this one gets the most use!
I loved this video!!! Thank you again for showing us a way to use basic electronics to enhance our lives. I bought the course months ago and just ordered your kit for it. Looking forward to future projects.
Sick project! Couple of things I might suggest for the next one:
- i wouldn't solder crimped jumper cables like that! Those things are expensive!!
- esphome is really great and may serve your purposes
- optocouplers are the technically correct way to have two circuits (of this size, doesnt make sense for a relay like you mention at 12:38) with different power sources interact with each other (i know you ended up using usb for everything but this is feedback on the original plan)
Granted, I'm not an electrical engineer but this is just stuff ive learned over the years doing Arduino
Not sure it really matters, but I've never liked the idea of triggering button presses with a pin directly as it requires a shared ground, when dealing with multiple voltage requirements that gets a little messy. So I've been faking button presses for years with opto-couplers. They're just LEDs and photodiodes together in one package. If the photodiode is biased then it essentially just closes a contact, which is what we need.
Nice hack and video. Another approach would be to hack the receiver unit itself. Then you'd still have your stock remote as a backup. Mahalo for sharing! : )
Or you could probably leave both devices intact, and just hijack the remote‘s IR signal. There’s bound to be a way to let the Arduino send IR and have it learn the right signals.
Very cool project! I did something similar for my garage door opener years ago. I wired a raspberry pi to a garage remote and used the same switch as you to tell whether the door was open or closed. It ran a little server with a button that let me see the status and open/close it from my phone or computer.
Eventually I decided to make a v2 with an ESP board using ESPHome and integrate it into Home Assistant. This allowed me to also integrate it into my HomeKit so I didn't have to open any apps or go to a webpage. I also used a magnetic switch here so the door isn't rubbing up against a switch directly. Instead of wiring this one to a remote, I used a relay and wired it directly to the screws on the opener.
One thing I noticed is it doesn't look like you're using any flux when you solder. I didn't either at first, but it changed my world when I started. Much cleaner solder connections and you don't struggle as much to get the solder the stick.
Just buy solder with flux core. Works fine and no need to faff with extra flux. Each to their own.
I remember when I started experimenting with arduinos I made a remote light switch with old remote and ir receiver from old tv. I am pretty sure you can use single ir led to send those signals. You still got your remote, you don't have to use different power sources, use only one output of esp32. The only downside is a little more code because at first you need to upload a sketch from ir library examples to capture signals from your remote. And you also need one ir receiver just to set up your device. If you ever need to stop the screen at any height I can suggest a simple ultrasonic distance sensor. They are cheap and easy to use and pretty accurate.
If the shade motor is consistent enough, couldn't you eliminate the limit switch with software? Something like "Lower shade 12.8 seconds then send Stop command". Then you could mount the box on the projector, out of sight.
Too bad it wasn’t IR, then you could just clone it instead of hijacking the remote.
Using Dead Reckoning with systems like this tends to be a bit risky. It's prone to stalls, overshooting, and drifting over time.
I think its possible to integrate a 433mhz transmitter for use with the ESP32 - Which should remove the need to integrate with an existing remote remote control. They are only a few bucks and could also be used in projects such as Car Garage door openers etc.
Exactly what I came to say too. This is most likely using 433mhz and the signal could be replicated with a simple module for the ESP32 instead of hacking the remote. Great video regardless!
A fun follow-on experiment would be to run the RTL_433 application with a cheap SDR to confirm the signals being transmitted. The remote signal is likely the typical 433MHz found in these Chinese, low-cost circuits. Since the UP/DOWN functions don't require pushing the STOP button, using the limit-switch at the bottom seems A) unnecessary, and B) is likely sending a constant STOP signal to the receiver.
I found your video by accident, but really loved what you did there. I have a couple of questions. 1st - Could you tap into the power for the screen motor, and drop the voltage, instead of using a wall plug? 2nd - Unrelated. I've been using a cheep (HF) soldering iron but I'd like to set up a soldering station. What would you recommend?
Thanks for the video. I hope to see others in the future.
I wonder if having the screen rest on the limit switch for long periods of time is good for the thin metal arm.
I may be wrong, but probably would also be pretty easy to code in for it to go up 1cm on hitting it.
Relay makes sense for controlling something like 230V. For a 12V button an optocoupler would be enough.
Or a transistor.
@@jimlynch9390 Sure, although if the two sides have separate supplies, keeping them electrically isolated can save a mountain of headaches with crosstalk, noise, power going where it shouldn't if one is unpowered and the other not, etc. Same supply - don't even think twice.
hall effect sensor in the window surround with a magnet on the bottom of the screen would be tidy i reckon.
I did something similar to a govee led light strip that only used Bluetooth. I taped the buttons, and the three color channels to preserve the old controls and get more smart features.
I saw this video when it was posted, then actually bought this exact screen without realizing it.
I ended up using a BroadLink RM connected to home assistant to achieve the same result, and I’m kinda glad.
I’ll always respect built over bought, but wanted to share a Plan B for others
Have you looked for the setting stop screws on one side on the roller inside the housing? setting those correctly wont require pushing the stop button. up is up, down will go down to setting.
Simply set the limits for stopping the screen at the correct height. Usually a couple of button presses in the remote, this enters the set up mode. Then you just need up/down controls. Also some wall mount controllers have 0V contacts inside for integration with control systems.
Just use esphome and an IR receiver/transmitter. You could then use a door sensor to know when it's down. No wiring required (m5stack make these plug and play)
My guess for the 12V batt but it working across a wide voltage range is one of two, 1.> having a long battery life just by having a wide voltage range and/or 2.> lazy hack for more range? Bonus 3.> If fit the form factor and datasheet, so it got used.
I just got a Harmony remote and hub with IR blasters. Not fancy, but super cheap on marketplace, and my whole home theatre is automated 😁
I used a smart IR device to mimic infra red remote presses...but always love a DIY solution. As a felloe 3d printer i always like seeing a limit switch employed!
Question?
Could you have programmed it to run the screen down for a set amount of time.
For example the down button is only pressed for a set amount of time to go down. Say 30 seconds and the same to go back up. This would have remove the need for a limit switch.
A simple smart wall plug would have provided every thing you needed. The switching would trigger the command to go down and the off would command it to go back up.
That would probably work, but in practice things like this end up being somewhat unreliable - the kind of thing you need arcane knowledge for to kick in the right place when it starts to act up. For example, if the motor clogs up or the voltage dips, which results in the screen moving slower, it will only go down halfway. Tracking the state to at least some degree and responding to its change is the proper way to do it.
The way I like to think about things like these is, imagine you only know what the machine "knows" about the system and only do with it what the machine can do - are you going to be able to control the system reliably with that knowledge and these capabilities? In this case, you'll basically be controlling the screen blind (and deaf) - you can probably control it to some degree, but there may be hiccups.
I used to make things like this in the 70s, but they were battery suckers, then I operated and serviced a device like this, that was about 30' and roll formed roofing panels, it ran on 440. That machine had a flying cutoff triggered by a photoelectric eye.
Powering the remote at 3.3v most likely impedes the range, hence the sensitivity to switch proximity ! Great troubleshooting on this one, and awesome final product 👍
I did something simliar but copied the infrared bursts and added my own IR led to the ESP to act as the remote.
Made something similar to press buttons on my screen remote. The basic idea is the same by using a microcontroller to "press" the buttons. However I did want to keep the original remote usable. So I made a small connector on the back of the remote that has both sides of the up/down buttons (I did not need the stop since my screen is adjustable). If for whatever reason my automation fails I can still just press the original buttons or take the remote out.
I avoided the 12V power issue by creating separate circuits by using optocouplers which are a lot smaller and cheaper than relais.
And I used ESPhome, just because it integrates easily with Home Assistant. It also supports covers so it is natural to control with up/down controls (or speach if you wanted).
Does your screen not already have a limiter you can set max and min limits internally? So you can just hit up/down and it stops.
I know ones Ive installed do, but those are commercial, seems like a bad design if residential,/consumer ones don't already as well
^ I'm wondering the same. I had one of these $100 screens and it has a limiter to dial in the stop position when lowered.
You are 3000 miles away on a YT video and you made my Alexa put my living room into ‘Movie Time’ mode - this silly tech doesn’t get old 😂❤🇬🇧
I really liked your video! I think it would be more clear if you demonstrated how you will fake the button presses before attaching the Arduino, by using a bench supply
This is awesome!!! This type of vid is what makes my Saturday and gets my brain thinking of the possibilities!!
Next, can you and and make your own automated blackout curtains?!?!?! Or atleast pre-made blackouts curtains with a diy smart controller!!!
Routines are the best! I have them to wake up, light up house in the morning or when smart door is unlocked via code! Or using smart things, i added the trigger of a philips hue switch to activate both hues bulbs and a kasa switch!! I also had a routine that would set my Echo studio to a certain iHeartRadio station at a certain time!! The options are endless!!
Instead of a relay (if you had needed one) you can use a logic level shifter. I used one with an ESP32 to control hundreds of addressable LEDs on a Magic Wheelchair project.
Did you check the frequency of the signals? I know, as a beginner, starting to snit that kind of signals is next level, but that would be a good option to "bump up the level", for a future video 👍.
Really enjoyed the video and explanations. Alternative solution is to get rid of control unit/remote completely and use something like Shelly 2.5. Shelly has a web interface api etc. Two negative things, you need to work with AC 110/220 Volts and you can use only the mechanical stop of the motor (ugly workaround just measure time for screen to get to the exact point and use this to setup Shelly). For apple devices you can use “shortcuts” to communicate with Shelly.
It is really a shame that the original hardware of cheap screens has to be 1960 style.
Join his course and fix it!
Another awesome project. I’ve wanted to, but have been procrastinating on signing up for Arduino for makers…this video really shows me a good insight in a way I would use it even more so now I’m definitely going to have to make the time.
I was going to say, how are you going to interact with a 12v circuit without a relay. If it's just 3.3v you just need to either pull up or pull down on one side of the button to cheese the circuit. Very cool. I've got an smart integration project coming up and this has given me something to think about.
Locking relays in the wall unit is the answer.
Power to the screen motor is cut by an n/c relay receiving power, causing the other relay to cut.
Just a Simple analogue logic circuit.
All the components, apart from the relays will be in the wall unit already.
But hey, arduinos are fun.
Did this for a HDMI switcher. Worked great.
Yes, no...
Why not use a 433Mhz Bridge eg Sonoff to read the codes the remote sends and keep the remote?
Could you have a timer for going down and stop it after the right amount of time rather than having a limit switch?
A limit switch for going up would seem a better choice, but is it even needed?.
The reason they use a 12v battery is for range, 3.3v may work but the distance will be reduced considerably.
I would have a look at the screen electronics, pretty sure they have built in limit switches so the motor stops when it fully down and fully up. You might have been able to modify it so it stops exactly where you want it to stop on the down run.
Very cool! I have the same screen, and luckily, my BroadLink RM4 Pro can emulate the RF remote. And it plays nice with Home Assistant. 😄 I’m going to try your method though to tap into the remote for our power adjustable mattress base. 👍🏻
Or you could use the smart plug and add some relays & limit switches to the screen to make it go up until it's all the way, or if up already, go down until it loses power (either by limit switch or outlet being disabled)
That remote operates on 433 Mhz frequency you can just attach a 433 Mhz transmitter to the ESP8266 then you can get same functionality without zombie-fy your remote. You can read what data transmitted by the remote using 433 Mhz receiver attached to ESP8266 and simulate the same signal data.
I have a screen which is pretty much identical to this one and the same remote. I simply got myself a Broadlink RM4pro and taught it this remote. so now it cna be controlled by home assistant, google home and my harmony etc. nice and simple. A bit more expensive but the Broadlink can be used for loads of different devices.
Using 1/4 the voltage to run the controller is probably the reason you had the problem with the enclosure/switch blocking the signal, the 12v just gives it more range with a limited antenna
That came out awesome! I had been looking for Alexa-Arduino integration for the longest time and now I have it, thanks!
May be a more elegant setup to just connect a little radio module to your ESP32, and record the 3 signals from the remote, and use ESPHome to replay those signals. No need to cannibalize the original remote, so you can still use it as a backup (though I suppose you technically could still use the buttons on it as-is)
it is good to know Tony Stark has a youtube channel teaching good tech stuff
heej bob, nice way to automate this. but one thing, i would add some sort of bracket that guides the screen towards the limit switch at the bottom. because if there is a bit of wind (door closing or something), the screen might move a bit and miss the limit switch
Bob - I love the occasional Arduino projects you do. Keep em coming!
So cool! I know a little of that stuff, I used to work for a circuit board company.
Why not record the remote signal and use the esp with a transmitter to control the screen while keeping the remote, this is what I did with my devices and it works wonderfully, there's also an example code that I just used.