Screen Tapping Robot




About: I make robots!

Do you need a robot who clicks the "like" button on all your friends' posts? This screen tapping robot clicks touch screen in the way you program it to!

Step 1: The Operation Console

I used a 9" x 12" pattern plate as the operation console which holds the mobile phone (or any other touch screen based devices) and the motion components.

There are two grommets and two standoffs attached to the platform in order to fix the mobile phone so that when the stylus is tapping, the mobile phone won't move.

Step 2: The X-Axis

To control the stylus movement, I built a rack based on Cartesian coordinate system, i. e. one with X and Y axises. I also tried polarized coordinate system which required fewer components, but it was much less stable.

The X-axis is implemented by a lead screw driven by a NEMA 17 stepper motor. Because the X-axis need to mobilize the rest of the components including Y-axis and the stylus system, which are kind of heavy, I stabilized the X-axis movement using two 8mm x 300mm stainless steel precision shaftings with linear ball bearings.

Step 3: The Y-Axis

I could use another lead screw to implement Y-axis, but it is too heavy because the lead screw is stainless steel. So I built a slider system based on aluminum pinion pulleys and timing belt.

The timing belt is attached to two channel sliders so that I can mount the stylus system later.

The Y-Axis is driven by another NEMA 17 stepper motor.

Step 4: The Stylus System

To click the touch screen, I need to make the stylus move linearly. Initially I was planning to use linear actuator, but it was too big and more expensive than I expected, so I ended up with building my own.

The stylus is attached to a pulley system similar to the Y-axis, but much smaller. Another difference from the Y-axis is the stylus movement is driven by a standard servo (instead of a stepper motor).

Step 5: The Control

Now everything is in place, it's time to make them moving!

The stepper motors and servo can be driven from any micro controller. I picked Raspberry Pi 3 as the main controller and used two A4988 based stepper motor drivers to control the stepper motors for axis movement. The servo is driven by the PWM signal from Raspberry Pi itself. If you want to drive multiple servos at the same time (which is not the case in this project), you may want to get a PCA9685 based multi channel servo driver.

Step 6: The Components

I got most of the components from Servo City. Please find the parts list here.



    • Paper Contest

      Paper Contest
    • Build a Tool Contest

      Build a Tool Contest
    • Sweet Treats Challenge

      Sweet Treats Challenge

    4 Discussions


    Question 3 months ago on Step 5

    Hey! I've been wanting to build a robot like this for a few months! Awesome work. I know nothing about hardware or software so I am trying to figure out how to write the code in Python for an Arduino. How would you have the code tell the Arduino how to make everything move? I would greatly appreciate any tips you have to share.

    1 answer

    Answer 3 months ago

    Hey! For this project particularly, I used python + Raspberry Pi. I worked on projects using Arduino too, but as far as I know the main programming language for Arduino is a variation of C. There are plenty of articles on the Internet which provide detailed instructions about how to use Arduino to control a stepper motor, for example:

    Please feel free to let me know if you have any questions :)


    1 year ago

    man ive been wanting to make this for forever im so glad someone did it!

    Awesome! There are so many mobile games that I want to use this on.