MiniEric Robot

I have made a smaller version of my big butler robot still in the works and used bits of code from here and there to make it do what I need it to do. It's a work in progress, so far I've been able to finish the IR remote control code to be able to control the robot and program and store new moves in the EEPROM for latter playback. A couple demo videos you can see here:

The robot uses a Roboduino board and all of the pins are used, some have even 2 functions. It has 10 servos, one Ping sensor, one Sharp IR sensor, touch sensors, battery sensor, serial LCD using software serial. Pretty complex. I want to make the drive servos inteligent, that means integrating a tiny45 on an I2C bus, a small h-bridge and a quad encoder inside each servo instead of the pot and electronics. That will free up a timer and 2 digital pins and will use 2 analog pins, but will add more room for development, like I2C compass, I2C sharp sensors, I2C EEPROM and so on. Perhaps upgrade to MEGA 328 will be needed, but I'm waiting to max out the flash in the MEGA168 first.

Here's a picture:

And of course, more info on my blog:

Very nice!

How about some code?


How bout some code?


what is and where do you get a battery sensor =P

what is and where do you get a battery sensor =P

A battery sensor is just a voltage divider, that is 2 resistors in series connected between GND and the battery voltage and the middle connected to the analog input pin of the microcontroller. Why is needed? Because the battery voltage is greater than 5V that is the maximum voltage an analog input pin can take. Also is better if you adjust the values of the resistors so the monitored voltage range is better spread over the input range (0-5V).

I didn't had a chance to work on the battery sensor yet. Lots of things got in the way so the work to the robot is postponed for now. You can see the code for IR remote controll on my blog, because it is pretty long and can't post it directly here unless I make a zip file.

Thanks for the interest and the comments!

i was up 4 in the morning looking at this, im homeschooled, so cant beat that xD

This the most unique robot I've seen posted so far. I love it! The possibilities that come to mind on where a project like this could go are endless. For example, if you were to create macros - sets of moves that are addressed as a single unit - then you could trigger those from sensor input (which I think you're already doing to some degree). But you could also string them together to make a 'behavior', such as retrieving an object from across the room.

Very cool! I especially like the way the arms and shoulders move separately to pick up objects. And nice construction too.

Thank you!

This robot was built to resemble a bigger butler robot that I intend to build and to be a less expensive testing platform for all the features I want the big robot to have. That's why the arms are built this way. Of course, the big bot will have more servos per arm and it will not need to use both arms to grab an object, but the trigger events and basic moves will be the same.

Before I go to more advanced behaviours, I need to have all the hard core moves programmed, as well as sensor functions, scanning, mapping and so on. But first of all, I need to replace the drive servos, they are way too noisy, it gives me a head ache if I let it roam the room! I need a couple motors with encoders that are running silently and won't cost twice as much as the entire robot. Any sugestions?

Unfortunately, "quiet" and "expensive" are proportional with gear head motors. I have a couple gear head motors I pulled out of an old tape backup library. They are really nice ones and probably were very expensive. But they still make a bit of noise due to all the gears in them. R/C servos will be the noisiest because they are pretty cheap and they're all plastic. You can get servos with metal gears that might be quieter.

On the big robot, you will have to use something more robust than R/C servos, so you may find a better selection. Servos can be had that are all metal and drive hundreds of lbs/kgs. But they get expensive pretty quick in that range.

Check this out. No pricing info, but very nice little servo with 67kg/cm torque!

Until I get to rebuild my big robot (I was using the ER1 kit, now I want to change that) I need some small 6V motors with encoders, motors that will work quieter than the servos. I was thinking to build encoders inside the servos, but they are too noisy and not fast enough. That is my focus right now. I've asked many people and the regular 12V geared motors with encoders you can find in almost any robotic store are still too noisy. I got some surplus motors that are perfect noise wise, but too slow even at 12V. I need something in the 100-200 RPM range, I'll use PWM to adjust the speed accordingly, but better have too much speed than not enough. So, with this info in mind can you recommend something?


I'm not real up to date on servos and motors in general. But I have been interested lately in axial flux devices. They are good for high-torque, light weight and powerful applications. If you're interested in leading-edge technology, axial flux motors are the way to go. You may not need any gears with an axial flux motor. They could drive the robot's joints directly.

Here's one link I found through a Google search for 'axial flux motor':

Something like this would require you to rethink your motor driver logic. I think it would behave more like a stepper motor than a servo system.

Reminds me of ROB