RUBY
The Mini Desktop Robot
I designed and build ruby during my undergrad years. This is my first attempt at an ESP32 based autonomous companion robot. With the goal of achieving end-to-end robot design and development experience and learning real-time operating systems. The idea is to build a robot that has both an adorable appearance and expressive physical motions. Like Wall-E, but also unique in its own way.


Hardware – Designed From Scratch
From original sketches to full CAD. The robot is designed to look simple from the outside while hiding the complexity inside, while remaining fully serviceable. The inner chassis are designed to be fully 3d printable. From motors, sensors, to charging circuit, battery, and MCU, All components placed carefully to fit together in a compact body while leaving DOF for the moving parts.
Ruby Features
Dynamic Expressions: The robot can display its emotion via interactive expressions such as happy, sad, scared, or surprised. Every emotion is a coordinated movement of its actuators and eye animations.
Intuitive Inputs: The robot has multiple sensors such as MPR121, MPU6050, Line tracking, and TOF distance sensor. This enables the robot to respond to various events such as touch gestures, orientation, acceleration, obstacles, and even voice inputs.
Wireless Control: The robot will host an asynchronous server so to provide user with an interface for settings and remote controls. Users can communicate with the robot on the webpage, access settings, receiving notifications, sync reminder and timers.
MQTT Protocol: The robot will implement the MQTT protocol when connected to wireless network, allowing it to send and receive information across local area networks. This enables a wide range of applications such as fetching weather forecast, sending and receiving from external sensor stations, and autonomously control other MQTT enabled device on the network.


Ruby can be customized to different colors
Hardware Assembly








