2 Wheeled Self Balancing Robot

About: I studied Electrical Engineering and a lot of other things. I'm always driven by my passions. Please visit also my Youtube channel.

Intro: 2 Wheeled Self Balancing Robot

In my humble opinion you are not a real Maker, unless you don't build your own 2 wheeled self balacing robot. :-)

So, here it is... and, most important thing, it works!!!

This project looks very simple. Instead, it requires a good level of knowledge of physics (inverse pendulum), maths (Kalman Filter) and mechanics (PID).

The are people who chose this project as a dissertation to obtain the Degree in engineering, therefore do not underestimate it. Once everything is assembled, also you must do a bit of tuning, learning about how the PID (Proportional, Integral and Derivative) control works.

I've assembled this bot in 3 different configurations, before achieving a good stability with the robot untethered.

When I saw on Internet the robot carrying the glass of water, I was immediately fascinated and I've decided to give it a go.


Please be aware that Lipo Battery are dangerous.

If you attempt this "stunt" waterproof all the electronics using some CorrosionX.

If you spill the water on the robot, you will destroy it, not mentioning the fact the short circuit can ignite the Lipo Battery.
For the frame I used some Oxford look-alike-Lego-parts.

The bot is powered by an Arduino Uno clone.

Step 1: Shopping List

Lego (compatible) parts

DC Motors

Arduino Clone




Motor Shield L298N




Jumper Wire 20cm Female to Male


JST Connector



* (in one of the previous configurations I've built, I've manage to burn one of the motors,

therefore I ditched the motors, keeping the wheels)


2 zip ties

Step 2: Build the Frame Using Some Lego (compatible) Parts

This is a very easy task. I believe that if Lego would start to make kits (like this), mixing bricks with electronics up-to-date, they will do much better in terms of sales (they are currently doing).

Anyway, please note that I moved the Lego platform for the Arduino Uno to a higher position, to improve the inverse pendulum effect.

To attach the motors, make 4 holes in the base, passing a zip tie (for each motor) in it.

I've added a bit of glue to be sure the motors don't move.

Step 3: Wiring Diagram & Coding

Following the schematic above, wire to the Arduino Uno clone, the the motor shield L298N, the MPU-6050 and the battery.

Regarding the coding, you can easily find in Internet the code for this project, that thanks to Kalman Filter and to the PID (Proportional, Integral and Derivative) control, improves the stability of your bot.

If you don't find it, please subscribe to my Youtube channel and I'll send you straight away.

Step 4: Enjoy It!

Congratulations, you have built your 2 wheeled self balancing robot!



    • Fix It! Contest

      Fix It! Contest
    • Metalworking Contest

      Metalworking Contest
    • Audio Contest 2018

      Audio Contest 2018

    11 Discussions


    2 months ago

    i subscribed your channel, Please, share code ??? Tks

    RC Lover sanlneves

    Reply 5 months ago

    If you like this project please vote for it in the Microcontroller contest and kindly subscribe to my YouTube channel. www.youtube.com/rcloversan

    You will receive the code shortly.