WizFi Trundlebot - The Teaching Robot
Trundlebot is a wifi connected robot that is used to teach programming in a fun and engaging way.
I have designed the Trundlebot is a low cost and accessible “Turtle” robot that is used to teach programming in a fun and engaging way. The WizFi Trundlebot has Wifi capability to allow it to be visually programmed using any web browser on the most basic of home computers.
Fundamental to the design is that it is low cost to produce and can be built easily by anyone. All the parts are commonly available, or can be produced at a low cost. The design can be extended by anyone and other educational tutorials can be combined with it to further extend it.
The hardware consists of a main controller board with the WizFi360-EVB-Pico installed, and a chassis with two low cost 28BYJ-48 stepper motors mounted to it.
The PCB design files for the controller board are available to download from this page. Most online PCB manufacturers can create a partly-assembled board from these files with all the key components already in place.
The chassis can be laser cut using the DXF file from here, but hand cutting from 3mm plywood is also an option if you do not have access to a laser cutter. The 3D printed parts can be produced on most 3D printers and should be small enough that they can be ordered online at a low cost if printing them is not an option.
Assembly will take a couple of hours. I have created a separate set of build instructions with photographs. This is also available for download from below.
With education being at the centre of this project it was important that it remain compatible with other Pi Pico educational projects, and that the code all be in Python. To enable this a set of libraries have been created to bring the required WizFi630 functionality natively to Python.
- wizfi360.py : This handles communication vaa the UART to the WizFi360 wifi module and dispatches callbacks to the rest of the Python code.
- wizhttpsrv.py : An HTTP server that sits on top of the wizfi360.py library.
- trundle.py : The Trundlebot stepper motor driver library that is used to move the robot.
- wizmain.py : The main WifFi Trundlebot code that joins everything together
- main.py : This is used to auto start the Trundlebot code.
Before transferring the code you need to enter your wifi configuration towards the top of wizmain.py. After doing this it is recommended you transfer all the files except main.py to the Pico using Thonny. Once transferred run wizmain.py and you will be given a link with an IP address in the console. This is the link to your web app that controls the WifFi Trundlebot by any machine on your local network.
After testing your Trundlebot you can then copy across the main.py. This final file will auto start after being powered, connect to the wifi, and start the web app server.
The WizFi Trundlebot is controlled via a drag-and-drop web interface. You have a number of commands to the right of the screen, including forward and back, right and left, and wait.
If you want the robot to turn right then just drag the “Right” command to the list on the other side of the screen and enter the angle you would like it to turn by. Similarly, if you want to move forward drag the “Forward” command to the list and enter the distance. You can reorder the list and drag items back you no longer want.
When you have your commands programmed in you can hit the “Go” button and your WizFi Trundlebot will start to move.
Hopefully you like the WizFi Trundlebot and will have a go at building your own.
Trundlebot PCB Layout
3D Print two of these
Trundlebot Motor Holder
3D Print two of these
3D Print one of these
Trundlebot PCB Render
The base chassis to by cut from 3mm thick acrylic or wood
Trundlebot Battery Holder
An optional power bank holder
Trundlebot Assembly Instructions
Instructions to assemble your WizFi Trundelbot
Trundlebot Kicad PCB file
You can have a Trundlebot PCB created from this file
Trundlebot BOM file
This is a list of components and connectors used on the Trundlebot PCB