Self-balancing Robot

Self-balancing robot with a mobile app for remote control, featuring monitoring and balance parameter adjustment functions.
May 2023
Cover image of the self-balancing robot project, a 3D-tilted cascade of screenshots from the mobile control app

Project overview

The Self-balancing Robot is an innovative solution in the field of personal robotics, combining advanced programming technologies with practical user application. The creation of a self-balancing robot allows for the exploration of modern control algorithms such as PID algorithms. The robot maintains balance thanks to precise sensor data readings, enabling smooth movement and stabilization in various conditions.

3D model of the robot assembly, designed in FreeCAD.

The mobile application, developed using the latest web and mobile technologies like Vue and TypeScript, allows remote control of the robot and complete monitoring of its status. The user interface is intuitive and provides the capability to adjust balance parameters, allowing users to optimize the robot’s capabilities. Communication between the application and the robot is accomplished via WiFi, ensuring fast and reliable data transmission.

The robot balancing and driving under PID control.

The microcontroller part is programmed in C++, ensuring high performance and reliability of the device operation. The entire system integrates into a cohesive management unit, enabling not only remote control but also the handling of additional features such as auto drive or position control. These options enhance the robot’s functionality and versatility in educational and experimental applications.

Remote control via mobile app
Live status monitoring
PID parameter adjustment
Automatic position control
Auto-drive feature
Obstacle detection sonar
Servo mechanism control
Sound notifications via buzzer
Technologies
TypeScript
TypeScript
Vue
Vue
Android
Android
Capacitor
Capacitor
Java
Java
C++
C++
ESP32
ESP32
FreeCAD
FreeCAD
UART / I2C / SPI
UART / I2C / SPI
KiCad
KiCad