Ez Arduino 12 DOF Quadruped Robot - Spidey 3D Printing Ocean.

Ez Arduino 12 DOF Quadruped Robot - Spidey
Post Date 2019-06-08 00:15:38

Views 8,997
Favorite 0
Download 27
3D Print 0


This is an inexpensive 3D printed 12 DOF quadruped robot using Arduino kind control board. It has two playing modes. One is autonomous pilot mode which the robot walks and performs actions randomly. This is the default. The other is control mode where the robot is controlled by iPhone or Android phone via BLE technology. The assembly videos at below should guide everyone to make one easily. They are also available in Instructables.

It is based on our another quadruped robot design thing:2872978. We also have a design of hexapod robot thing:3650641. Perhaps, you will be interested to make them too.

Check here if you want to use Infrared remote control to control the robot instead of using BlueTooth BLE module and Apps.

Video Demos:



The components can be found in ebay, amazon, aliexpress, DX and etc online store.

  • a HuaDuino board, it is Arduino Nano compatible with enhanced features. It integrates everything on a single PCB. It's a lot easier for people to make a bot with it. Embedded battery charging circuit, battery charging is more convenient. It can be found on Amazon and ebay .

  • a single 3.7V 18650 lithium ion battery or battery pack with XH2.54 connector, if you want longer running time getting a pack with two 18650 in parallel. For this robot, you may like to use our design 18650 battery holder. However, it is also fine to use 3.7V 10440 lithium ion and 3.7V lithium polymer battery dimension not bigger than W35mm, L70mm & T60mm.

  • 12 x Tower Pro SG90 or compatible 9g servos.

  • a female-female dupoint wire or anything you can figure out for connecting two pins

  • some m2x6 tapping screws

  • a BT-05 CC2540 Bluetooth LE module - this is optional if you don't need App control. In fact, there are many BLE modules named differently, but they are built with CC254x chip. Examples such as HM-10 and CC41-A are the typical you can find in the market. Since the firmware is different, the AT command set may vary too. You may use this code to identify them. To work with the robot code and the apps, baud rate is required to set to 115200; service UUID must set to 0xDFB0 and characteristic UUID must set to 0xDFB1 using the AT commands. Below is the code intended to do that automatically but it may not work if you have different one.. The reference of the AT command set to configure BT-05 BLE can be downloaded here. You don't need this module if you like to make this gamepad to control and play Spidey.

The following stand alone Arduino program issues AT commands setting BT-05 BLE module service UUID, characteristic UUID and baud rate, assuming the BLE default baud rate is 9600. For running below code in HuaDuino with the module onto it, the S1 switch must be set to the BT position.

void setup() {
Serial.begin(9600); //change to fit your ble initial baud_rate, usually is 9600
"); // set service UUID
"); // set characteristic UUID
"); // set baud rate to 115200
void loop() {}

The steps you should do of uploading the Arduino sketch to HuaDuino for BLE control are as following

1) insert the BLE module, switch S1 to USB side, turn on huaduino,

2) uploading the above ble module setup program

3) turn off huaduino, switch S1 to BT side

4) turn on huaduino, let the ble module setup program run in few seconds.

5) switch S1 to USB side

6) uploading the robot code by open "firmware.ino"

7) switch S1 back to BT side, the robot now can be controlled by BLE

for HuaDuino, in Arduino IDE software:

  • the board selection should be "Arduino Nano", processor "ATmega328" for AVR Boards support version 1.6.20 or older.

  • the board selection should be "Arduino Nano", processor "ATmega328 (Old Bootloader)" for AVR Boards support version 1.6.21 or newer.

Assembly Steps:

Installation of Servos and the Control Board

Leg assembling

Connection to digital pins of HuaDuino are as followings: D2 to front right femur servo,D3 to front right tibia servo, D4 to front right coxa servo; D5 to back right femur servo,D6 to back right tibia servo, D7 to back right coxa servo; D8 to front left femur servo,D9 to front left tibia servo, D10 to front left coxa servo; D11 to back left femur servo,D12 to back left tibia servo, D13 to back left coxa servo;

Using a female-female dupoint wire between A5 and 3.3V pin, the robot servos will be set to default angle and in stance position. This is the status for installing servos and having servo arm capping on the correct angle.

while the female-female dupoint wire connected between A5 and 3.3V pin, puts the servo arms to the servo shaft

insert the CC2540 Bluetooth BLE module to the board's Bluetooth connector, and slide the S1 switch to the BT side, finally closes the robot with the top cover and eyes.

Plays Using IPhone: opens the iOS app and closes it the robot; after few seconds the BLE paring between the robot and iPhone should be done; You will see the connection symbol changed to green. press the top middle virtual button will switch the robot to control mode; and press bottom middle virtual button will turn back to autonomous self walking mode.

Plays Using Android Phone: open the Android app while robot is on pressing the connection symbol closed the top edge; after few seconds you should see listed BLE device and select it and connection symbol should turn to blue when successes; press the top middle virtual button it will switch to control mode; press bottom middle virtual button will back to autonomous self walking mode.

Battery Charging: plugs a 5V power source micro USB cable to the robot USB port; a red light indicates charging; a green light indicates charging completed

File name Size
m-femur.stl 455.6 KB
m-body-shafts.stl 40.7 KB
m-body-board_holder.stl 58.7 KB
m-body_base.stl 104.6 KB
m-coxa.stl 293.6 KB
m-eyes.stl 75.1 KB
m-tibia.stl 89.5 KB
m-body_top.stl 27.2 KB