Arduino Project - Self Balancing Robot

  • calendar_today  Dec, 17 2018
  • visibility  3,243

In this tutorial, we’re going to show you, how you can make “Arduino Self-Balancing Robot”.

Basically, this Arduino self-balancing robot is controlled with an Android Application or transmitter by using the Arduino Microcontroller. It is a bi-wheel robot that balances itself by applying the closed-loop algorithm. Some of the main features of this hi-tech robot are

  1. Simple Mode
  2. Position Holding
  3. Joystick Control
  4. Rise mode

This robot uses the information via Gyroscope and accelerometer for bringing it back to its original direction. 


  1. 2 x NEMA 17 Stepper Motor
  2. 2 x A4988 Drivers
  3. Arduino Nano
  4. Lipo Battery
  5. HC-05 Bluetooth Module
  6. GY-521 Module
  7. Prototype Board
  8. 10cm Wheels
  9. M5 Rod
  10. Angle Brackets
  11. Screws and Nuts 

Balancing of Robot

Construction of Arduino project - Self Balancing Robot


Schematic Diagram

Understanding the Schematic Diagram

Left Motor = Step 2 & DIR 2

Right Motor = Step 1 & DIR 1

GY-521 Pins: 

  1. A4 – SDA
  2. A5 – SCL

Motor driver pins:

  1. D5 – STEP1 (PORTD 5)
  2. D6 – STEP2 (PORTD 6)
  3. D7 – DIR1 (PORTD 7)
  4. D8 – DIR2 (PORTB 0)
  5. D4 – ENABLE (for both)

HC-05 Bluetooth Module Pins:

  1. TX-RX
  2. RX-TX

RC Control

D2 – CPPM (PPM_SUM) (For Transmitter)


Code credit goes to Mahowik

If you’re facing any kind of difficulty in finding the project parts that are necessary for this project then please call or email us. We’re here to help!


The Arduino Self-balancing robot is quite fascinating robot project. This robot will be controlled via Android application which you will install in your smartphone. You can also control this awesome robot with the help of joystick. Try this project in your home and send us your project. We will post it on our website.