DIY Desktop Robot Emo Based on Raspberry Pi 4B

【Click on the above「blue text」 to follow DF Maker Community and become a tech aesthetician together】

DIY Desktop Robot Emo Based on Raspberry Pi 4B

Emo is a personal companion robot based on Raspberry Pi 4B, combining fashion and innovation. It is not just a robot, but a living existence. Unlike other robots, it has a unique personality and emotions.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

DIY Desktop Robot Emo Based on Raspberry Pi 4B

Hardware Section

  • Raspberry Pi 4B
  • 2-inch IPS LCD Display (240×320 resolution)
  • SG90 Servos ×2
  • MG90 Servo
  • 16-channel 12-bit PWM Servo Driver
  • 801S Vibration Sensor Module
  • Single-channel TTP223 Touch Sensor Module
  • 8 Ω 0.5 W Speaker Module
  • PAM8403 Dual Channel Stereo Audio Amplifier Module
  • 5 x 7 cm Double-sided Universal PCB Prototype Board
  • 40-pin 2.54 mm Header Connector
  • 304 Stainless Steel CSK Countersunk Screws M2×10
  • M3 x 10 mm Bolt and Nut Kit
  • M3 x 20 mm Bolt and Nut Kit
  • B-30-1000 PCB Flying Wire (with PVC insulation)
  • 2mm Thick Acrylic Board

Software Section

  • Autodesk Fusion 360
  • Microsoft VS Code

Tool Section

  • Multi-functional Screwdriver
  • Soldering Iron
  • Lead-free Solder Wire
  • Circuit Board Soldering Fixture
  • Flux
  • Multi-functional Wire Stripper
  • Hot Glue Gun

Design Concept

We used Autodesk Fusion 360 to design the Emo robot, which integrates solid and freeform modeling techniques.

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

To simplify the printing process, we divided the robot’s body into several parts for easy assembly with screws.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

We carefully considered the position of the power supply, placing it on the base and leaving enough space for the power cable to move freely. To enhance the stability of the robot’s movement, we also made the body slightly touch the base.

Additionally, we specifically chose a blue and white color scheme because the blue and white combination enhances the robot’s visual appeal.

3D Printing

We chose PLA as the 3D printing material and printed each component separately, which took a long time.

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

To enhance the durability of the base, we set the fill density of the base to 40%, while other parts were set to 20%.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

Now that we have printed all the parts, please follow my steps to start assembling!

Note: 3D drawings and code can be downloaded at the end of the article.

Assembling the Base

First, we will install the Micro USB module on the base, which will serve as the power interface for the robot.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

We place the SW-420 vibration sensor close to the USB module, as it can detect any vibrations around the robot.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

The base section consists of three wires: VCC, GND, and the output wire of the vibration sensor.

Finally, we securely fasten the cover to the base using M3 x 10 mm bolts. Thus, we have completed the assembly of the base section.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

Assembling the Head

To give the robot’s head touch capability, we used a compact capacitive touch sensor and perfectly embedded it into the designated area.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

The core part of the robot’s head is a 2-inch IPS display from Weixue, which plays an important role in conveying the robot’s emotions. We securely fixed this display using a black bracket and some hot melt glue.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

To achieve audio playback functionality, we integrated an 8 Ω 0.5 W speaker on the left side of the robot’s head, paired with a PAM8403 amplifier to amplify the sound from the Raspberry Pi.

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

Next, we securely fasten the lower half of the head to the robot’s body using M3 x 15 mm screws. Then we connect the previously assembled upper half of the head, completing the assembly of the entire head.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

Assembling the Body

In the body section, we installed three servos: two SG90 servos for the hands and one MG90 servo for body rotation. To conveniently control these servos, we used the PCA9685-16 channel servo driver.

To ensure stability, we also used M2 nuts and bolts to secure the MG90 servo at the front of the body.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

We placed the PCA9685 module in the same area to effectively balance the gravity.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

Now we start assembling the robot’s hands. Simply install the SG90 servos at both ends and securely fasten them to the servo shaft to complete.

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

We use a prototype board with female headers to connect the Raspberry Pi, which is more efficient than using wires. At the same time, by soldering, we can ensure that all components are correctly connected, thus minimizing the possibility of wire entanglement.

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

To save space, we use the USB Type-C board from a mobile charger to power the Raspberry Pi. For audio transmission, we use a TRS audio jack.

Finally, we securely fasten the Raspberry Pi to the back of the body with bolts, thus completing the installation of the power section.

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

Additionally, we used a 2 mm thick transparent acrylic panel on the front, which can cover the gap between the outer cover and the LCD module.

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

Circuit Section

Wiring as shown below:

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

Programming

Next, we start writing the code to generate emotions, where servo movements and animations are the core parts. To achieve these complex functions, we use Python’s multiprocessing package, which allows the robot to perform multiple tasks simultaneously, thus improving efficiency.

We have written the project code for you; you just need to clone it locally to use.

git clone https://github.com/CodersCafeTech/Emo.git

It is worth mentioning that we used Adobe After Effects software to create animations and export them as image sequences, making it easier to integrate into the entire system.

Debugging

After programming, to ensure the robot operates normally, we need to test all components.

First install the required dependencies:

pip install adafruit-blinka adafruit-circuitpython-servokit

Enter the code folder (Code) and execute the following command to start the program:

python3 final.py

Your Emo robot is now running! When you say something to it, it will analyze your tone and display the corresponding expression on the screen.

DIY Desktop Robot Emo Based on Raspberry Pi 4B

Results

The moment to witness miracles has arrived!

DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B
DIY Desktop Robot Emo Based on Raspberry Pi 4B

▼ Complete Video

Original link: https://www.hackster.io/coderscafe/emo-your-personal-companion-robot-dc8afe

Project Author: CodersCafe

Translation first published on: Fun Endless

Please indicate the source information when reprinting

Hardware Arsenal

DF Hardware Arsenal

Click to learn more👆

DIY Desktop Robot Emo Based on Raspberry Pi 4B

DFRobot Official Brand Store https://dfrobot.taobao.com/

DFRobot Official Flagship Store https://dfrobot.jd.com/

If anyone has anything to say, feel free to leave amessage!

Files involved in the project can be clicked on “Read the original text”, or reply “Emo Robot” in the public account background to download!

Review of previous projects

Understand the entire series of Raspberry Pi in one article!

Learn these 20 Linux commands to master your Raspberry Pi!

Raspberry Pi Cyberdeck with 6 Screens, check it out!

Light up the Christmas tree with Raspberry Pi

Homemade cloud server with Raspberry Pi, portable in your pocket!

Make a “digital microscope” with Raspberry Pi

Spring is here, you need a retro-style Raspberry Pi camera

3D printed Raspberry Pi spider robot

Make a handheld computer with Raspberry Pi and ESP32!

Create a retro game console based on Raspberry Pi Zero

The most comprehensive! How to choose Raspberry Pi expansion boards? One video solves it!

Click to read👆

Leave a Comment

Your email address will not be published. Required fields are marked *