I'd like to automate button pressing on Nintendo DSi for a certain purpose.

For this, I think I will use a raspberry pi and a mini servo motor SG-90.

My question is, would the SG-90 would give enough torque to be able to press the button?

The following figures are provided :

Couple: 1,6 kg.cm at 4.8V

Speed: 0,12 s/60° (probably also at 4.8V)

Thank you

  • \$\begingroup\$ Give the same data for the button you want to press! More obviously, yes of course you could press a button because you'd need some sort of lever or screw to do so could get torque multiplication. You need to decide how a servo with 180 deg rotation would actually press your button, what size lever you need, what length of travel etc etc. \$\endgroup\$ – Jack Creasey Aug 11 '18 at 16:18
  • \$\begingroup\$ I have a design in my mind, I just wanted to make sure it wasn't a ridiculous idea :) Thank you @JackCreasey \$\endgroup\$ – user167987 Aug 11 '18 at 16:26
  • \$\begingroup\$ Sounds like you want to create some type physical macro device ;) Cheating in video games, potentially. \$\endgroup\$ – user103380 Aug 11 '18 at 16:52
  • \$\begingroup\$ "Couple: 1,6 kg.cm at 4.8V" - servo specs are often 'optimistic'. Expect <1kg.cm in practice. teaser.fr/~osegouin/aeromode/servos.phtml \$\endgroup\$ – Bruce Abbott Aug 11 '18 at 19:30
  • \$\begingroup\$ The usual motor that closes a switch, called a 'relay', is available and inexpensive; why use a servomotor instead? \$\endgroup\$ – Whit3rd Aug 11 '18 at 23:44

You must specify the linear displacement of the switch and required maximum slew rate and thus toggle frequency.

The torque is 2.2kg-cm or 22kg-mm is enough to damage the switch so spring load force is not likely an issue.

Response time of 120ms is slow for 60 deg. But for 20 deg it may be 40ms or more.

What is needed to create say 3mm linear displacement in 20 deg rotation at some radius?

One approach is the design of a friction roller Cam on the servo arm.

  • \$\begingroup\$ Unfortunately, I couldn't find the specification for the switch or any sort. Or I didn't spend enough time. Thank you, Tony. I will look into what you said. \$\endgroup\$ – user167987 Aug 14 '18 at 3:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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