From Balanduino Wiki
Revision as of 13:46, 29 March 2014 by Lauszus (Talk | contribs)

Jump to: navigation, search

Balanduino from the front

The Balanduino is an Arduino compatible Open Source balancing robot kit - easy to assemble, program, play with and expand!

Balanduino kit

The kit comes with everything you need to get started assembling your own balancing robot, including the custom-designed Arduino-compatible microcontroller board.

This board includes all the necessary electronics to keep the Balanduino balanced together with a great number of different control possibilities, such as using a PS3, Xbox or Wii controller or even your Android phone or PC.

The Balanduino kit also comes with the hardware frame making the robot rugged and stable. The frame consists of three layers of laser-cut 6mm plywood, all assembled with four 6mm threaded steel rods.

A middle layer has been added to greatly improve the stability of the Balanduino and ensure that it won't flex and become unstable.

At the bottom-side of the bottom layer there are two high-torque and high-speed 12V DC motors with individual rotary encoders to add a position-dependent stability to the Balanduino.

To keep the sensors as close to the rotational axis as possible, the main board has been placed at the top-side of the bottom layer. This reduces the vibration noise that would otherwise have been caused by high acceleration in change of direction (tilting). Furthermore, this minimizes the distance between the motors and the main board.

And finally, as the middle layer isn't presently used for anything but the increased stability, this can be used for your own creative additions. For instance you could add a GPS sensor or maybe a line-following sensor to make the Balanduino even more autonomous - the middle layer has enough space for a complete 830-point breadboard so you will have plenty of space for your own circuits. Another option would be to add a small video camera such as the GoPro.

Video demonstrations

Below you will see the video presentation originally used for our Kickstarter presentation:

And here is a short video showing how you can strap on a GoPro to the robot:



The onboard sensor (6-axis IMU) is used to keep the robot balanced automatically at all times.

The Balanduino will keep itself balanced right out of the box due to the highly optimized, tuned and preprogrammed PID loop used in the balancing-software controller-algorithm.

By combining accelerometer, gyroscope and rotary encoder data, the Balanduino is able to keep itself balanced even when pushed.


The Balanduino is compatible with the Arduino IDE, thanks to the onboard ATmega1284P microcontroller.

This means that you can upload new code and add your own features to the Balanduino in the well-known Arduino environment.

The ATmega1284P has a flash size of 128KB of which approximately 127KB are at your disposal. When the full Balanduino firmware is programmed into the main board, including support for the most popular game controllers, approximatly half of the flash is used, leaving around 64KB of flash left for you to expand.

However, it is relatively easy to modify the original Balanduino firmware to exclude unused controllers, thereby significantly reducing the code size.

USB Host capability - including Bluetooth controllers

We have recently spent quite some time on continuing the development of the USB Host controller library for the Arduino, adding support to many new periphirals.

By inserting the Bluetooth USB dongle that comes with the kit, you can control the Balanduino using our application for both Windows, Mac and Linux. Furthermore you can control the Balanduino with your Android phone by installing our application, which can be found in the Google Play Store.

With all of the above applications you are wirelessly able to change various settings, including the PID values and maximum speed, and see the IMU data.

Android application screenshots

Remote control

As already mentioned you can control the Balanduino using the most popular game controllers listed below:

PS4 Controller (Bluetooth dongle)

  • PS4 Dualshock controller

PS3 Controllers (Bluetooth dongle)

  • Normal PS3 Dualshock controller
  • PS3 Navigation controller
  • PS3 Move controller

Xbox 360 controllers (Xbox Wireless receiver)

Wii controllers (Bluetooth dongle)

  • Wiimote including support for the Motion Plus and Nunchuck extension
  • Wii U Pro controller

RC Transmitter

100% Open Source

All the materials, parts and source codes necessary to build the Balanduino are completely open source and are available for free at our Git repository and Balanduino website.

Here is a list of published materials, applications and source codes:

Main source code




Frame design


Android app


Android app on Google Play

Processing application


Dedicated Windows application


Kalman filter


USB Host Library


The USB Host Library is created in cooperation with Circuits@Home based in Colorado, USA.


Balanduino Main Board

The main board of the Balanduino kit consists of an Atmel 8-bit ATmega1284P AVR microcontroller running at 10MHz and with 128KB flash, 16KB RAM and 4KB EEProm. To enable the integration with the Arduino programming environment the board contains an FTDI USB to Serial converter chip, the FT230X. This chip can be used for Arduino programming as well as Serial debugging.

The onboard 6-axis IMU is an MPU-6050, which is connected to the microcontroller using the I2C bus. This digital IMU contains a 3-axis accelerometer and a 3-axis gyroscope, and when combined with a Kalman filter it gives you some very stable angle readings.

To enable the USB Host support for the Bluetooth controllers etc. the Maxim MAX3421E has been used. This chip is connected to the microcontroller with an SPI interface together with some control signals.

On each side of the main board there is a digital H-bridge motor controller IC, the VNH5180, capable of driving up to 8A continous current. Even though the stall-current of the supplied gearmotors is only 5A the VNH5180 gives you some extra room for security and expansion.

Both the power for the motors and the main board is supplied through the input screw terminal, where the supplied plug-leads that are connected to the battery are to be connected. An onboard polarity-protection circuitry protects the board against damage that would have been caused by connecting the battery in the reverse direction.

The board also contains a buzzer on a PWM pin and an onboard LED. The remaining I/O pins on the microcontroller have been broken out in two female pin headers for easy expandability.

These two female headers include 1x UART, 4x PWM outputs, 1x Interrupt and 5x Analog inputs. The pins used for I2C communication have been broken out as well.

Parts included in the kit

  • Fully assembled PCB - no soldering required
  • Two 12V DC motors
  • Two rubber wheels
  • Two CNC machined Aluminum hubs
  • 4200mAh 11.1V 3-cell LiPo battery
  • 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


All of our customers will get their kit shipped from the US by default.

TKJ Electronics has made an agreement with Circuits@Home, based in Colorado, so all kits and boards for customers in the USA will be shipped by them. However, they will only be responsible for the shipping as we will manufacture, program and test all of the boards before they leave our location in Denmark.

For customers outside of the USA we have two options:

  • Shipping from the USA
  • Shipping from Europe (our location in Denmark)

The USA shipping option will be selected by default, but if you live within the European Union it may be benificial to you to select the shipping option from Europe as you could save money on handling-fees on the Import.

This is due to every item being shipped from a European country to another will have to include an already paid VAT fee (25%), which is not included in the pledges.

So if you decide to get your kit or board shipped from Europe you would have to pay these extra 25% in VAT - but this will then ensure that you do not get any trouble with import duties etc.

For customers outside of the European Union you are free to decide which option you prefer. As default you will pay an extra shipping fee of $30 to get your kit shipped to you, but this is based on the default US shipping location. If you decide to pay the VAT and get your kit shipped from Denmark, you will not have to pay this extra fee.

We will send an email to everyone when the Kickstarter has ended and ask about your preferred shipping option.


While this project is getting funded we will be working on a new website for the project that is going to be located at: http://www.balanduino.net.

This new website will contain everything from project details, assembly guides, programming guides and, of course, all the open source materials such as the hardware design and all of the software, both for Arduino, Android, PC etc.

Furthermore a support forum and a Wiki will be created to help you get started. With the forum and Wiki we hope that a new Balanduino community will grow and allow Balanduino owners to share their ideas, projects and updates with the rest of the community.

Throughout the whole process you can keep yourself updated either here on Kickstarter, on our Facebook page, Twitter and, of course, our blog.

Risks and challenges Learn about accountability on Kickstarter

We are committed to get this kit mass-produced and on the market, and we believe that this can be done in 6 months if this Kickstarter becomes a success. Most of the hardware and software development has already been done and tested, even before this Kickstarter.

So the biggest challenge for us is to make this kit ready for a mass-production, especially finding the right suppliers and manufacturers. We have already found and selected most of our partners for the components and modules, such as motors and batteries. The next step is to decide where to get the boards manufactured and assembled.

Finally all of the boards will be tested in our test-rig, to confirm that all of the onboard periphirals such as the sensors, USB Host functionality, motor controllers and Arduino programming capability are working. Afterwards the board will be pre-programmed with the most recent version of our open source Balanduino firmware, including the tuned PID values for the robot.

During the whole process we will keep our potential customers informed of the challenges we might face and the actions we take accordingly.