Humanoid Robot 3D Printable


Thanks Carl. At some point today I will take another look at this replacement Arbotix Pro. But based on all my tests with the PC and Raspberry Pi it seems it can’t connect to the Servo Motors. This was an issue in the past with the Arbotix Pro, if I remember correctly it had something to do with the 5V Regulators on the Arbotix Pro and was not user serviceable.

It was still rather nice of Trossen to sent it Free of Charge even though that had no obligation to do so. I am certain mine was Out of Warranty, not to mention they stopped making them in 2016.

I am in hopes I missed something. If not, then I need to figure the best method to getting a Bioloid working so I can create custom movements and get it walking and posing. I was reading up on I2C and it seems powerful, I just don’t recall it used for this type of robot. But I am new in this area.


I use I2C a lot on my robots. The hexapod I am building is the first one I have tried it on for inter-board communications and it seems to be working well.

Generally, I hook up a lot of sensors and displays with it. Everything from ultrasonic range finders, displays, thermal arrays (8 and 64 segment), pressure and temperature sensors, light sensors, even colour sensors. For me, the big advantage is using just 2 IO pins for loads of sensors and devices, in theory over 1000 slave sensors on a single bus with every slave individually addressable! Using so few IO lines is great when you are working with some of the smaller devices.

I got into it when I was first playing with the Bioloid kits. All the sensors they had were passive and a guy in the US put together a small board that would hook up to the 3 wire bus the Dynamixel servos connect to. We ended up with a small prototype board that would allow I2C devices to be hooked up to the 3 wire TTL bus and you could then query the I2C sensors via the bus.

As an aside, when Aldebaran robotics designed their Nao humanoid robot, I gather they used a modified I2C bus for some of their sensor and board comms.

Anyway, enough of me singing the praises of I2C, it will be interesting to see how you fair if you decide to go that route.


I will likely go the I2C route, but also wanted to check out ROS. I have always wanted to work with it, I just never had a need or desire to do so since most of the projects I did or played with already had a working code base. There was no reason to modify or change it based on anything I was attempting to do.

I am also considering looking at the EZ-Robot Controller for this (EZ-B V4/2) which can do most of what I want, I just don’t know if it is capable of interacting with the Dynamixels, a quick guess says no, but I haven’t checked into it yet.


Here we have the lower half of the robot with the first of the new parts installed. This covers the hip servo motors and gives a good clean look. I also zip tied the wires some to keep it clean. I hope to incorporate some sort of wire organization into the robot. Right now the goal is to get the basic parts printed and installed so I can have a clean look that less resembles the HR-OS1. The goal wasn’t to copy the HR-OS1 but to use it as my base to create my version of a BIOLOID. More parts printing.

Due to the Arbotix Pro issue that part may or may not need to be modified to fit some other Robot Controller board. And the Raspberry Pi Mount could also change if I need to move to an Arduino or some other board. For now I am printing the parts as designed so that I can get the robot fully assembled and ready for testing. Parts will change once I make up my mind on the direction I will head.

ROS - The Robot Operating System for Bioloids

Here we have the shoulder mount which is also where the neck and head mount for the robot. You can see everything from the front and top views is enclosed giving the robot a clean look.

Here we have a side view where you can see it’s open a good amount. This serves two purposes. The first is to allow the heat to escape as the fan is exhausting up into this chamber. And secondly it allows me to get at the wiring should I need to. But it also allows me to get a ball end 1.5 mm allen so that I can install and tighten the screws that hold the servos down. Ideally there would be 8 screws holding the insides. For ease of assembly I have only used 4 on the inside and 8 on the outside. This should be enough. If I find it is not then I will add the other 4 screws. The nuts and holes are already in place. You can also see that the wiring was routed with a 3D Printed Wire Clamp as well as zip tied. This gives a clean look and helps to prevent any pinching during movement.

Here we have the back view. Like the front it is all enclosed. I have a rounded slot with the wiring passing through. The rounded slot also serves as two purposes, it allows heat to escape like the sides, but it also allows the cable to move freely as the robots head moves side to side.

Here we have the bottom plate which is the cover to the Raspberry Pi mount. This also holds the fan in place. You can also see that there are some slots that allow the wiring to pass through for the shoulder servos as well as the head servos. This helps to keep the wiring nice and clean from a front and side view. Much of it will also be hidden from the rear of the robot.

All of these gray parts are printed with Makerbot Tough PLA. It has characteristics similar to ABS. This is a Makerbot Brand PLA that requires a special extruder and slicing.


He we have the Arbotix-Pro Mount installed, the Arbotix Pro is also installed so that I can get things wired. As you can see it is clean and neat. Minimal wiring showing from the front. In the back we have the switch and battery harness, that will be cut down and shortened once I have the robot running.


So now that I have the whole lower half of the robot wired I am able to give it a test. Unfortunately, as I seen last night the software sees the Arbotix Pro and can initiate the RME (Robot Motion Editor) and I can play a sequence, I tried sequence 002 (play 002) which is “Init Slow” which will cause the robot to stand. The sequence plays but the robot does not stand.

Now if I open the DXL Monitor it will show which servos are present and their programmed ID. At a minimum there would be at least 1 ID as ALL Dynamixel servers are programmed to ID 1. I had previously programmed each of these and labeled them all right after doing so. So any AX-12A that I have will contain either a label with a number 1-20 or no label. No label means they are still factory settings. And when I open the DXL Monitor all servo connections fail. There is no load on any of them yet and I have a 12 Volt 10 Amp Power Supply connected so I know they are getting plenty of power.

So it looks as though I have to find another method to power this guy. So now its time to start searching on the method to get started. But first I may want to modify my Arbotix Pro Mount (create a second mount) so that I can Mount one of my Arbotix M controllers as that is likely how I will interface them to the Raspberry Pi, Arduino or some other single board device.


I have the mount modeled and ready to print. I will print it tomorrow. I also have the Arbotix-M figured out, I now know how to connect it to the FTDI cable to set Servo ID’s and found out that it is basically an Arduino device as it can run Arduino Sketches direct. Tomorrow I hope to experiment with how to control servos. I modeled it to accept a 3 Pin Extension Board so that I can add more connections if needed.


He we have the new Arbotix-M mount wit an Expansion Board installed. This will allow me to have up to 7 inputs so that I can try to keep the wiring somewhat organized. I likely only need 5, one for each of the 4 limbs and 1 for the head. I will daisy chain the motors in each limb so only need one cable at the controller for each limb.

Here is another image of the Raspberry Pi powered up from my Power Supply. You can also see some of my testing equipment.


Sorry for the delay in updates here, I had to take a break from all the projects over the last couple days. I had an accident where I closed my serrated pocket knife on my finger. It cut right through half my finger nail and thankfully didn’t get to far into the finger as I was able to stop it from closing before doing anymore damage. I decided to take a little break to give the finger a rest.

My own fault, butt the good news is that the damage is mostly the fingernail, I hope to do more on this today. But I am still in the research mode on how to move forward with programming this Bioloid to move.


Dang, that’s some crazy stuff!! Hydrogen Peroxide and mend quickly!!!


Due to my nature I used superglue and bandaids. LOL.

Of course I washed it first.


Well superglue was developed as a field suture originally so not a bad idea.


Correct, not many people know that. I love seeing the surprised look when I tell people that. About 6-7 years ago I managed to slice my hand real bad with a utility knife while cutting a raft off of a 3D printed part from my older Makerbot 2 printer.

I needed several stitches for this cut, my kitchen floor and sink was covered in blood. My girlfriend went into a panic over it and I was like lets rinse it off and cover it up. In short it refused to stop bleeding hense the need for stitches. I drove to the hospital and was told I had to wait, after waiting two hours with no help I drove home cleaned the cut out myself. Squeezed it together and covered it in superglue. Then I wrapped it with electrical tape and a gauze pad large enough to cover the wound.

The next day I was careful with my hand, then the following day friends convinced me to goto the hospital to have it looked at. I did so, this time I was able to see a Doctor within 15 minutes of arriving. The doctor asked why I was there and I explained the issue from 2 days ago and what I did since I couldn’t get seen sooner. He said he would have to look at it and likely clean it out. He removed the tape and gauze pad and looked at the glue, he asked who did this. I repeated that I did. He said that he couldn’t have done it better with stitches and based on what he could see he didn’t want to remove the glue and reopen the wound. I said fine with me. I went home and never had an issue.

I always have lots of superglue around for times like that and for the hobby.