[Jamie Zawinski] Controls His Drapes From The Command Line

As one of the founders of Netscape and the Mozilla Project, [Jamie Zawinski] is no stranger to frustration elicited from syntax errors, terrible implementations, and things that don’t work even though they should. This familiarity of frustration is what makes [jwz]’s command line controlled curtains so great; it’s rare to see someone so technically proficient freaking out over the lack of DHCP on an Arduino Ethernet.

[Jamie]’s project begins as so many do – modifying an existing piece of hardware to connect to the Internet. This is easier said than done, as [Jamie] fried a USB hub, FTDI cable and an Arduino Ethernet all at the same time. Finally turned onto the seeed relay shield, [jwz] got busy writing scripts to power his curtain.

Of course, this level of automation is nothing without a good bit of integration. After [Jamie] realized his projector (a Panasonic PT-D5500U) and receiver (Denon AVR-2805) could talk to his computer, he got busy mashing them together with a Griffin PowerMate. Mashing the button on the PowerMate turns on the projector and closes the drapes. There’s also a cron job running so that [Jamie] is reminded of the glowing orange ball in the sky.

20 thoughts on “[Jamie Zawinski] Controls His Drapes From The Command Line

  1. Holy crap he did it the expensive way.

    Those boxes are low grade high price. There is $12.00 in parts but sell for $90.00

    I found that use robotics websites on how to modify servos to do full rotation and you can easily make that same motor for far less and have a easier interface.

    Or, better yet, look for auctions of business that go out and buy the solus motorized shade.

    I bought 3 of them for $25.00 each that way. a couple ours later and I had $2900 in motorized shades.

  2. I rarely fry stuff unintentionally, or at least without the knowlegde that there is a good chance I’ll fry something.

    Sometimes I use LEDs to check if I have power knowing full well the 12v will fry the led in seconds but convenience wins over leds.

    1. He notes in the article that between starting and completing the project, DHCP was implemented. He also makes the point that hardcoding the mac address into the source remains suboptimal…

  3. Pulling the cord to the drapes is one of life’s simple pleasures.

    For in that moment, I am not merely pulling the drapes; I am trimming a halyard on a sharp sailing vessel, enroute to lands unknown. To plunder or be plundered.

    Sometimes that drape cord is as close as I get to sailing, and I’ll be damned if I’ll let some bot-thing have all the fun.

    1. “All I ask is a tall ship
      and a star to steer it by”.
      You could feel the wind at your back in those days.
      The sounds of the sea beneath you.
      Even if you take away the wind and the water,
      it’s still the same.
      The ship is yours.
      You can feel her.
      And the stars are still there

  4. @loser —

    I think he has a point; professional grade electronics work is hardly an approachable subject for a beginner, and involves tooling and supplies that can be expensive and time consuming to acquire.

    Contrast with software development, where almost anyone with a computer has immediate access to the exact same tools the professionals have.

    Of course it’s more approachable to *hack* out electronics projects, using cobbled together tools and whatever you have available — however, I think that sort of approach is (as jwz notes) is considerably more time consuming and difficult, and in a ‘journey is more important than the dedtination’ kind of way, appeals to a different kind of maker.

    Personally I find myself regularly frustrated at th lack of access to expensive quality tooling, and in contrast with a lot of the comments I see here, “doing it cheap” just isn’t an aspect of this kind of work that I’m interested in.


    1. Exactly. There are many rooms in the Maker mansion – the arduino debate is a good example of this. To some, it’s the very essence of the Maker spirit because it allows people to ignore the details of the hardware and focus on the end product. To others, it’s the very antithesis of the Maker spirit … because it allows people to ignore the details of the hardware and focus on the end product. Fortunately, there’s room for us all – I’m about to spend big money on a lathe because I enjoy making component parts. Other people can’t be bothered with the mess and difficulty so they outsource. We’re all still makers.

      On the other hand, hacking it out may only be more difficult and expensive the first few times. At some point you do develop a stock of parts and experience that means projects go much faster, and you are capable of things you perhaps wouldn’t be if you always relied on a pre-made solution. But again, sometimes people just want their drapes to work :)

  5. I cannot help but be reminded of the first few episodes of “Twin Peaks” wherein one of the minor characters is obsessing about completely silent drapery runners. I suspect automated stealth runners may be in order at our house, just on principal.

    I think however, I would salvage a number of the microsteppers from pointNshoot cameras’ auto focus to drive the system. I envision each hanger with it’s own stepper, daisy chained with ribbon cable to the mainboard in an industrial shuttle car style.

  6. one way to do this on the cheap is to use a cordless drill (the smaller, screwdriver-type). You can sometimes get these for $10 and they have a low-rpm, high torque motor.

    1. I have a mental image of someone reading your post and giving it a try, only they missed the “smaller, screwdriver type” part. They get it all set up and give it a test run and the drapes tear out of the wall and the hanging brackets go sailing across the room, embedding themselves into the opposing wall.

  7. just you wait….
    Mine has 2 blind spools, monitered by PS2 mouse encoders. the blinds then are serially connected to an Ethernet arduino which also has optoisolated mains control and DMX 512 :D

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.