The whole design was done in Autodesk Fusion 360 and design incorporates a combination of solid and free-form modelling techniques.

Emo bot V2 1.png

To streamline the printing process, we divided the robot body into several parts that can be easily assembled using screws.

Emo bot V2 4.png

We carefully considered the placement of the power source, situating it at the base and allowing ample space for the power cable's unrestricted movement. While addressing the cable movement was our primary concern, we also ensured that the body maintains a slight contact with the base to enhance stability during motion.

To elevate the robot's visual appeal, we chose an attractive blue-and-white color scheme.

3D Printing

Our material of choice for 3D printing was PLA, and we opted to print each component individually, resulting in a significant time investment.

3d print.jpg

To reinforce the base's durability, we printed it using a 40% infill density, while the other parts were printed with 20% infill.

3d printed parts.jpg

Now we have successfully printed all the necessary components, we can proceed with the assembly process.

Preparing The Base

To begin the assembly, we first mounted the micro USB module onto the base section to serve as the power source for the robot.


In close proximity to the USB module, we positioned the SW-420 vibration sensor, which would detect any vibrations generated.


The base section consists of three wires: Vcc, Gnd, and an output wire from the vibration sensor.

Lastly, we securely attached the lid to the base section using M3 x 10 mm screws, finalizing the assembly of the base section.


Getting The Head Ready

For touch sensing capabilities on the robot's head, we incorporated a compact capacitive touch sensor, which fits perfectly in the designated area.


The central component of the head section is a 2-inch IPS display from Waveshare, responsible for conveying the robot's emotions. To secure the display, we utilized black supporters and a small amount of hot glue.


To enable audio playback, we integrated an 8-ohm 0.5-watt speaker on the left side of the head, accompanied by a PAM8403 amplifier for sound amplification from the Raspberry Pi.


Next, we firmly attached the bottom part of the head to the robot's body using M3x15mm screws. Finally, we completed the head section by connecting and securing the previously assembled upper head part.


Setting Up The Body

Within the body section, we incorporated three servo motors: two SG90 servo motors for the hands and one MG90 servo motor for body rotation. To conveniently control these motors, we integrated the PCA9685 - 16 Channel Servo Motor Driver.

To secure the MG90 servo motor, we utilized M2 nuts and bolts and attached it to the front of the body.


The PCA9685 was positioned in the same area to distribute the body weight evenly.


Moving on to the hands, we affixed the SG90 servo motors to both ends and carefully secured them to the servo shaft.


To establish connections with the Raspberry Pi, we opted for a perf board combined with a female header, offering a more organized and efficient solution than direct wire attachment. Through soldering, we ensured the components were properly connected while minimizing wire entanglement.


For power supply, we utilized a small male USB board sourced from an old mobile charger to provide power to the Raspberry Pi. Audio transmission was facilitated using a TRS audio jack.

To complete the assembly, we secured the Raspberry Pi to the back of the body using screws.


Additionally, we used a 2mm transparent acrylic sheet at the front end to conceal the gap between the outer cover and the LCD module.


This acrylic piece was created using laser cutting technology at a local shop. We provided them with a DXF file of our design, which was obtained from the design.



All the necessary connections for building Emo is as shown below.

Cicruit for driver.jpg


After assembly, we...

Read more »