Introduction: Make Smartphone Controlled Humanoid Bipedal Robot Using Evive- Arduino Based Embedded Platform

About: STEMpedia is a place bringing project-making tools at one place- kits, online courses, coding platforms, controller app and tons of free learning resources.

The first humanoid robot that we built was Casper - the robot that rolled. But it could only move its eyes around and walk and run on wheels. Today, we’re going to build yet another humanoid robot that is quite different and advanced than Casper; it’s super cute too! ;)

Not only is it super expressive but it can also move around, dance, shake hands, and even give you a hi-5! We’re going to use PictoBlox - our smart graphical programming software - to program it and Dabble - our ingenious project interaction and Bluetooth controller app - to control it.

Download PictoBlox from HERE and get Dabble on Google Play. Ready for exciting robot-building?

Let’s begin!

Step 1: List of Components Required

Hardware

  • evive
  • Metal Servo and Accessories
  • Acrylic Sheet
  • M3 nuts and bolts
  • M4 lock nuts
  • Jumper Cable

Software

You can download the design of the parts on the Acrylic Sheet for laser cut from below:

Step 2: Understanding the Design

Before we begin with the making, let’s first understand the design and what each part is called:

  1. Left/right body side plate x 2
  2. Body front plate
  3. Body base plate
  4. Body back plate
  5. Foot base and sole x 2
  6. Leg back servo plate x 2
  7. Leg servo horn plate x 2
  8. Leg front plate x 2
  9. Leg side plate x 2
  10. Leg bottom plate x 2
  11. Foot servo horn plate x 2
  12. Foot front plate x 2
  13. Shoulder servo horn plate x 2
  14. Servo back plate x 2
  15. Shoulder front plate x 2
  16. Arm front plate x 2
  17. Arm back servo plate x 2
  18. Arm top plate x 2
  19. Arm bottom plate x 2
  20. Claw x 2

Step 3: Making the Base

Let’s begin with assembly of the base as we will attach the rest of the body to it.

Attach two metal servos to the body base plate in the space given using M4 bolts and nuts. One for each leg.

Note: Before you attach the servos, set the servo angle to 90 degrees for all the six servos using evive.

Calibration of the servo has never been this easy. Connect the metal servo to either of the Servo Channel S1 or S2 of evive and switch evive ON. From evive’s firmware. Select Controls, Select Servos, then select Servo channel on which the servo is connected. Then, using the corresponding potentiometer set the servo angle to 90 degrees.

Next, attach the two-sided servo horn to the leg servo horn plate using servo screws). Cut the notch of all the screws. Repeat the same for the other leg servo horn plate too. (Fig 1)

Now, take the leg servo horn plates and attach it to the body base plate by mounting the servo horns on the leg servo horn plate to the servo heads on the body base plate using servo bolts. (Fig 2)

Once done, keep it aside.

Step 4: Making of the Legs

Now, let’s begin the assembly of the legs.

Note: We are going to see the detailed making of one leg. The below steps will be repeated for the other side too. Make sure that the servo head should point downwards.

  1. Take the leg back servo plate and attach a metal servo to it using M4 nuts and bolts. (Fig 1)
  2. Next, take the leg side plates and attach them to the leg back servo plate using M3 bolts of length 12mm and M3 nuts. (Fig 2)
  3. Next, take the leg bottom plate and attach it to the leg side plates using M3 bolts of length 12mm and M3 nuts.
  4. Then, take the leg front plate and screw M4 bolt and nuts to it in the hole given in the center.
  5. Now, fix this leg front plate to the leg side plates using M3 bolts of length 12mm and M3 nuts. Make sure that the slot given for the wire to pass is close to the body base plate. (Fig 3)
  6. Repeat steps 1 to 5 for the other leg.
  7. Once both the leg-sub assemblies are ready, fix them to the leg servo horn plate by mounting the servo horn on to the servo head using servo bolts. This will give movement to the legs of the robot.
  8. With this, the leg assembly is complete. Let’s move forward to the making of feet of the bipedal. (Fig 4)

Step 5: Making the Feet

Let’s begin with the feet assembly.

Note: Similar to the above step, we are going to make one foot in detail and the other foot will just be made similarly like the first one.

  1. Glue the foot base to the foot sole. Keep it aside to dry. (Fig 1)
  2. Till then, attach the two-sided servo horn to foot servo horn plate servo screws. (Fig 2)
  3. Next, attach the foot front plate and servo horn plate on the foot base using M3 bolts of 12mm length and M3 nuts. (Fig 3)
  4. Finally, Fix this entire foot assembly to the leg assembly by attaching the servo horn on the servo using servo screws. And fix the foot front plate to the leg assembly using M4 bolts and M4 lock nuts. This will give movements to the feet of the robot.
  5. Repeat steps 1 to 4 for the other foot too. (Fig 4)
  6. Phew! The lower body of our humanoid is complete. It’s time to make the upper body.

Step 6: Making the Shoulder

Let’s start the assembly of the shoulder.

  1. Attach the metal servo to one of the body side plates using M4 bolts and nuts. (Fig 1)
  2. Once done, fix this body side plate to the body base plate using M3 bolts of 12mm length and M3 nuts. (Fig 2)
  3. Make sure that the side plate is fixed in such a way that the servo head points outwards.
  4. Now, attach the double-sided servo horn to the shoulder servo horn plate a using servo screw. (Fig 3)
  5. Finally, attach the servo head on the body side plate to the servo horn of the shoulder servo horn plate using servo bolt. This allows the movement of the entire hands of the robot. (Fig 4)
  6. Repeat steps 1 to 4 for the other shoulder of the bipedal. (Fig 5)

Step 7: Making the Hands

Let’s begin the assembly of the hand.

  1. Firstly, attach the servo horn to the arm back servo plate using M4 nuts and bolts. (Fig 1)
  2. Then, attach the arm back servo plate to the arm bottom plate using M3 bolts of 12mm length and M3 nuts.
  3. Screw M4 bolt and M4 lock nut into the hole given in the center of the arm bottom plate.
  4. Next, attach the arm bottom plate to the arm front plate using M3 bolts of length 12mm and M3 nuts. (Fig 2)
  5. Then, attach the claw on the arm top plate using M3 bolts of 12mm length and M3 nuts.
  6. Fix the arm top plate to the arm back servo and arm front plate using M3 bolts of 12mm and M3 nuts. (Fig 3)
  7. Next, attach the servo horn the shoulder back plate using servo screw.
  8. Attach the servo horn fixed on the shoulder back plate to the arm’s servo head using servo bolt. (Fig 4)
  9. Next, attach the shoulder front plate to the arm back servo plate using M4 bolts and M4 lock nut.
  10. Fix the entire hand assembly on the body side plate by fixing the servo horn on the shoulder servo horn plate to the servo head.
  11. Repeat the above step 1 to 10 for the other hand.

Step 8: Attaching the Front Plate

Attach the body front plate to the body base plate and the body side plates using M3 bolts of 12mm and M3 bolts.

Step 9: Attaching the Back Plate

Finally, attach the body back plate to the body base plate and the body side plates using M3 bolts of 12mm and M3 bolts

Step 10: Attaching the LED Dot Matrix

The eyes of the robot will be LED dot matrix. We need two matrices for the two eyes. Different emotions can be displayed on the matrices. Firstly, connect both the LED matrices to evive as given below:

  • Left Dot Matrix:
    • CS: 10
    • CLK: 11
    • DIN: 12
    • VCC: 5V
    • GND: GND
  • Right Dot Matrix:
    • CS: 23
    • CLK: 22
    • DIN: 24
    • VCC: 5V
    • GND: GND

Once connections are done, fix the matrices into the hole given on the body front plate.

Step 11: Connecting the Servos

Make the connections as given below:

  • Left leg servo:
    • VCC (Red wire): 5V
    • GND (Brown wire): GND
    • Signal (Orange wire): Digital pin 2 of evive
  • Right leg servo:
    • VCC (Red wire): 5V
    • GND (Brown wire): GND
    • Signal (Orange wire): Digital pin 3 of evive
  • Left foot servo:
    • VCC (Red wire): 5V
    • GND (Brown wire): GND
    • Signal (Orange wire): Digital pin 4 of evive
  • Right foot servo:
    • VCC (Red wire): 5V
    • GND (Brown wire): GND
    • Signal (Orange wire): Digital pin 5 of evive
  • Left shoulder servo:
    • VCC (Red wire): 5V
    • GND (Brown wire): GND
    • Signal (Orange wire): Digital pin 6 of evive
  • Right shoulder servo:
    • VCC (Red wire): 5V
    • GND (Brown wire): GND
    • Signal (Orange wire): Digital pin 7 of evive
  • Left-hand servo:
    • VCC (Red wire): 5V
    • GND (Brown wire): GND
    • Signal (Orange wire): Digital pin 8 of evive
  • Right-hand servo:
    • VCC (Red wire): 5V
    • GND (Brown wire): GND
    • Signal (Orange wire): Digital pin 9 of evive

Step 12: Working of the Robot

Biped is one of the cutest and the most entertaining robot. All the six servos on the bipedal help us to control the movements of those servos and LED matrix by which the robot will express all the emotions in the eyes.

There can be any number or any type of movements, be it a simple walk or dance and many others.

As stated above the bipedal shows the expression on the dot matrix. We can code those emotions to be displayed on the matrix. In our case, the robot blinks, see left or right, winks, fall in love, and many others to make it attractive.

As we need to change the walking style or the expression of the bipedal, we are going to control it with Dabble: Smartphone project making the app.

Controls of Dabble.

  • Up: Walk Forward
  • Down: Walk Backward
  • Right: Turn Right
  • Left: Turn Left
  • Triangle: Fly
  • Cross: Right-hand Shake
  • Square: Dance 3
  • Circle: Dance 1
  • Select: Shake Right Leg
  • Start: Left-hand Hi

Step 13: Arduino Code

Upload the following Arduino Code to evive and make your robot dance to your tune:

Step 14: Graphical Code to Control Your Robot

Coding the bipedal humanoid robot has never been this easy. Secret? PictoBlox. We will code the bipedal in PictoBlox- a graphical programming software. Where we can just drag and drop the blocks and the code is ready.

The best part? We can calibrate the servos in real time. The following are the two dedicated blocks:

  • To calibrate the Leg Servos( move left leg () right leg () left foot () right foot () in () ms ):

  • To calibrate the Shoulders( move left shoulder () right shoulder () left hand () right hand () in () ms ):

Before we start working with the bipedal, the first thing we need to do is upload the firmware. Upload the following code to upload the firmware:

Once everything is done, let’s begin to write the code:

The first block is none other than the main block, which will call out all the functions:

Now, we need to first initialize all the servos, every time the bipedal is powered up. This block brings all the servos to the original position.

The next block is the Leg Movement block which will make the robot move according to the key pressed in Gamepad.

The Hand Movement block, allows us to control the hand movements of the bipedal according to us.

Lastly, the default block. Whenever no key is pressed the robot follows the Default code.

Step 15: Conclusion

With this, your smart humanoid bipedal robot is all set to dance around and have fun!