Remote-controlled Walking Robot
by danielgass in Circuits > Microcontrollers
77 Views, 2 Favorites, 0 Comments
Remote-controlled Walking Robot
Project objective:
Build a walking robot.
Use of recycled mechanical materials.
Using the Raspberry pico W module with Micropython programming.
Display of parameter changes via WIFI on PC browser (useful for settings)
Supplies
Both images show the components required for manufacturing. The first focuseson the electronic aspects, while the second concentrates on the mechanical aspects.
The mechanical part consists mainlyof Meccano parts and wood scraps. It's easy to find lots of parts on the net, and at low prices. I bought 2.5kg of Meccano parts for 10€. The advantages are:
Material recycling. No need to buy material (rods, brackets, plates) to shape.
Easy to assemble, with almost no need for a drill or saw (or almost). Ideal for an experimental approach. Assemble and disassemble as required.
Use a 0.75mm2 lead from the battery to the circuit board. Use the rigid connecting wireson the board for easy wiring. All files are available here. https://dangasdiy.top/wp-content/uploads/2025/01/Project-files.zip
Electronic Assembly
Assembly diagram
For this projectI'm using a board from another project (https://www.instructables.com/Off-road-Vehicle/). This board has more features than those required here.
For this assembly, and for reproduction purposes, I'm providinga version requiring fewer components (see diagram).
Assembly features
The power supply includes a powerful battery that supplies power directly to the servos. A 7805 bypass and a Mosfet transistor supply the controler. If the circuitis powered via USB, the Mosfet cuts the battery supply (see pico-w-datasheet).
Electronic assembly
Prior to physical assembly, a wiring mock-up was produced. PowerPoint software facilitates component placement and interconnection. On the board There's still room for any additions. The file is available in the project package.
The use of a weld-on mountingplate makes everything compact.
The remote control
The robot is controlled by Bluetooth via a remotecontrol. The construction of the remotecontrol is explained in the link: https://www.instructables.com/Remote-Controller-for-DIY-Robots/
Any other remotecontrol that can send sequences of characters can be used. For example,the "Bluetooth Remote" smartphone application is free and easy to configure.
Mechanical Assembly
The pictures show how the assembly is made with the Meccanoparts I had at my disposal. They are given as an indication and should serve as inspiration. The pictures show the project from various angles, with explanatory information.
The Engin Program
The projectconsists of two files:
Functions_lib.py" file.
The programuses ".self" classesand functions to facilitate construction and reading.
The file startswith the Wifi connection. It displays the IP address(DHCP) of the connection. Once the address has been established, it will remain the same thereafter. The microcontroller LED signals when the browser (PC and smartphone) can connect.When the LED flashes, it indicates a failed WIFI connection. The controller must then be restarted. The "sendmsg" function is used to display servomotor speedin the PC browser. This facilitates calibration. The model does not need to be connected by USB cable.
The images are annotated for easy reading.
File main.py
The "servo_left and right" functions define all the sub-functions requiredfor handling (using".self" classes).
The program waits for Bluetooth information from the remote control.The sequence received consists of three values:potentiometer position (horizontal and vertical) and the button used.
Depending on these indications, servo actions are initiated (the picture shows the relationships).
The Remote Control Program
The remote control was the subject of a project published on this site (https://www.instructables.com/Remote-Controller-for-DIY-Robots/). The program has been revised and is now available for download.
The main changeis the transformation of the voltage suppliedby the potentiometers into valueson the -100 to +100 scale. This makes it easier to use for motor control. Values between 0 and 100 correspond to power for forward travel,and 0 to -100 for reverse travel.
Conclusion
This project was made much easier using Meccano parts. The successive assemblies and adaptations were simple and enjoyable, not to say exciting. I hope it will inspire other DIY enthusiasts. Happy reading!
Reference
Document: pico-w-datasheet.pdf
Webserver: https://www.raspberrypi.com/news/how-to-run-a-webserver-on-raspberry-pi-pico-w/
Document connecting-to-the-internet-with-pico-w.pdf
Robot to buy: