r/homeautomation • u/nutstobutts • 20h ago
PROJECT I built a silent curtain opener that clamps onto a rope on your existing rod. Three months and about a hundred of them in other people's homes later, here's what people actually did with it.
Edit: The device has been renamed to The Ropener: Silent drape runner. The Github page has been updated to honor Nadine's contributions as well.
Hey r/homeautomation, Daniel here.
Some of you might remember the window opener or the radar speed camera I've posted here. This one's a curtain opener I call the Ropener. I posted it in r/homeassistant earlier this summer and never posted it here, so here it is with three months of field use.
Up front: I sell this. Everything is also public and you can build it without me. Details are at the bottom.
How it works. A rope loop runs along your existing rod. Two small carriages clip to the leading edge of each panel. A NEMA 17 stepper with an MK8 extruder gear pulls the rope loop. Nothing gets replaced: no new track, no motorized rod, or new curtains. It's driven by a TMC2209, so it's very quiet and especially great for a bedroom.
Control. It runs ESPHome, but you don't need Home Assistant or any hub. It serves its own web page on your LAN, and there are three buttons on the board: hold one to jog, tap for a full open or close, hold both for three seconds to set home. If you're in Apple Home, Google Home or Alexa, Matterbridge for HA works incredibly well. Home Assistant finds it on its own. No cloud, no account, no app.
What I learned in three months:
- Track curtains work, and the pull-cord kind is the easiest. A couple of customers have it on cord-drawn tracks now. One removed the factory tensioner pulley and mounted the Ropener in its place on the existing cord. Plain ceiling tracks with no cord: still being tested by another customer, so I don't know yet, but looks very promising.
- One motor for four panels works. Just print extra carriages for the same loop. The limit is drag, not torque. If all four slide easily by hand, you're fine.
- The drive gear changed and pull went from 11 lb to 15 lb. I found that the smaller-diameter MK8 adds more torque. But friction is still the problem: grommet curtains on a bare metal rod want glide tape or they'll stall halfway.
- What I still can't do: manual override. With the motor on the rope you can't pull the curtains by hand. That was the most-asked question in the last thread and I still don't have a good answer, at least not without a complete redesign and some kind of clutch mechanism. But I've never needed it in my several years of use.
- Power. 24V barrel jack. The USB-C on the board is 5 V and only for flashing. A few people wanted to run it off a power bank but I haven't tested it, and my guess is the bank's idle auto-shutoff won't allow it to work. If anyone's tried, I'd like to hear.
Files. STEP, STLs, the ESPHome YAML and the PCB (KiCad) are all public:
- GitHub: https://github.com/Valar-Systems/Ropener
- Printables: https://www.printables.com/model/1725737
- MakerWorld: https://makerworld.com/en/models/3115155-ropener-motorize-your-existing-curtains
Disclosure: I sell it. valarsystems.com. The kit with all the hardware and the controller board is $60 if you print the plastic yourself, $73 with the prints included, $90 assembled. Add $9 for a 24 V supply with a US plug. The board on its own (ESP32 + TMC2209, Wi-Fi stepper driver) is $35, and a few people have used it for things that aren't related to curtains. Everything above works without buying anything from me except that board, and even the board files are public if you'd rather fab your own.
One-minute demo video: https://youtu.be/kw-FztIAOuc
I'll be in the comments for the next few hours.