Three Joint Robotic Arm

For my main project, I have chosen to build and program the three joint robotic arm with four servos and four potentiometers.


Asher M

Area of Interest



Summit Upper School


Incoming Sophomore

Second Milestone

Milestone 2

My second milestone was to assemble my arm.

It was a relatively easy process however I did encounter issues along the way.

It does not work electrically however it looks and for the most part works the way an excavator would work, but with 1 added joint.

Each component of the arm plays an important part in the arm’s movement.

One servo imitates an upper arm while a different servo imitates the forearm.

One servo acts like a grabber while another one rotates the entire arm 180 degrees.

One of the issues I encountered during building the arm was the servo arms holes being too small to fit screws into.

I solved that issue by using a drill to widen the holes in the arms.

I also experienced some minor issues screwing the bolts in, because they would always fall out due to the angle they were supposed to be installed in.

For the bolts I decided to screw them in with one hand and hold it with the other, instead of screwing with one hand and holding the part itself.

While building the mechanical part of my arm, I learned how to follow an instructional video, the importance of different screwdriver sizes, and now careful I need to be with my parts.

First Milestone

My first milestone was to get one servo working with a potentiometer. 

A servo is essentially a motor but it is limited to a certain amount of degrees of movement. A potentiometer is an analog input device which is also limited to 180 degrees of movement. 

What happens when the potentiometer is rotated in a specific direction is that the servo also rotates in that direction. The data from the potentiometer is transferred from the yellow wire into an analog input on the arduino. The code on the arduino relays that information to the analog output, which happens to be the servo in this case.

The code was the knob example code from the arduino desktop application.

I had initially thought I needed to write a value, because I assumed that “(value)” was a placeholder for a certain number.

I would soon learn that I was incorrect, and the “(value)” was previously classified as a variable and was not a placeholder. 

I encountered a couple of issues along the way.

 I was unaware how my wiring was supposed to work, which ended up in lots of frustration.

But upon further analysis from the diagram provided on the arduino website, as well as guidance from the teachers, I was able to do my wiring correctly, and finish the milestone.

During this project, I learned how valuable the arduino examples are, and I also learned how to use an analog input to control something.

Starter Project



My starter project is the binary blaster. 

It teaches binary to the user by using a Numerical display and a microcontroller.

It’s buttons represent 1, 2, 4, and 8 in binary.

The user is quizzed on their knowledge of binary, and the machine teaches binary by going through a demo before the game starts. The numerical display displays the numbers in decimal while the buttons and LEDs go through the numbers in binary. The demo consists of numbers 1 to 15 in binary.

One: 0001

Two: 0010

Four: 0100

Eight: 1000

A lit button represents one, and an unlit button represents zero.

A number shows up on the numerical display, and it is the user’s job to convert that number into binary using the buttons.

It comes complete with battery functionality and sound using a piezo buzzer.

The binary blaster is definitely an entry level project, however it teaches the importance of soldering and polarity nonetheless, I also learned binary after finishing the project.

I did not make any mistakes during this project because I was extra cautious with my materials due to the issues I encountered during a previous project.

Asher M
Image Source:

Start typing and press Enter to search