Close
0%
0%

Robot-Wall

Focus on discussions and sharing about Robot-Wall making or other DIY projects.

Similar projects worth following
The production of Robot-Wall is purely for personal interest and does not involve commercial use. My main purpose is to share the process of creating the Robot-Wall with you. The source code for the software part is from the content released by Simon Bluett chillibasket.

Robot-Wall is an exciting open-source robotics project designed to guide enthusiasts and developers in building a feature-rich and charming smart robot from the ground up. This project not only provides detailed hardware assembly instructions but also includes complete firmware source code, step-by-step programming guides, and promising future feature expansions. It serves as the perfect platform for you to enter the world of robotics and learn about embedded development and artificial intelligence applications.

Key highlights of the project include:

  • Comprehensive Open-Source Resources: The project makes all necessary resources available on GitHub, including but not limited to hardware interface definitions, firmware source code, and detailed documentation, offering full support for your building process.
  • Clear Development Roadmap: The project documentation presents a clear roadmap, with plans to incorporate more exciting features in the future, such as:
    • 3D-printed and purchased parts lists
    • Firmware flashing and calibration testing
    • SD card support for storing more data and resources.
    • I2C screen driver to add a visual interaction interface for the robot.
    • Network configuration via a web page or Bluetooth for easy Wi-Fi setup.
    • Voice wake-up and recognition to enable interaction with the robot through voice commands.
    • Servo and motor control to achieve posture control and mobility.

Whether you are a student eager to learn embedded systems development, a maker passionate about DIY projects, or an engineer looking for an engaging hands-on project, Robot-Wall is an opportunity you won't want to miss. Join us now and start your journey of creating a smart robot

Other creators improved the design (for reference).zip

Other creator improvements (for reference only)

x-zip-compressed - 20.05 MB - 08/13/2025 at 03:28

Download

Material purchase screenshot.zip

List of other parts to purchase (for reference only)

x-zip-compressed - 906.46 kB - 08/13/2025 at 03:27

Download

Connection tutorial diagram.zip

Hardware connection tutorial diagram

x-zip-compressed - 2.99 MB - 08/13/2025 at 03:26

Download

Robot-Wall drawing in STEP format, which can be used for modification.zip

Structural design drawings

x-zip-compressed - 4.32 MB - 08/13/2025 at 03:23

Download

Robot-Wall 3D Printing Drawings.zip

3D printing files

x-zip-compressed - 7.14 MB - 08/13/2025 at 03:23

Download

View project log

  • 1
    Step 1

    Please write the program to the Raspberry Pi and Arduino first, test it, and then install the circuit board into the robot.

  • 2
    Step 2

    The programming of the robot can be divided into two main parts; the Arduino code, and the web server on the Raspberry Pi.

    1.Download/clone the folder wall-e from the online repository. (To add a voice recognition module, use our modified wall-e.ino main program, in the walle-replica-3.0 - modified version program folder) Open wall-e.ino in the Arduino IDE;. In addition, the MotorController.hpp and Queue.hpp files will also automatically open on different tabs in the IDE. Install the Adafruit_PWMServoDriver.h library Go to Sketch -> Include Library -> Manage Libraries Search for Adafruit PWM Servo Driver. Install the latest version of the library Connect the computer and the controller with a USB data cable. Make sure to select the correct board and port in the "Tools" menu.


    2.Upload the wall-e.ino main program Test Upload the main program to the Arduino. While the Arduino is still connected to the computer, connect a 12V (3S) battery and power it on. Open the serial port detection (the button on the upper right of the Arduino IDE), set the baud rate to 115200. Now test the movement of Wally, send characters "w", "a", "s" or "d", which respectively represent Wally moving forward, left, backward or right. Sending 'q' can stop the movement. Now test the head movement of Wally, send letters "j", "l", "i" or "k" to tilt the head left or right, and raise or lower the eyes. At this stage, the joints controlled by the servo motors may have a wider range than the actual due to the lack of setting for the stroke. This problem will be solved by performing the following servo calibration steps. Servo Calibration Download/clone the "wall-e_calibration" folder from the online repository. Open wall-e_calibration.ino in the Arduino IDE. Upload the program to the Arduino, open the serial monitor, and set the baud rate to 115200. This program is used to calibrate the movement range required to move each servo motor to the corresponding position, the maximum and minimum PWM pulse widths. The standard LOW and HIGH positions of each servo are as follows. Before installing the servo motors, it is necessary to ensure that the angles of the servo motors are correct, and then install the servo arms. Since the servo motors can only rotate 180 degrees, if they are fixed at the wrong angle, they will not be able to control the joints correctly.

  • 3
    Step 3

    After starting the program, open the serial monitor. After 2-3 seconds, a message should appear indicating that the LOW position of the first servo motor (head rotation) is ready for calibration. Send the characters "a" and "d" to control the robot's movement forward and backward, within the range of -10 to +10. If more precise control is needed, use the characters "z" and "c" to move the robot, within the range of -1 to +1. Once the servo is positioned at the correct position, send the character "n" to continue the calibration steps. It will move to the HIGH position of the same servo, and then the 7 servos in the robot will repeat this process. When all the joints have been calibrated, the program will output an array containing the calibration values to the serial monitor. Copy this array and paste it into lines 144 to 150 of the wall-e - ino program. 

View all 4 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates