Quad Bot Puppy

Pretends to be a puppy
Quadruped_Puppy1.zip4.99 KB
Quadruped_Puppy_NiMh.zip5.03 KB

This is my second puppy robot and the first to use a QuadBot kit. The robot is quite simple, just a pan / tilt kit mounted on a QuadBot chassis with DAGU's new Magician robot controller.

Assembly instructions can now be found on Make Projects.

More detailed instructions are now avaiable on Instructables.

This is now a kit! The instruction manual can be downloaded from my product support site:
The kit comes with a battery holder for NiMh AA batteries and modified sample code to suit the different center of gravity.

The first video is my son Shi Sen playing with the robot and trying to get it to shake hands with him. The second video is with the latest code and Shi Sen is trying to get the robot to walk on it's back legs. Since the robot is controlled by your hand gestures this takes a bit of practise.

This robot can be built with 6x NiMh AA batteries. As the batteries are heavier the balance changes a bit when standing on it's hind legs. I have added a second version of the code that compensates for this.

This robot is now being produced as a kit, no soldering required.
Keep an eye out for it in online stores.

The code is a combination of the Mr. General IR tracking code and the Quad Bot sample code with some "puppy personality" thrown in to entertain my son.  I did put a small vibrator on the tail but the weight is too small making it hard to tell that he's wagging his tail.

The attached code will follow an object, sit when there is nothing to follow and shake hands and/or lie down depending on your hand gesture. If you hold your hand above it's head it will try to stand on it's back legs and follow you. This uses about 5K of the 8K available on the ATmega8 so there is still plenty of room for more personality code to be added.

The Arduino servo library can handle up to 12 servos on most Arduino boards but this comes at a cost of disabling PWM on pins 9 and 10 which are used by the magician controller for the dual "H" bridges.

As I wanted one motor output to drive the vibrator motor on the tail I cheated by configuring that PWM pin as a servo and then adjusting the min and max pulse settings in the attach.servo() command allowing me to go well beyond the normal range used by servos with the maximum being aproximately a 50% duty cycle. More than that will damage the small motor as it is running on 7.4V.

As my servos are rated at 6V and my LiPo battery has a nominal voltage of 7.4V I had to drop the power a bit. Although the onboard regulator can handle 1.5A I found that my 10 servos were drawing up to 3A or more in some cases.

The magician board has a jumper to allow the servos to be powered by the battery directly and there is already a 3A reverse polarity protection diode in series that drops the voltage by about 0.7V when under a reasonable load. I replace the jumper with a second 3A diode to effectively give me 6V when the battery voltage is 7.4V.

You can download the instruction manual for the Magician controller from my support site:

I had originally tried powering this project from AAA NiMh batteries. This will work if you have good quality batteries but my cheap NiMh AAA batteries were struggling to put out more than 2.5A. I have gotten up to 6A from good quality AAA NiMh batteries.

Fortunately I had a 7.4V LiPo battery pack from an old project that was about the same size and with more than twice the capacity. My advice for anyone wanting to use a lot of servos is to forget about alkaline batteries and use either high quality NiMh or LiPo batteries.

I have marked this project as complete although there will probably be a few software and hardware modifications in the near future.

If you want to know more about the QuadBot chassis then you can download the manual from my support site:


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I wonder how long those micro servos will last. Are all the servos still working so far? I made a quadbot before with these servos but had issues with gears breaking.

The original QuadBot kits used a servo with a coreless motor. They had problems with gears breaking.

The new kits use a much stronger servo very similar to the HXT900 servos. These new servos are great but very power hungry!

amazing!!!!  very very good job!!

Hi OB,great robot,it looks soo realistic. Very nice work,I like it . Thanks for sharing my friend :)

nice robot, I was just looking at the kit at robot shop a week ago

 Very nice design, the interaction between the boy and the machine is priceless. In fact, that itself prompted me to watch the video several times. The robot is nimble and lively! And the personality is perfect.

I really think maybe it is time for you to try and experiment with some body shapes-Foam,styro etc-very light and doesnt have to cover everything. Just something to form a "visual" personality. I would love to see it......And love to do it! I have been tinkering with my stuff a bit in that area.(besides my freakish humanoids) on some of my small critters.

Just a thought-I love your stuff.

G'day TheAndroidMan, glad you liked my puppy. The interaction was easier than you might think. The robot is simply trying to keep any object detected within it's view. The nimbleness comes from a combination of light weight and the new servos that DAGU now include in the kit. The gearboxes are very strong and the motors are quite powerful for their size. The downside is that these servos suck a lot of juice! I had the robot working on NiCd AAA batteries and it was slow and lifeless. The LiPo made a huge difference! Yes it would be nice to make a foam body for the little fellow but at this stage I do not have the time.

Great job.. I want one! XD

Most of the parts can be bought from online stores. The code is attached.

When I get time i will put detailed assembly instructions on MAKE Projects.

Your puppy is a lively one, is there a 'roll-over' routine too.