Simple NodeMCU 18 DOF Hexapod

7,428

21

28

About: Designer, Artist, Engineer

A hexapod robot is a mechanical vehicle that walks on six
legs. Since a robot can be statically stable on three or more legs, a hexapod robot has a great deal of flexibility in how it can move. If legs become disabled, the robot may still be able to walk. Furthermore, not all of the robot's legs are needed for stability; other legs are free to reach new foot placements or manipulate a payload.

Many hexapod robots are biologically inspired by Hexapoda locomotion. Hexapods may be used to test biological theories about insect locomotion, motor control, and neurobiology.

Using 18 servos or 18DOF with 3 join per leg is flexible enough for a hexapod robot than 12DOF hexapod robot.

some of Hexapod hobot have a complex mechanism and schematic. in this design i try to make a simple design hexapod using common component that we can found in the market

Supplies:

Step 1: Time to Shoping

Step 2: Print and Assemble the Body Part

all the spider body part and claw can be download from

https://www.myminifactory.com/object/3d-print-7650...

or

https://www.thingiverse.com/thing:3130196

mandatory list of part u have to print :

  • 6x shield.stl
  • 3x coxa_A.stl
  • 3x coxa_B.stl
  • 3x tibia_A.stl
  • 3x tibia_B.stl
  • 3x femur_A.stl
  • 3x femur_B.stl
  • 1x Hex_body_short.stl
  • 1x Hex_cover_short.stl
  • 1x Ring.stl

The rest is optional...

Step 3: Connecting the Dot

This is all electronic schematic, basically all servos controlled by 32CH servo controller because it's already have micro controller in it. Just like arduino it's independence and can controlled using serial command from PS2 controller, PC or other device.

Step 4: 32CH Servo Controller

Features:

  • Operating voltage: 5v
  • Servo motor input voltage: 4.2V~7.2V
  • CPU: 32 bit
  • Baud Rate (USB):115200
  • Baud Rate (bluetooth/UART): 4800 、9600、19200、38400、57600、 115200
  • flash storage capacity: 16M
  • Red Indicator: CPU power indicator
  • Gree Indicator: servo motor indicator
  • Yellow Indicator: PS2 Wireless Controller
  • Mode Protocol: UART
  • Computer protocol: Support Single
  • Operating protocol: Support
  • Supper servo motor type: 9G~55G (3.3V~7.2V)
  • Online Operations Support: C51/ARM/DSP/Buletooth/Computer
  • Mode type: USB/UART/Offline Independent/PS2 wireless control

Cabling mapping :

  1. 5v power out (+) from UBEC
  2. Ground from UBEC and Mini Stepdown
  3. 5v power out (+) from mini step down
  4. to Wemos D1 mini G pin
  5. to Wemos D1 mini 5v pin
  6. to Wemos D1 mini RX pin
  7. to Wemos D1 mini TX pin
  8. (match the pin color with the servo cable color) to right front leg (pin 1 to coxa, pin 2 to femur, pin 3 tibia servo)
  9. (match the pin color with the servo cable color) to left front leg (pin 5 to coxa, pin 6 to femur, pin 7 tibia servo)

  10. (match the pin color with the servo cable color) pin 9 to claw servos (assemble the claw first)

  11. (match the pin color with the servo cable color) to left middle leg (pin 13 to coxa, pin 14 to femur, pin 15 tibia servo)

  12. (match the pin color with the servo cable color) to right middle leg (pin 17 to coxa, pin 18 to femur, pin 19 tibia servo)

  13. (match the pin color with the servo cable color) to left back leg (pin 25 to coxa, pin 26 to femur, pin 27 tibia servo)

  14. (match the pin color with the servo cable color) to right back leg (pin 29 to coxa, pin 30 to femur, pin 31 tibia servo)

Step 5: NodeMCU AP

The WeMos D1 mini is minimal ESP8266 wifi board

Using wemos D1 mini as WIFI AP we can send serial command to the 32 CH servo controller and independence become Web server AP for controlling the robot.

all we need just flash the nodeMCU board with the code attach and we can connect the smartphone to the nodeMCU AP and using web browser open http://192.168.4.1 and we can see all the command.

ModeMCU Pin mapping:

  1. to the 32 CH servo controller RX pin
  2. to the 32 CH servo controller TX pin
  3. from 32 CH servo controller G pin
  4. from 32 CH servo controller 5v pin

PS: I have fix (31/4/2019 update) some connection issue that appears before... such as hard to connect or page not render completely...and if u have a alot of error movement, please check your battery current... usually it because it running with not enough battery power...

So Have some fun with it...!! :)

Step 6: Initial Pose

IMPORTANT...!!

we need to set the initial pose for the spider.

  1. turn on the robot (at the first time maybe all the leg will be miss pose so for this step please release all the servo horn first)
  2. reattach the servo horn and adjust the coca, tibia and femur pose just like the picture abbove
  3. turn off and turn on again to make sure that all leg is in the right position

Step 7: Adding More Movement

After all finish, we can add more motion to the arduino code. I using RTrobot servo controller to make some movement and after we have the serial command for the servo, we can put it in the code with some code adjustment.

download here

or here @4shared for windows & linux only

PS Very very IMPORTANT :

all RX and TX from and to Wemos and Servo Drivers have to firmly connected, because looping routine always check "OK respond" from the 32 servo drivers. If servo driver not found and there is no "OK" respond, than program will be loop in "void the wait_serial_return_ok()"
This mistake will cause : - Cannot connect to the AP - Blank web page - Page loading progress not finish

Step 8: Sugestion...

  1. for power supply we also can use lipo 3s battery, i think 900mah is enough but u need to have lipo battery for charge it.
  2. if u want to put obstacle sensor and servos, u can connect the sensor to the one of the wemos d1 mini input pin, and the power from 32 CH servo controller G and 5V

Step 9: For Whom Have a Problem With Opening Web Page or Connecting to the AP

I HAVE FIX THIS ISSUE PLEASE DOWNLOAD IT AGAIN FROM STEP 5 ABOVE (fix @ 31-4-2019)

some of Wemos D1 mini clone have a bad or defect ESP, and it causing:

- Hard to connect to the AP

- Fail to open page

- Loading not finish

For more detail check my video above...

Step 10: Cable Organize...

Basically just do the u can do... But I can share I I have do... Here's the picture...

Share

Recommendations

  • Woodworking Contest

    Woodworking Contest
  • Arduino Contest 2019

    Arduino Contest 2019
  • Party Challenge

    Party Challenge

28 Discussions

0
None
TomiH8

22 days ago

Great work! :)... I wanna make this too... but I have problem with printing parts ...:( ... I dont know when I can finish it

0
None
Siewert_W

Question 4 weeks ago

Hi, thanks for the nice design and great instructions.
I have built the Hexapod with the same components but i'm having trouble with the servo's. When one arm is moving the other arms start to shake uncontrolably (see this video https://www.youtube.com/watch?v=Hz3eTv-scX4 ).
I'm still testing with the servo controller software via USB, so no NodeMCU is connected yet.

Any ideas? Thanks!

0
None
M_Nurdians

5 weeks ago

Thank you for your sharing...I have problem with installing driver servo controller 32 ch ver 3.1...could you send me software & driver for servo controller because link download from http://rtrobot.org/software/ given by seller was broken

0
None
jkrzzz

6 weeks ago

I am a beginner. Can I use the usc ver7.70 servo controller?

0
None
cwgismo

7 months ago

I have tried your suggestions and I still have the same issue. To clarify if I upload the Quadruped program I am able to connect to the Wemos and the web-page for the Quadruped control loads. When I upload the Hexapod program I am able to connect to the Wemos but when I put in the address nothing loads. Is this the same issue you where having because I have tried your suggestion on 3 different Wemos boards and they all have the same end result.

Thank you

3 replies
0
None
MusaWcwgismo

Reply 7 weeks ago

i have fix the issue, please download it and flash it the wemos again (update 31/3/2019)

0
None
MusaWcwgismo

Reply 7 months ago

all RX and TX from and to Wemos and Servo Drivers have to firmly connected, because looping routine always check "OK respond" from the 32 servo drivers. If servo driver not found and there is no "OK" respond, than program will be loop in "void the wait_serial_return_ok()"
This mistake will cause :
- Cannot connect to the AP
- Blank web page
- Page loading progress not finish

0
None
MusaWcwgismo

Reply 7 months ago

i think your wemos is broke... because i have same experience like that too with wemos, and i have to replace the wemos with a new one...

0
None
gilabert

6 months ago on Introduction

Hello

With the ino code of the quadrupede, the web page appears correctly.



WITH THE INO PROGRAM OF HEXAPODE, the web page does not appear.



this is tested on three different Wemos.



What's the problem



Thank you
3 replies
0
None
MusaWgilabert

Reply 7 weeks ago

i have fix the issue, please download it and flash it the wemos again (update 31/3/2019)

0
None
MusaWgilabert

Reply 6 months ago

in hexapod u have to connect RX and TX pin corectly because there's some looping routine that's checking feed back from servo driver, that's feedback indicates that the all servos has reach the position.
the respond that's wemos waiting is "OK" feedback, if the wemos not receiving "OK" feedback than the wemos will continue waiting...

0
None
cwgismo

Question 7 months ago

I am having an issue getting the web interface to display for your
Hexapod code, I am able to connect to its WIFI but when I try to go to
192.168.4.1 nothing displays. Using the same board settings I have
loaded your Quadruped code onto the same board and when I connect and go
to 192.168.4.1 I get the correct web interface. I am still fairly new
to Arduino so any help would be really appreciated. PS, nice job on this
project its an awesome design, I look forward to seeing your future
projects.

Thank you in advance.

4 answers
0
None
MusaWcwgismo

Answer 7 weeks ago

i have fix the issue, please download it and flash it the wemos again (update 31/3/2019)

0
None
GeorgeS301cwgismo

Answer 3 months ago

How were you able to upload? Although I've installed the board and it's working properly I'm getting a ton of errors at compile time.

0
None
MusaWcwgismo

Answer 7 months ago

all RX and TX from and to Wemos and Servo Drivers have to firmly connected, because looping routine always check "OK respond" from the 32 servo drivers. If servo driver not found and there is no "OK" respond, than program will be loop in "void the wait_serial_return_ok()"
This mistake will cause :
- Cannot connect to the AP
- Blank web page
- Page loading progress not finish

0
None
MusaWcwgismo

Reply 7 months ago

so, do u have he we page or not?
u can try to flash it with eeprom clear first...
load this arduino code from file>Examples>eeprom>eeprom_clear and flash it to the webmos
after that re upload the hexapod code...
if this not working for u, maybe u got the fail one of the wemos production... 3 of 10 of my wemos has the same issue like this...
but usually the issue related to the AP...

0
None
Nikhil gowda

3 months ago

Hi
Is there any difference between usc32 controller and ssc32 controller?
I'm getting the output in serial monitor but the hexapod is not moving.

1 reply
0
None
MusaWNikhil gowda

Reply 7 weeks ago

maybe u can read the data sheet first, look for the move command... if there is a different with my command u can adjust it...