Moving Instructables Robot
by Markus Opitz in Workshop > 3D Printing
242 Views, 1 Favorites, 0 Comments
Moving Instructables Robot


I've always found the Instructables mascot funny. Unfortunately, it only appears as a logo on the web pages, not as a figure, sticker or other merchandise, not in 3D. That's why today we're building our dancing Instructables robot, an automated jumping jack.
Basic knowledge of Arduino and ESP32 required.
Supplies

- 3D printed parts and filaments yellow, red, gray
- Plastic glue
- XIAO ESP32-C3 (or any other ESP32)
- Micro Servo 'GHS37D' [tiny, only needs 3.3V] (or another mini servo)
- Ball bearing and matching screw
- A little bit of strong thread and wire
- Screw nuts as pendulum weights
- Optional: LiPo Battery
- ...and a switch
3D Print



The files were created using Tinkercad.com. It's an easy-to-use program that allows you to achieve impressive results.
It's difficult for me to explain in detail how I designed the robot. It has a lot to do with spatial awareness.
However, you can easily download and edit the files.
I don't have a multi-color printer, so I printed the individual colors separately and will glue everything together later.
Assembly of Parts





- Glue the legs onto the feet
- Fix the large body part onto the legs – don't forget to coat the small plate with glue.
- Insert the ball bearing together with the screw into the hole provided - secure with adhesive.
- Prepare the head: carefully attach the ears and eyes with a little glue and press on.
- Place the head on the pendulum and glue it in position.
- The head pendulum can be attached to the screw of the ball bearing and screwed in position.
- Pieces of wire or toothpicks are inserted into the holes for the arm hinges and fixed with hot glue on one side only (the ‘back’).
- A little tricky: the arms are attached to the pendulum with a strong thread so that when the pendulum moves, the arms move with it.
ESP32, Servo, Battery





Now we prepare the electronics:
We solder the following to the XIAO ESP32-S3
- Power (red) --> 3.3V
- Ground (black) --> GND
- Data (white) --> GPIO2
(Note: According to the label on the device, GPIO2 is ‘D1’!)
The ESP32 and servo are glued in place. The servo will later nudge the pendulum at random intervals and the ESP32 will go back to sleep.
Optional:
If you want to operate the robot wirelessly, you can solder the contacts of a LiPo battery to the underside of the XIAO, but don't forget to connect a switch between them. The XIAO also has a charging circuit and charges the battery when it is connected to the power supply via USB.
The Software to Control the Servo
The program moves the servo arm 180 degrees once and nudges the pendulum. The ESP32 remembers the server position and goes into deep sleep. After a random, adjustable time, the microcontroller wakes up again and moves the servo arm in the other direction. That's it.
You can get help with uploading from SeeedStudio and from an earlier project of mine.
Transfer the program to the ESP via Arduino IDE and you're ready to go. Please install the library first.
The library s3servo.h can be found here.
You can set the random time window yourself: random(20, 60) --> from 20 to 60 seconds
Downloads
Finish






Now it's just a matter of embellishing: lines, eyebrows and screws are drawn on with a foil pen, exactly as shown in the logo template.
Further ...


Now you can equip it with sensors, solar cells, additional servos, sound effects... let your imagination run wild. After all, it's the fellow's birthday!