I decided recently that having to manually open and close the blinds on my windows is basically barbaric. So I set out to come up with an automated solution, but in the process, this little in-line winch that I made to actuate the blinds turned out to be super fun all by itself….yes, I’m still manually opening blinds while I get distracted…what can I say, I’m a barbarian ¯\(ツ)


Printables  |  Thingiverse 



If you need/want hooks for the ends of your winch, I reused these little hooks that I previously made for cable organizing. They are the “CableHook.stl” file included in the model repo.


  1. Print the printed parts….obviously

  2. Insert the M5 heatset in the Bracket

  3. Place the 9.5mm ball in the cone on the end of the worm and then put this sub assembly inside the bracket, nesting the other side of the ball in the cone of the bracket to complete the jewel bearing.

  4. Hold the sub assembly from 3 so that the hole in the worm is aligned with the motor axis opening. Look and see the orientation of the D flat on the hole in the worm, and bring in the motor with its D flat aligned to the hole.

    1. NOTE: you may want to check the fit of the motor shaft on the worm prior to assembly. This is intended to be a pretty tight fit, and anything obstructing the opening will make it difficult or impossible to assemble without damaging something.
    2. You can put the assembly with the back side of the jewel bearing against a flat surface to press the motor into position. Don’t push TOO hard on this, the motor’s thrust bearings likely aren’t particularly high quality.
  5. Attach the motor with at least 3, equally-spaced M3s. I would recommend tightening them in stages, working around the bolt pattern. If there is additional travel in the shaft-to-worm fit, this will draw it in evenly.

  6. Thread string through the small hole in the worm gear from the outside. You only need enough string on the side to be able to hold onto as you insert the bearing.

  7. Hold the string segment on the ID such that it sits in the small V-groove along the ID. With the string held in place, press in the roller skate bearing until it seats against the gear. For my builds thus far, this has been sufficient to hold the string in place, but if you want some extra peace of mind, you may want to tack it to the side of the gear with some superglue.

  8. Wrap the desired amount of string around the pulley inside the worm gear. Try to keep even tension to get a consistent winding and do make sure the wrapped string does not sit so high in the groove that it might obstruct the gear mesh. It will work with the string wrapped in either direction.

  9. Feed the free end of the string through the guide hole in the bracket. Mesh the worm gear with the worm and align the bearing hole with the heat set. Try to keep some tension on the string as you work with the assembly to avoid future tangles. Insert and tighten the M5 to secure the worm gear in place.

    1. NOTE: The worm gear should be mounted with the smaller opening side facing the heat set.
  10. Attach string to the fixed attachment point.

  11. Have fun and let me know how it came out!


Design files are available here on OnShape

Essentially this design is just a worm gear drive mechanism with a groove cut into the worm gear to act as a pulley.

The Worm is supported on one side by the motor’s internal bearing(s) and on the other end by a jewel bearing formed by cones in the Worm and Bracket, with a 9.5mm bearing ball between them.

The worm gear (and pulley) has a roller bearing with a snug fit at it’s centerline, providing radial support. The expectation is that the string will provide a self-centering force axially, so no axial/thrust support was included.

Printables  |  Thingiverse 


Printables  Thingiverse 

Gear Mesh

Tightened gear mesh 1mm by translating axis of Worm.

I went with a slight interference at nominal, since I expect an offset in the Worm Gear axis due to the clearance fit between the bearing and fastener (assuming the force from the worm will ultimately seat the bearing on the far side of this clearance).


In testing rev1 build2, I noticed the C frame was opening up somewhat due to the side load from the string tension against the guide.

To mitigate this, I’m going to make a couple of additional small tweaks. The first is to add a back plane to fill in the C frame. So I basically just filled in that empty space with a 5mm thick plate and added some healthy fillets at both the motor and jewel bearing end.

Adding this material cost me one of the mounting holes for the motor…guess I’ll somehow have to make do with only 5.

Guide hole location

Initially I just set the guide hole at the centerline of the spool, without really giving it much thought. But I realized quickly that while this allows the spool to be loaded in either direction, it also puts a significant amount of load into the guide (and also will probably wear both the guide and the string pretty quickly).

So I decided to move the guide hole closer to tangent to the pulley….at first… Then as I started modifying the model, I realized it might be nice to just leave the existing hole and add options!…plus I am a terrible designer, and changing the previous hole placement by THAT much breaks everything :)

So I basically just tied the guide to the jewel bearing support with a loft feature and added two more guide holes at 10mm and 20mm offsets from the pulley axis.1.5 mm

Using the guide holes closer to the tangent will not only reduce the side load into the guide, it will also move the line between the two attachment points closer to the expected CG. So there should be less rotation of the assembly as the cable tensions.

Fixed Attach Point

Final modification for V2, a beefening of the attach point for the fixed cable. I didn’t have any issues with this in V1, but with the string pulling directly in shear along the layer lines, I just felt like a little bit of reassurance would be nice.

The existing wall was 5mm thick, so I just added another 5mm to that surface. The load path down into the frame isn’t ideal, but I think it’s good enough.

Printables  Thingiverse 

No comments

Leave your comment

In reply to Some User