Finally, 96Boards is doing Robotics with Self Balancing Bot! Yes, you heard it right :-) This is the introductory blog for Self Balancing Bot using 96Boards CE. Like our previous project Home Surveillance, this project is also organized in series and each part will accompany a blog and a demonstrating video. Entire project has been framed in such a way it suits readers of very little exposure to Robotics as well as Pro’s.

Self Balancing Bot

A Self Balancing Bot also called as Segway is a semi-autonomous (autonomous sometimes) Bot capable of balancing itself on the ground. It works on the basis of Balancing Pendulum principle. Bot balances itself steadily by moving back and forth to counteract the fall. As per the Balancing Pendulum concept, Bot needs to be designed in such a way that the centre of gravity should be high in order to get large moment of inertia. Then only Bot will fall at a slow pace allowing us to control the fall by moving back and forth.

If we dive deep into the control system of this Bot, we can easily find the use of one of the most commonly used feedback controller which is PID Controller. The heart of this Self Balancing Bot is the IMU (Inertial Measurement Unit), which is used to determine the angle of Bot. IMU in combination with PID controller keeps the Bot steady by detecting the fall and moving the wheels to counteract it.

Alright, we can now look into the BoM for this project.

Bill of Materials (BoM)

BoM has been prepared in such a way that it takes very little time to build the Hardware. But if you really want to get your hands dirty by doing carpentric work, you can always build the chasis on your own. For the sake of this project, I’ve decided to go with a ready made chasis available online.

The above BoM makes it into almost any Robotics projects. Only difference here would be the use of two separate batteries for motor and CE board.

Project Roadmap

As said earlier, this project has been divided into series of parts. At the end doing each part, I’ll post a blog as well as a demonstration video.

  • Part - 1: Measuring tilt using IMU
    • In this part, IMU will be used to measure the tilt of Bot. A simple filter will be employed in filtering out the noise from the Accel and Gyro data.
  • Part - 2: Self Balancing Bot - Rev 1
    • This part focusses on providing the Revision 1 of Self Balancing Bot using 96Boards. This involved using the Complementary filter for sensor fusion and PID controller for stabilizing the bot.
  • Part - 3: Establishing Bluetooth communication to CE board
    • This part will explain setting up communication link between host PC and CE board using Bluetooth. This will also include sample demo of sending commands over Bluetooth to CE board for controlling the peripherals.
  • Part - 4: Self Balancing Bot - Rev 2
    • This part will provide the Revision 2 of the Self Balancing Bot which uses onchip DMP in MPU6050 for sensor fusion. This will improve the stability of bot drastically.


So, that’s it about the Self Balancing Bot introduction. I am really excited to see this project running on 96Boards :D. Keep your fingers crossed for the first part of this project, where we’ll see how to measure the tilt of the Bot using 6 DoF IMU. You can find the entire project on our 96Boards 96Boards projects repository.