The digital gyroscope is a very interesting component due its usage in modern systems such as smartphones or aircraft industries.

To participate on Lisbon Maker Faire 2014 we developed the Self Balancing Robot [SBR], which uses this amazing component, and helps to understand the principles behind the Segway vehicles.


Bill of Materials

  1. Arduino Nano V3.0 ATmega328P 5V Board
  2. MPU-6050 3 Axis Accelerometer Gyroscope Module
  3. DC Gear Motor With Wheel
  4. Battery Rhino 610mAh 2S 7.4v 20C Lipoly Pack
  5. Battery Charger HobbyKing™ E4 Balance Charger
  6. Motor Driver L293D – Quadruple Half-H Driver
  7. PCB 33×70 mm Single Side Copper + Silkscreen by: eLab
  8. Acrylic 100x90x4,74
  9. Screws/Bolts/Metals

Printed Circuit Board and Schematics

The printed circuit board was made in KiCad version 2013-07-07 BZR 4022 Stable (open source). Some components were custom made and some from specific libraries including  the 3D models. The next image shows the schematic.


On the next images is shown the Printed Circuit Board layout and its 3D model ready to print and start the fabrication. KiCad is a very flexible software allowing to import and use logos and 3D models of the components as we tested on this design.



The Kicad work was done and the next step was Printed Circuit Board fabrication. At eLab Hackerspace we achived the best results using the toner method and etching with muriatic acid and hydrogen peroxide. After completed PCB the next step was driling the holes for the components and its solder in place.


 With all the components placed on the Printed Circuit Board,  the SBR could be assembled, putting togheter the motors, battery, gyroscope, on a acrylic piece. After this it was time to write some code 🙂


Final Result

The SBR was ready to the Lisbon Maker Faire and the visitors feedback was positive. The robot standed on two wheels using the gyroscope’s inclination readings to position the mass center of the robot on the vertical.

img4.JPG img5.JPG


To get more details about the project and a full explanation of the components, you can read the full article on my blog 🙂

Categories: Projects

Hugo Santos

IT and Electronics Engineer | Maker


Simon · 09/10/2015 at 01:51

Thats one heck of a Bill of Material list. I think many robotics/engineering aficionados would love the opportunity to work with the same list. Looks like a great outcome. Thanks for sharing!

Hugo Santos · 09/10/2015 at 12:51

Hi Simon,

We had a huge fun during all the project, in special during the calibration of the 3 Axis Accelerometer + Gyroscope Module, watching the robot on a struggle to stand on two wheels, until the perfect adjustment was discovered 🙂

Thank you for the comment, best regards 🙂

Shashi Suman · 28/09/2016 at 00:56

Hey what was your motor’s RPM ?

Hugo Santos · 07/10/2016 at 19:38

Hi Shashi,

The DC Motor has 125 RPM. The gear box attached provides a reduction ratio of 48:1.

Best regards,

Chris · 15/01/2017 at 21:13


When we use your Arduino code, we have two .ino, one for i2c and one for the balancing robot, but do we need to include the i2c in the balancing robot code or i don’t know how to compile it?

Second question, if my gyro is not between the two wheels, but higher of 3cm can i ajuste the code to fit with my conception?

Thanks you in advance!


DINESH KUMAR GOUDA · 26/11/2017 at 21:32

Nice project.I would also like to make this one so can you share me code and circuit diagram plz.

Leave a Reply