Iterative Project 2

I changed my iterative project to making a quadruped robot because my idea for the sun battery was too narrow, which I couldn’t iterate on it further anymore.

The quadruped project is based on the robot pet that I made for final last semester, it has basic walking motions and bluetooth control features, but I decide to remake the robot with better gait motions and remote control (either iot or ble).

link to the previous robot


The robot’s legs in the previous project were simply four L shape headers that I screwed onto the servos. They turned when the servos turned, creating walking motion with the frictions from the ground.


For the iterative project, I will remake the legs so that they can create a smoother and more animal like gait motions.


I started out by observing my cats at home, sketching down their walking and running motions.



structure sketches





I also checked out Boston Dynamics’s robot dog for structural reference for some inspirations for the legs.


To understand the concept of gait motion, I started searching for similar projects that people had done and found this detailed blog post about making a quadruped robot.

He had done a simulator in processing that help people understand the angle of the leg structures and how it is related to the gait motion.

processing sketch


After playing with the sketch and reading his blog post, I used his design of the legs as a reference and drew the ones for my robot with custom measurement for the servos I have, which are Tower pro SG90.

I made a prototype with cardboard to see the motion of the leg.



But cardboard was too soft, so I decided to 3D print the legs so that they could hold the weight of the robot.




During the first print, I made the main structure part a single piece, but it locked the structure of the leg and made it hard to turn.



So I modified the piece into two separate pieces for creating the gait motion.



After having all the components printed, I connected them together with machine screws and bolts and I super glowed the screws and bolts to create flexible joints.


I replace the old legs with the new ones and tested out the robot.





Unfortunately, the screws that I used for holding the servo and the 3D printed leg, the longest ones that came with Tower pro servos, were too short, which the legs immediately fell off when the servos turn.



One Arduino Uno

Four Tower Pro SG-90 servos

Four I shape Tower Pro SG-90 servo headers

3D printed components

24 Phillips flat head machine screws #6- 32 x 1/2 in with bolts


Schematic of the servos :

servo schem



void debug() {
Serial.print("Servo Degree(9,10)= \t");
Serial.print("\tServo Degree(11,6)= \t");

view raw
hosted with ❤ by GitHub

#include <Servo.h>
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
int interval = 100;
int pos;
int pos2;
float counter;
void setup() {
void loop() {
long start = millis();
counter = 128 + 127 * cos (0.25 * PI / interval * (interval – start));
pos = map(counter, 0, 255, 40, 135);
pos2 = map(counter, 0, 255, 135, 40);

view raw
hosted with ❤ by GitHub


Demo video:


For future iteration, I will try to replace the screws that hold the legs and servos together with longer ones or redesign the header for the servos. I will also add another servo to each leg, so two servos per leg to create the gait kicking motion similar to the video below.

I will also add a proximity sensor serving as the robot’s eyes and design an outer enclosure for the robot.



Leave a reply

Skip to toolbar