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. This page should guide everyone to make one easily.
We have an hexapod robot, you may be interested to make it too, see here.
Download the 3D printed STL models files here. Suggested parameters for slicing the models to print are as followings. You may adjust them to fit the 3D printer you're using. If you don't have a 3D printer, you may find online 3D print service.
Software are free to download:
Robot Code -
for HuaDuino, in Arduino IDE software:
the board selection: "Arduino Nano", processor "ATmega328" for AVR Boards support version 1.6.20 or older;
the board selection: "Arduino Nano", processor "ATmega328 (Old Bootloader)" for AVR Boards support version 1.6.21 or newer.
Control Apps -
The components can be found in ebay, amazon, aliexpress, DX and etc online store.
Main -
Bluetooth Module - this module is optional if you don't need App control
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.
Below only required for Bluetooth LE module
The following Arduino program issues AT commands setting BLE module service UUID, characteristic ID 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<br>
Serial.println("AT+UUID0xDFB0\r"); // set service UUID<br>
delay(50);
Serial.println("AT+CHAR0xDFB1\r"); // set characteristic UUID<br>
delay(50);
Serial.println("AT+BAUD8\r"); // 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
Connection to digital pins of HuaDuino are as followings:
Using a female-female dupoint wire between A5 and 3.3V pin, the robot servos will be set to default reference angles. 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 (ignore this step for new version of HuaDuino), finally closes the robot with the top cover and eyes.
To success doing this part, you must configure CC2540 Bluetooth BLE module, see the step 3 - hardware