Getting Started with Balanbot-Remote Control

Remote control


  • Install the Android software(apk) into your Android phone.
  • Fully assembled Balanbot
  • Android phone(android version 4.0 or above)

Just download the apk into your Android phone and install it, you can find a icon named “Balanbot” in your application list of your phone as below.

Lay down the Balanbot, do not power off it, make sure the bluetooth dongle inserted in the USB hub and the bluetooth dongle should light up. Open the Balanbot App of your phone.

Note: The bluetooth should open before use the software, if not the software will request to open the Bluetooth then closed, just reopen it!

Click the bluetooth icon(the top right of the screen) and click to search the bluetooth devices, the bluetooth shoul find the device named “Balanbot*” as below.

choose it will popup the bluetooth pair window, what we need to do is input the paring code:”1234″  or “0000” (Balanbot v2.0)and click OK to confirm.

After connected to the Balanbot we can use didfferent ways to control it or view the pid params, IMU graphics and infomation of the Balanbot.

Getting Started with Balanbot-Setup the development environment

In this chapter we will set up the development environment of the Balanbot v2.0.

Note: Balanbot2 fully compatible with Balanduino 1.3. So you might want to use Balanduino’s firmware, yes it is possible now!




  • USB Cable
  • Balanbot

Setup Arduino dev environment.

Please use arduino 1.56 or above Otherwise will get a compile error.

Unpack the Source code file to your local disk. The file structure should same as follow.

Set arduino work path to your source folder.

Open File->Preferences, Sketchbook location, click OK and reopen your arduino ide.

Then connect USB cable to your balanbot, for windows, will popup new hardware installation.

Upack the driver to your local disk and locate the driver path to driver path of the new hardware installation. After install a new Serial port will appear, see your device management.

Next open the demo, Open File-> Sketchbook->Balanbot.

Before next step make sure your ide Tools->Board has Balanbot menu. If this not appear check your Sketchbook folder contains hardware folder.

Then select Tools->Revision Revision 1.3

And choose the newly installed Serial port, my is COM36.

OK, we can upload the demo code now. Click the upload icon to upload. When uploading the rx and tx led of balanbot near the USB socket.

We could see arduino ide says:”Done uploading.” when it’s done.

Open the serial monitor, also you will hear a “Beep”, indicate the initial was succeed.

Note: When you replace the main IC ATMega1284P with new one. You need do this step.

Type CR; and press Enter to restore default EEPROM values.

Next we need calibrate motors, before calibrate motors you need place balanbot’s wheel upward. Then type MC; and press Enter in Serial monitor.

Now will print the both motor encoder readings.

According the tips complete calibrate motors.

Now you got you balanbot ready to go.

Now pull out usb cable and plug in bluetooth dongle to balanbot USB host socket.


  • Everytime balanbot need calibrate it’s sensor. And the initial position is put the balanbot on the it’s side.
  • Balanbot initial success will make a “Beep”.
  • You should connect balanbot’s bluetooth before it’s lift.

Getting Started with Balanbot-A balancing robot compatible with Arduino

What is the Balanbot?

The Balanbot is a 100% open source balancing robot. It is Arduino compatible which means it is easy to upload new firmware to the board via a USB port in a user friendly environment.

Buy from Duinopeak!


The Balanbot is a 100% open source balancing robot. It is Arduino compatible which means it is easy to upload new firmware to the board via a USB port in a user friendly environment.

The robot balances using a combination of 3-axis accelerometer and a 3-axis gyroscope by the implementation of a Kalman filter to estimate the precise angle of the robot at all times. These angular informations are used in a PID-controller to estimate the speed of the wheels in order for the robot to stay upright. This allows the robot to balance steadily at all times even when hitting obstacles or getting pushed.

The Balanbot comes as kit for you to assemble in a matter of minutes. Check out the Assembly guide on the Wiki for further details. A video showing how to assemble the robot can be found in there as well.

The Balanbot can be controlled with Android phones.
It is possible to control the Balanbot using the Playstation 4 controller, all Playstation 3 controllers, the Nintendo Wiimote including the MotionPlus and Nunchuck extension and the Xbox 360 controller in the future.
Furthermore it is possible to control and monitor the robot using a custom made Android app and finally using your Windows, Mac or Linux based computer. The Android app is available at the download eara.



  • ATmega1284P
  • 128KB Flash
  • 16KB SRAM
  • 1x UART
  • 4x PWM outputs
  • 1x Interrupt
  • 5x Analog inputs
  • 1x I2C interface
  • MPU6050 6-axis sensor
  • 3-axis accelerometer
  • 3-axis gyroscope
  • FT230X USB Serial chip
  • VNH5180 motor drivers
  • Digital H-bridge
  • 8A continuous current
  • MAX3421E USB Host controller
  • Connect USB controller devices
  • Bluetooth USB dongle for wireless connection

Kit content

  • Fully assembled PCB – no soldering required
  • Two 12V DC motors
  • Two rubber wheels
  • Two CNC machined Aluminum hubs
  • LiPo Battery charger
  • Battery plug-leads
  • Three laser-cut plywood layers with pre-cut holes and slots for quick assambly
  • Four threaded steel rods
  • Miscellaneous screws, washers and nuts

You need to prepared:

  • 2200mAh(or higher) 11.1V 3-cell LiPo battery

The Balanbot features an ATmega1284P microcontroller from Atmel, running at 10MHz. This microcontroller contains 128KB of Flash, 16KB SRAM and 4KB EEPROM, which gives you plenty of room to add your own features and functions to the robot. Examples on extended features could be line-following sensor, ultrasonics sensor, GPS and more.
The main board contains the FT230X USB to Serial converter chip allowing the robot to be programmed using the USB port.

A more detailed overview of the Balanbot can be found on the Wiki.

Getting Started with Balanbot-Assembly

Install the bottom

First of all we need assembly the bottom of the Balanbot.

Prepare the following parts.

Bottom Check List of Balanbot
1 DC Motor 2pcs Different encoder cable
2 Aluminum motor holder 2pcs For fixing motor
3 Screw M3*12mm 8pcs For fixing motor holder
4 Anti slip M3 nut 8pcs For fixing motor holder
5 Screw M3*5mm 8pcs For fixing motor
6 Shaft coupling 2pcs Inner diameter 6MM
7 Screw M3*6mm 2pcs For fixing shaft coupling
8 Screw M4*6mm 2 pcs For fixing wheels
9 10mm Copper pillar 4pcs For fixing the controller
10 M3 nut 4pcs For fixing the controller
11 Screw M3*6mm 4pcs For fixing the controller
12 35MM Copper pillar 8pcs For supporting the body acrylic plate
13 Anti slip M3 nut 4pcs For fixing acrylic plate
14 Screw M3*6mm 4pcs For fixing acrylic plate

And you also need some tools, screwdriver and pliers. Everything is ready here we start.

1. The bottom layer.

1 DC Motor 2pcs Different encoder cable
2 Aluminum motor holder 2pcs For fixing motor
3 Screw M3*12mm 8pcs For fixing motor holder
4 Anti slip M3 nut 8pcs For fixing motor holder
5 Screw M3*5mm 8pcs For fixing motor

Refer to the below image to assemble.

2.Install the motors.

Before installing the motor, we recommend to check whether the motor can rotate smoothly, because it may cause the encoding disc displacement of the motor during transportation. If not adjust the encoding disc displacement of the motor will fixing it.




Install the Controller board.


Screw four nuts and plug the encoder cable strictly according to the image.

Important: the two motor’s encoder cable has different line order, so make sure your plug the right side of the controller board.





Full Assembly 


  • 3s lipo-bettery pack(not including in the kit, you need prepare yourself)
  • Balanbot kit


For user to quick test and enjoy the fun of the Robot, the Balanbot has almost completely assmebly before shipping, except the acrylic plates and wheels for shipping safe.

So what we need to do is just install those parts and is very simple.

Now follow the steps to Assembly the Balanbot.

For find the parts clearly, we can list all small parts like below.

First assembly the first(bottom) layer, use 4 screws to fix the 4 copper pillars, as below:

Then stack the second layer acrylic plate on the bottom layer, use another 4 copper pillars to fix the second layer as below:

OK, the top layer, before that we better fix the magic tape first. See below image.

Next put the 3s lipo-bettery pack into the magic tape.

Next step, stack the top layer on the second layer and use for nylon lock nuts to fix the top layer as below.



Last step, install the wheels for the Balanbot.

After install the wheels don’t forget to screw up the screws. Then plug the Balanbot power plug(male) into battery plug(famale).

Now the assembly has been done, the full assembly Balanbot should be like this.




Simple test

The Balanbot preprogrammed with software, everything was ready, we can now perform a quick test of our Balanbot. lay down the Balanbot on a flat surface, turn on the power switch. After power up, the Balanbot will calibrating the IMU, during this period should not moved the Balanbot in any form. You will hearing a beep if erveything is OK.

OK, we got the Balanbot “beep”, then put up the Balanbot vertical and then let go. The Balanbot should balancing well itself. If not, lay down the Balanbot and power off try again. If the robot still not balancing well, don’t worry, that just means the default PID params does not suit with the Balanbot, then we need adjust the PID.

Next we will use an Android phone to control it remotely.