10DOF humanoid robot

For years i wanted to make a humanoid robot. I am presenting my first milestone here - robot can walk in straight line.

Similar projects worth following
I have done a 10 dof humanoid robot, powered by 32bit ARM processor, it has bluetooth interface, separate 16 channel 12 bit pwm board, 3000mAh battery. It has also two 6 dof orientation sensors (3 axis gyro + accelerometer) that will help with stabilisation of robot but they aren't yet fully implemented.

I have finally shoot a video of my robot, I hope you all like it. In future I plan to upload more details including plans for laser cutter, schematics, source code, etc.

All engineering has been done by me. I've done all mechanical design and construction, all electrical stuff and have written all the source code except some free libraries I used.

  • 1 × STM32F4DISCOVERY STM32F407 Semiconductors and Integrated Circuits / Misc. Semiconductors and Integrated Circuits
  • 1 × Bluetooth 3.3VDC Serial Commuication Module
  • 10 × Servo motor BMS-620MG
  • 1 × Turnigy 3000mAh 2S 40C Lipo
  • 2 × GY-521 MPU-6050 Module 3 Axis gyro + 3 Axis Accelerometer Module

View all 9 components

  • Copyright notice for libs used in my project

    Jure Tuta08/19/2014 at 16:39 0 comments

    I am author of mechanical and electrical design and author of majority of source code. 

    I used following libraries with corresponding licenses:

    - STM32F4xx HAL Drivers - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the some conditions are met.

    - Library for our Adafruit 16-channel PWM & Servo driver - Written by Limor Fried/Ladyada for Adafruit Industries. BSD license.

    - I2Cdev library collection - MPU6050 I2C device class, 6-axis MotionApps 2.0 implementation - code is placed under the MIT license, Copyright (c) 2012 Jeff Rowberg


  • Robot competed at RobotChallenge 2014 in Austria

    Jure Tuta08/13/2014 at 17:35 0 comments

    Robot competed at Robot Challenge 2014 in Vienna, Austria. Robot completed without implementation of stabilisation algorithms that use 6DOF orientation sensors. It competed under name JT#1.

    21 robots registered to competition, only 14 of them started on the day of competition. My robot got 7th place and was one of 3 robots that weren't bought as kits. 

    I am extremely satisfied with the results, because robot wasn't built for speed. Main goal was to mimic human walk. 

    Many people came to me on the day of competition and told me, that I should get special reward because it was only home made robot, that mimicked human walk.

    Because rules of this competition I had to add head and arms. First I didn't like the idea and wanted to take the extras off when competition was over, but now I became fond of the look of giant yellow head and I'm not gonna take it off. 

    Robot was also first robot from Slovenia which participated at this competition in its 10 year history.

  • I2C addressing with STM32CubeF4

    Jure Tuta08/13/2014 at 17:18 0 comments

    Due to rules that project must contain 4 logs I have to transfer a few logs from my blog to This one will be useful for all hackers trying to implement STM32Cube HAL software on their chips.

    Half year ago STM published new set of tools and software examples that implement HAL (wikipedia: Hardware abstraction layer) on the many of theirs µC. They are calling this set of tools STM32CubeF4. I2C addressing (not the 10bit, i am talking about 7bit) has only 7 bits because one bit of 8 bit addressing space is reserved for flag denoting if operation will be reading or writing. That one bit is LSB (Least significant bit). If you are into details, you can more here.


    Till now i worked with libraries that input a 7bit address and they automatically shift it for one bit to left. After that libs set LSB to the right value depending on the operation.

    STM32CubeF4’s way is you have to shift the 7 bit address yourself

    Code examples are on my blog:

  • Problems with I2C errors

    Jure Tuta08/13/2014 at 16:45 0 comments

    Main thing that doesn't allow me to implement two 6 DOF units (GY-521 MPU-6050 Module 3 Axis gyro + 3 Axis Accelerometer) into running code is unstable data transfer over I2C connection. When i connect modules to I2C bus for about 30s everything works and after that it stops. I don't have access to an oscilloscope, but as far as I could investigate it seems that error occurs on I2C clock line. This error never happens when there is only PWM chip on bus and no MPU-6050.

    My guess is that wires of I2C bus have to high capacity when connected to all 4 chips (STM, PWM, 2x MPU-6050). I2C is limited only by a maximum bus capacitance of 400 pF.

    In future I will try to put all 3 peripheral chips on separate I2C busses. I hope that will solve the problem.

View all 4 project logs

Enjoy this project?



Jure Tuta wrote 03/26/2015 at 07:46 point

Hi, unfortunately this year the project is more or less at the standstill because I have just too much work for my 1st year of PhD (and this robot is not my part of my PhD :S ), I expect more time in next year to work on the project. Arms are not my main goal for now, next goal is to use two 6-DOF (3-axis acc and gyro) and one 3-DOF (acc) sensor [which are already mounted and prepared for use] in a feedback control loop to achieve better control and stability of the robot at higher walking speeds. 

Like I wrote in the one of the posts, robot was built to mimic human, therefore I didn't cheat and put batteries in the foots (to lower center of mass [CoM]), I put it in the "chest" part, therefore it is as in human - has most mass up in the chests. I also tried to keep proportions "human-ish", although bigger (wider) feet would give me much more stability and allow higher walking speeds. 

Why am I writing this? -To answer your question about arms: With consideration of what I have written above, I am not planning to add arms for now, because robot would probably get just too unstable if I'd be adding more and more weight above its CoM.

Thanks for the question and compliments.  

Regards, Jure

  Are you sure? yes | no

Austin Marandos wrote 03/26/2015 at 01:35 point

Great work the humanoid looks and walks great. Are you thinking of including arms? possibly 3 or 4 DOF to keep things simple?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates