Josh Gerdes

Arduino Quadruped Robot

arduino robot 3dprint

Over the past couple years it has been on my bucket list to build a robot. I built a few little Otto robots for my kids to assemble and tool around with in the past. They were fun but had pretty limited mobility.

What I was interested in was something that could move. So, over the years, I have started (and not finished) an array of robot designs. From spider-like hexapods and quadrupeds to even dabbling with strandbeests. Almost always the problem was power. If you want a super articulate robot, you need a lot of servos. And servos LOVE sucking up power.

So I randomly stumbled upon yet another quadruped robot design by Sebastian Coddington called the Gorillabot and thought I’d give it one more go.

The printing and assembly process went very smoothly. Sebastian did a great job of thoughtfully making the models easy to print and assemble. After I had everything wired up I came to the power problem again. Luckily, from a previous failed project attempt, I had purchased a pretty powerful 5V power supply. With this power supply I was at least able give the robot the juice it needed to function. So it would run, just wired.

Next, I decided that the code needed a bit of love. So I rewrote the code to be (IMHO) cleaner and more readable. I also removed the Magnetometer (digital compass) dependency and swapped out the RF Transceiver for a Bluetooth module. So now I could control the robot just with my phone.

Lastly, I finally found a solution to my power problem. As Sebastatian suggested, I used some 18650 batteries along with a slick battery shield I found that also doubles as a charger. With the power solution the robot can run untethered.

For now, I have the boards attached to the frame with rubber bands. In the future, I plan to model and print housing for the all 3 boards that can easily be attached to the robot chassis. I will update the project when those are completed.

In addition, I created a wiring diagram and full list of materials needed (with purchasable links). So in the off chance that someone else wants to build this fun project they will have an even easier time doing it.



Robot Robot Top View Robot Side View

Source Code

All files and code can be found at:

Wiring Diagram

Fritzing diagram sketch

3D Models

All new models were created in Tinkercad and exported in STL format.

Materials List

Arduino Nano V3.01
Nano I/O Shield v3.0 (with 5v toggle switch)1
Ultrasonic Module HC-SR04 Distance Sensor1
HM-10 Bluetooth Module1
SG90 9G Micro Servos8
Breadboard Jumper Wires8
18650 Battery Shield1
18650 Batteries2
USB to DC 5.5 x 2.1mm 5V cable1

Mobile App Configurations

I chose to drive the robot with the ArduinoBlue mobile app and library. The joystick is preconfigured (for steering and throttle) but you will need to setup buttons initially to drive the remaining functionality. The following list of functions are available to setup as buttons within the app:

1AutonomousToggle on/off autonomous mode
2StandAll legs in an up position
3LayAll legs in a down position
4SitBack legs in down in a sitting position
5CrouchFront legs in down in a crouching position
6TiltTilting each leg in a clockwise rotation
7StrutStrut walk forward for a few paces


Software & Other Resources