I have a Remote Control for my windows shades and I would like to be able to trigger them using some software using a web interface or an android app. As I am an enthusiast programmer I would like to code this myself so using a home automation framework is not yet my goal. I already learnt about the remote control that its protocol is difficult to mimic especially when I want to be able to always use the hardware device remote control as a fallback (even if the Raspi should cease to function my family should be able to open or close the shades). The protocol was designed to be secure, it uses a security token that changes for each transmission so I consider it impossible to do the 868 communication on my own.

So my idea was to attach the remote control to a plate and position three "fingers" over the buttons and to control the fingers using the io connectors of the Raspi. I know that it would also be possible to solder something to the board of the remote control but I would prefer an approach where the remote control itself gets controlled remotely without opening the case.

Do you have suggestions for me how to achieve my goal? Is there some device that enables me to push a button physically?

  • Have a look at raspberrypi.stackexchange.com/questions/22836/…
    – Ghanima
    Commented May 8, 2015 at 14:40
  • Hello marged, did any of the answers help or did you find another way? Please feel free to share your experience by writing your own answer and/or consider voting/accepting the existing answers.
    – Ghanima
    Commented Dec 30, 2015 at 23:22

2 Answers 2


There are lots of ways you could do this. I think this is more of a mechanical engineering than a software exercise. I.e. the difficult part will be mechanically fixing the parts to move the switch.

  1. solenoids can be driven backwards/forwards.
  2. a servo with an arm attached could depress the button.
  3. a stepper motor with an arm attached could depress the button.
  4. a DC motor with an arm attached could depress the button.

Solenoids, servos, and a stepper can be controlled in position to stop at a certain point. For a DC motor you'd need feedback to stop it spinning endlessly (a microswitch at the end stops or a timer).

All the above would be interesting to view.

However they are all intrusive and still require an operational Pi.

I'd ignore them all and just use the Pi to transmit the 868MHz wireless signal (leaving the remote as a family fallback). 868MHz modules should be inexpensive.

  • All the selonoids I was able to find more look like a bolting gun: I would fear to break the remote ;-) Do you know any filigree selenoids ? At first glance I like the idea of a stepper motor because (I think) it should allow me to specify how far the buttons should be pressed. Unfortunately transmitting the wireless signal is not quite easy because it was designed to change all the time. Even if I were able to adopt to these changes this would mean that connecting the Raspi to the shades would cut off the remote control (because the receiver is only able to connect to one sender)
    – Marged
    Commented Apr 14, 2015 at 8:41
  • @Marged Not my field I'm afraid, I'm lousy at mechanical things, I stick everything down with blu-tack! I better understand the wireless problem now. Perhaps add that explanation to your post?
    – joan
    Commented Apr 14, 2015 at 8:46

While I understand to premise that the transmission cannot be faked I think that the "build an artificial finger" to press the button is the most complicated way to go. I would like to propose to modify the remote control but in a way that the manual use of the device as a fallback is still possible. Despite it requiring to open the remote control I strongly believe that this significantly simpler to to.

  1. open remote control
  2. find push buttons and figure out how they are connected (most likely via a pull up/down resistor to GND or VCC)
  3. connect your own switch (transistor) in parallel to the push buttons
  4. wire those parallel switches to the RPi

I think of something like a snap-in-adapter (for the lack of a better word) like a docking unit for cell phones or charging units of cordless phones. Just sit the remote control in there to allow some contact fingers make the contact to the RPi, remove it for full manual control.

If you insist on the non-destructive way I would favour the solenoid/electromagnet approach as it offers at least the most simple driving circuit both in terms of software and electronical hardware albeit the mechanical fixation will be a little tricky. The driving circuit shouldn't be much more than a simple power transistor switch per solenoid. But be aware that the inrush current of the solenoids can be pretty hefty. The power supply needs to be properly decoupled from the Pi's supply and needs to be able to provide this current.

The selection of the solenoid of course needs to take proper care of the force it can exert to overcome the pressure point without damaging the control. I'd try to fix a rubber tip to the steel actuator (push rod) anyways (if only it serves the looks of the artificial hand). Good thing with solenoids is that the force could be reduced by a decreased driving voltage.

To hint some solenoids see here, to name a local vendor that could be useful to you try Pollin. I once got some mechanical actuators/solenoids there.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.