Building a robot: Dagu Magician Chassis & Arduino

I’ve been reading quite a lot about Arduino & open source hardware recently and managed to build my first robot! Since I learned quite a bit in the process I wanted to share the experience.

This robot is based on the Magician Chassis from Dagu using an Arduino controller & Monster Moto Shield. I order the kit from Australian Robotics who have had really good service and delivery times.

Robot parts

I approached the building in a few stages;

  1. Assemble the chassis
  2. Program the Ultrasonic Range Finder
  3. Program the Monster Moto Shield
  4. Combine the above three steps!

Assemble the chassis

Assembling the chassis was quite simple. Most of the pieces simply screw together although I had a bit of fun trying to get the motor mounts to snap in place. They were a bit tight but managed to fit so if you experience the same then you should get there eventually.


Programming the Ultrasonic Range Finder

This part was fun and my first experience doing something more interesting with an Arduino beyond blinking a LED. I used a breadboard and experimented getting the range finder working in isolation. This is generally a good way to approach building anything, as once the range finder was working I knew that code was fine and could go onto the next step.

Before moving on, I made one simple mod to the basic range finder sample, and that was to add a feedback LED so I could see when the robot detected something in front of it. Not needed, but good for debugging.

In the picture below you may notice an Ethernet Shield, this is not needed and was simply part of my test environment.


Assemble & Program the Motor Shield

This is the part of the project was the most challenging. I made a few mistakes but got there in the end.

First of all I could have probably gotten away with just using the cheaper Ardumoto – Motor Driver Shield rather than the Monster Moto Shield but after watching the demo video on the Sparkfun site and viewing some images, it appeared that that was the recommended controller and being new, I wanted to make sure things worked.

The blue screw terminals shown on the board below are not supplied so you’ll need to purchase and solder these on as well as the risers (not shown below) so it mounts on the Arduino board. If you are new to soldering (or a bit rusty as I was) you may want to practice on something else before burning out a $80 board. For this I used a different cheap Arduino shield to practice on.

My last hurdle was powering up the motors. I made the mistake of thinking that the motors would be powered via the base Arduino power source and spent a few hours scratching my head trying to work out why the motors wouldn’t start even though the board had lit up. I emailed SparkFun tech support and they quickly set me straight (thanks Michelle!) and advised that I’d need an additional power supply even though one was not shown in the photos. I connected a second power supply and voila! We have movement!

Putting it all together.

All that was left now was to combine the 3 stages above. Merging Arduino code, putting the sensors on the robot chassis and start testing it out. This part was smooth sailing and after a couple of trial runs and tweaks to the code, I’m quite happy with the results.



Here is a video of the completed robot

If you are interested in building something similar, here is the final Arduino code I used


Now comes the hard part.. what to build next? Stay tuned…

Written by:


  1. dave
    March 29, 2012

    do you have the code for this robot? just need to get started with the monster moto coding 🙂


    • April 15, 2012

      Hi Dave
      The code is posted at the bottom of the article as a zip.
      Send pics/video of your robot when done!

  2. Nathan
    April 15, 2012

    I plan on building something like this, but I’m confused as to what the top battery pack connects to. I’m trying to look at your pictures, but it’s hard to tell.

    • April 15, 2012

      The top battery pack powers the motors via the Monster Moto Sheild. Using this shield the Arduino power supply is not drained by the motors, but the flip side is you need two sets of batteries..

  3. Ewan
    December 11, 2012

    Hi Mark, great looking project. I was wondering how well the caster setup operates on carpet or would I be better off with the 4WD version of the Dagu chassis?

    • December 12, 2012

      Hi Ewan. It “works” but not amazing well. I’ve not looked at the 4WD version but would assume it would be better. Let me know how you go!

  4. Mc
    July 31, 2013

    Hello sir, nice robot! I’m planning to build this for fun, But I’m a total beginner, can you post the schematics? I mean the whole wiring done in this project its connections. Thanks

  5. December 6, 2014

    Hi Mark,
    I think the robot should be going the other way around.
    Two big wheels should be in front, and one small ball should be dragged in the back. This way would make it able to go through bigger obstacles.

    • fidel
      April 9, 2015

      One question; i have bought the same chassis. what i dont get, how do you do,that the robot car can turn left/ right? The two weels(behind) is to go forward or back(its has 2 motors). the front wheel doesnt have a motor, so how do you do to turn left/right? do yo use an extra motor in the front?

      • April 9, 2015

        Its quite easy actually, just spin the left and right wheels in different directions to turn.

Comments are closed.