2-Wheel Self Balancing Robot by Using Arduino and MPU6050




2-Wheel Self Balancing Robot by using Arduino and MPU6050.

Use Arduino as the controller and sensor MPU6050 to control the balance. Just add a simple Serial Bluetooth module and use a  Bluetooth Serial Controller APP for Android Phone to make the remote control.

In the first version, the controller is Arduino UNO, then in the sencond version as the following video shows, just change it to Arduino Lenardo.

Now let's see how to make this robot step by step.

Step 1: Materials

Mechanical Parts:
3 × Acrylic Board
16 × Brass Stud M4x16 
2 × Encoder Motor
2 × Motor Brakcets
2 × Shaft Coupling
2 × Wheel
Screw M3
Nut M3

Electronic Modules:
1 × Arduino UNO (Arduino Leonardo in the second version)
1 × Motor Driver L298N
1 × DC/DC Power Converter LM2596
1 × MPU6050
2 × 18650 2600mAh 3.7V Li-ion Rechargeable Battery
1 × Battery Holder

Step 2: Build the Frame

Install 3 Acrylic board together by using Brass Stud M4x16, Screw M3 and Nut M3 to build the frame.

Step 3: Install Motor Brackets

Install 2 Motor Brackets on the frame.

Step 4: Install Encoder Motors and Wheels

First, install 2 encoder motors on the motor brackets.
Then add 2 wheels on the motors.

Step 5: Add Electronic Modules and Batteries on the Robot.

Step 6: Source Code

3 People Made This Project!


  • Cardboard Challenge

    Cardboard Challenge
  • Epilog X Contest

    Epilog X Contest
  • Safe and Secure Challenge

    Safe and Secure Challenge

670 Discussions


5 weeks ago

sir, send me the schematic diagram,coding and the way the connection to my email am doing this project for my Final year exam need your help sir, kindly send me the request to my email
- Pravindenvasu@Gmail.com


7 weeks ago

Hello could you guy please send me by an e-mail ( mfatihkoc1995@gmail.com ) this balancing robot schematics , codes and connecitons of electronics components. Thanks


Question 4 months ago on Introduction

where can i find and buy all the reqired parts to build this ?

(went onto amazon beforehand and i couldn't find most of the parts)

Email; lclimo@outlook.com

any info, please send to my email


Question 4 months ago

Hi, I have one question, Can we use Arduino UNO, as it has only two interrupt and this code need three interrupt. Also I tried using Leo, it did not work. I tried using Arduino Mega 2560 and it seems not responding. This same setup is working fine with other code ( without encoder option and interrupt ) . But for the above code seems to have issue ( for me ) with encoder motor and interrupt combination. Hope to get some options.

Just to let you know, I have used mega 2560- pin 2 ( mpu ), 18,19 for encoder connection.

Rest are your code.




Question 8 months ago on Step 5

Can you give me a manual of connections?


10 months ago

Same thing actually. Really great project! Would appreciate if you could send the schematics!


Thank you very much!