Picture of 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

Picture of 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.
1-40 of 78Next »
rajatnegi11 days ago
I wants to make it for college project. Please can you send me parts list, electronic connection and code for it. My email address is rajatnegi108@gmail.com.
sashi1222 months ago

im currently building this using arduino mega 2560. can i get the code for this

Makerworks1 year ago
Are you going to make this robot open. The design and the code. I am very interested in this robot and want to build one by myself. If you can offer more information about this, it may be more helpful for me.
Thank you so much for your sharing.
Ufactory (author)  Makerworks1 year ago
Hi Makerworks,

We will make this project open source soon and also plan to make this robot as an open platform.
ttolley Ufactory2 months ago

Is this still going to be made open?

This! Please make it open. There is so much I could learn from an open platform like this. I have already sweaty hand :D
Ufactory (author)  Indyaner1 year ago
We are planning to make this platform on Kickstarter and we need the help of more people to make this come true.
sashi1223 months ago

i would like to build this pls can i have the code pls???? my email is sashi_122@hotmail.com

I would love to build this robot.
Could i have the code for it please? is this open source?
Thanks and great work, its a very beautiful robot.
simon srosefx@gmail.com

can you share me about code for it? binhhau@gmail.com

Hello Ufactory,
could you send the code or algorithm of your project to me? My email is ldmvn@yahoo.com.
LaurenPan1 year ago
Wow...Really cool. Would you like to share the balancing algorithm code running in your stm32 processor later? Is it possible to use an Arduino processor to control the whole system?
OngT LaurenPan4 months ago

Hi, I currently working on a ball balancing robot using Arduino MEGA 2560, can you please send me the Arduino source code to me? thianyeek@gmail.com

hey this is nice. can u send me the source code to sashi_122@hotmail.com

can u send me the source code of balancing the robot... using arduino...

Ufactory (author)  LaurenPan1 year ago
Yes, you can send me an email for this code at: ufactory.info@gmail.com

We are trying to use Arduino as the controller recently.
Sounds great. Even I think if you're trying to use the Maple processor, which is also using STM32F103 as a core. And it got an arduino style IDE. It will be awesome to see that also. ☺

hello.. could u send me the source code for this robot? my email dilaeryza@gmail.com thank you

Ufactory (author)  LaurenPan1 year ago
Hi Lauren,

I have sent your the source code of this robot. Hope for further communication.

Best Regards,
UFactory Team
agrady19955 months ago

I want an Omni Ball Butler. I want tracking (maybe if I wore a clearly visible blue belt) and Voice commands to follow.. I'm JUST starting, so it'll be a looongg time. But I came across a Thesis someone did, and there is wonderfully dtailed code for an omni ball, using Arduino. The link is here: http://control.lth.se/Publication/5897.html

dlindstrom8 months ago

Star Wars must have seen this build...


Excellent work, I hope to find more details.

RobertR79 months ago

Would these wheels be any good to use if not can you send me a link to the ones you got? http://www.rapidonline.com/design-technology/vex-i...

Also by any chance could you show the Electric modules?

RobertR79 months ago

What size ball did you use?

I would like to know also the code if you could send it to me


Hello. Nice work! Would you share the code?

세련이9 months ago

hi, im south korea student. and my team project is in progress. but we are stuck.. our robot are not standing..... so i want to see your source code . can i receive your sourc code? if possible plz send your source code to here [[ ryeon1009@gmail.com ]]

dila.ery9 months ago

hello.. i also make this project for my final year project..could you please share the code for this project? I also use arduino mega as the controller and the sensor MPU6050. my email dilaeryza@gmail.com thank you for your help :)

dila.ery dila.ery9 months ago

btw your project is really awesome ;)

leadzeplin10 months ago

The University Of Zurich made a similar robot to yours

DhatchanaM11 months ago

hiii... i want to do this project. can anyone help me with this... just started with circuit building but something i miss in this project.

MykelM1 year ago

Wow I would really like to make this thing and even possibly add to it? Is it possible to see the code? And learn what electronics you had used?

ism_syed1 year ago

only http://www.simplelabs.co.in/content/triple-axis-accelerometer-gyro-breakout-mpu-6050 may be sufficient ??

ism_syed1 year ago

great work i want to make one please let me know the code on arduino platform n which gyro sensor and accelerometer should be preferd ?

thw7771 year ago
I have a question here, why is brushed motor is used instead of brushless DC motor, stepper motor or servo?
Ufactory (author)  thw7771 year ago
Hi thw777,

Because I just have the brushed motors at hand at that time, so I used them. Now we are trying to use the stepper motors to instead the brushed motors.

Hi, may I request for the source code for this robot?

wbarrows11 year ago
I am very glad to have found this article. Ever since I saw this IEEE video on YouTube ( http://www.youtube.com/watch?v=bI06lujiD7E ) I have wanted to build a mobility device ( a "ball-chair"? ) based on this idea. The big attraction to me is the fact that the robot is always level. I notice that the Japanese robot is much steadier than yours. What factors might account for the difference?
Ufactory (author)  wbarrows11 year ago
It's according to the wheels and motors what we use is cheap one and not good enough. If you have enough money to buy high quality wheels and motors. The robot will be stable enough and can move smooth.
eeyoba1 year ago
it is nice project and interesting.
is it open source ?
Ufactory (author)  eeyoba1 year ago
Yes, we will make it open source.
Great project! This is better than my Master's Degree project! I'm jealous! :D

Congratulations! x)
1-40 of 78Next »