Rock-Paper-Scissors Robotic Arm
For this project, I built and programmed a three-jointed robotic arm using an Arduino Nano, four servo motors, and a dual joystick module, then expanded it with a push button and RGB LED so the arm could play Rock, Paper, Scissors against a human opponent. Throughout the project, I experienced both successes and challenges that helped strengthen my engineering and problem solving skills. One of my biggest accomplishments was finally tightening the last screw of the robot and preparing to debug the system and add modifications, which led directly into building and calibrating the full Rock, Paper, Scissors game mode. One challenge I encountered was a jittery gripper caused by a short circuit. After troubleshooting the issue, I discovered that the copper standoffs supporting the Arduino were touching the soldered pins underneath the board. I resolved the problem by removing all but one of the copper standoffs, which prevented unwanted electrical contact and restored smooth operation. A second challenge came later, when a replacement shoulder servo began stalling and humming on startup because its horn was mounted off center from the arm’s linkage; recentering the horn resolved the issue. Overall, this project was a valuable and enjoyable experience that improved my understanding of electronics, programming, mechanical assembly, and hardware troubleshooting.
| Engineer | School | Area of Interest | Grade |
|---|---|---|---|
| Amir Kashani | Rochester Mayo High School | Biomedical Engineering | Incoming Freshman |
Final Milestone
For my final milestone in the BlueStamp Engineering Remote Program, I completed a Rock, Paper, Scissors mode for my Arduino robotic arm. This milestone focused on adding a new push button and RGB LED to the existing hardware, and writing the software needed to let the arm play the game against a human opponent using its gripper.
A single push button now toggles the arm between its original joystick-controlled mode and the new game mode. In game mode, the RGB LED changes color to show the current stage, and the system reads the player’s move from the right joystick’s position while the robot selects its own move at random. The robot then displays its choice by closing, opening, or partially opening the gripper, the same way a person would show rock, paper, or scissors with their hand, and the LED lights up to show who won. All of this runs on the same Arduino Nano and servos from the base project, controlled through a state machine that keeps the original manual controls and the new game logic separate in code.
One of the biggest challenges during this milestone was a shoulder servo that began stalling and humming as soon as the arm powered on. This occurred because the servo horn was mounted at an angle that fought against the arm’s linkage instead of moving freely with it. In order to fix it, I detached the horn, let the servo find its true center with nothing attached, and reattached the linkage in that position.
With the game mode now complete, I plan to continue exploring robotics beyond this project, particularly computer vision for detecting a player’s move without a joystick and PCB design for a more permanent build. This milestone completes the project and builds directly on the hardware and software foundation established earlier in the program.
First Milestone
For my first milestone in the BlueStamp Engineering Remote Program, I completed the base version of my Arduino robotic arm. This milestone focused on assembling the hardware, wiring all of the electronic components, and developing the software needed to control the arm.
The robot consists of four servo motors that provide movement at the base, shoulder, elbow, and gripper joints. Each servo is controlled using two joystick modules, allowing the arm to move smoothly in real time. The joystick modules output analog voltage signals that the Arduino reads through its analog input pins. The Arduino then converts these values into servo angles, enabling intuitive manual control of each joint.
One of the biggest challenges during this milestone was eliminating jittering and the unresponsive control of the servo that flexed and extended the gripper. This occured due to the short-circuiting of the Nano Shield that was connected to my microcontroller. In order to fix it, I removed all but one of the copper pillars that were touching the soldered pins under the shield.
With the base project now complete, my future milestones will focus on improving the robotic arm’s capabilities by customizing the code the induce different motor functions, replacing the various weak servos, and providing the robot with a compact and accessible enclosure built for functionality. This milestone establishes a solid hardware and software foundation for the rest of the project.
Schematics
Base Project Schematic:
Modification Schematic:
Code
Bill of Materials
| Part | Note | Price | Link |
|---|---|---|---|
| LK COKOINO Robot Arm for Arduino Kit | Contains most of the electronics and structural parts to effectively build the robot arm like the servos | 67.59 USD | eBay |
| 8-Pack 9V Long-Lasting Alkaline Batteries | Powering the robot arm with voltage | 12.69 USD | Amazon |
| 9V Barrel Jack/Battery Clip | Connects the 9V Alkaline Batteries to be connected to the Nano | 6.99 USD | Amazon |
| Smraza Electronics Components Kit for Arduino | Provides lots of handy electronic components like jumper wires, buttons, LEDs, etc. | 14.99 USD | Amazon |
| Arduino Nano Expansion Shield | Allows Arduino Nano to be connected to many different things like servos without the use of a breadboard | 0.99 USD | AliExpress |
| Digital Multimeter | Used to measure the strength of electric current | 30.29 USD | eBay |
| 32 In 1 Small Screwdriver Set | Multi-head screwdriver kit allowing me to screw in any screw regardless of size | 7.99 USD | Amazon |