How to Make a Ball Balancing Robot




Introduction: How to Make a Ball Balancing Robot

Last year, I have made this ball balancing robot.It can stand on a ball stable by the balance system of itself.

There is only one connect point between the robot and the ground, so it is more flexible than the traditional wheeled robot. It can move to any directions without turn. For the traditional wheeled robot when its center of gravity is too high it may fall down, but by using this robot the problem will not exist. So the application on this robot can be applied to narrow, crowded and interference environment.
And this robot can be used in many areas, such as security robot, explorer robot and entertainment robot.
This is just a platform and don’t have any practical application on it. We can add all kinds of different function on it according to the situation. For instance, you can add the applications of obstacle avoidance, localization and control by network to realize the function of the document delivery with this robot in your office.
What’s more, there are two ways to control: with the handheld wireless remote control and with the Kinect. By using the Kinect, you can control the car with your body, that’s may have a lot of fun.
The software may include: WPF programing, Kinect SDK, AForge.NET, PID algorithm, Kalman filter algorithm, AVR MCU programing and STM32 MCU programing.
The hardware may include: Gyro sensor, Accelerometer, Geomagnetic sensor, Wireless module, WIFI module, Camera, Kinect, STM32 MCU, Atmega16 MCU, Brushed DC motor (with gear box), encoder, DC motor driver, Controller power supply and motor power supply.
You can see more project here in my website.

So now let's begin to build this robot.

Step 1: Add Omni-Directional Wheel to Brushed DC Motor

In the balancing system of this robot, there are 3 Brushed DC motors. Each motor may have a bracket for connecting and a Omni-Diretional Wheel for driving the ball. 

1. Install the motor brackets to the Brushed DC motors.
2. Add one Omni-Directional Wheel to each of the Brushed DC motors.

Step 2: Make the Motor Bracket

To connect the DC motors to the body of the robot, I used the Aluminum profile to make 3 brackets. And then drilling several holes on them for connecting.

1. Cut the bracket from the Aluminum profile.
2. Cut another two as the same shape.
3. Drilling holes on the brackets for connecting.

Step 3: Add the Motors to the Acrylic Board

After making the brackets, I used the laser cutting machine to cut three pieces of acrylic discs to make the body of the robot. And then, connected them together to make the mechanical part of the robot.

1. Cut three pieces of acrylic discs by using the laser cutting machine.
2. Drilling holes on one of the disc and install the motor bracket on it.
3. Install another two brackets on the disc. 
4. Install the Brushed DC motors on the brackets.
5. Add the ball.
6. Install another two discs.

Step 4: Add the Electronic Modules

Add the electronic modules to the robot.

Step 5: Add Another Three Omni-Directional Wheels

By testing the robot I have built from Step 1 to Step 4, I have found that only use one Omni-Directional Wheel on each of the Brushed DC motors is not enough. So I added another one Omni-Directional Wheel one it. After that, the robot may works well.

Step 6: Made the Controller

I have made two ways to control the robot. One is using the Wireless Remote Control made by myself. And the other way is using the Kinect as the controller.



    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest
    • Metalworking Contest

      Metalworking Contest

    133 Discussions

    What are The Electronic Modules?
    Could You Describe it's Schematic and Source Code...?

    Hello! The group of the students is developing similar project but face to some difficulties. Could you please help and share the code.

    I'm very excited to try this. I hope you're still around and sharing the code and electronics parts list.

    Thanks ! and Amazing Job!

    What is the angle of the cut for step 2?

    amazing work, really want to make this project and hoping u can send me electronics list and the arduino code.

    Can u send a list of electronic parts and code, this project looks like a really good one to make. its amazing work hope u can help

    please give some info about electronics circuitry

    Hey, nice work! I am building a ball-bot and would love to your codes. I will offer to purchase them if necessary. please let me know.

    Hi can you please email me a copy of the code? Envy your skills!

    Thank you

    Hello, I'm currently trying to develop my own BallBot and need a little help. Your project works very nice! Therefore I wanted to ask if I could look at your source code and components. I would appreciate it a lot!


    1 reply

    Possible to share codes with me ?

    Hi. Could you please send me your schematics and code?

    Hello. We have our Robotics course and we'll do this project. The project's connections to us clearly describing the flowchart (circuit design). It's going to be when I added in the picture style circuit. Very urgent and very important. We would appreciate if you can help. Thank you.


    works awesome! could you send me the schematics and codes plz?


    Hi :) I want to see your project in 3D environment very much. I would very grateful, if you share the 3D-model, schematics and codes. Thank you in advance!


    Great work man, it would be a great help if you could send the schematics and codes.


    1 year ago


    I keep reading this instructable articles, I'd like to teach our students with ballbot making project.

    Could you send me materials (code and schematic ) plases.

    my email.:


    Congrats for the design. Looking forward to try it for my projects .ı see lot of man wants that but would be pleased if you can share me your schematic and source code

    Kind regards,


    Kind regards,