This remote-controlled bipedal toy robot was designed to introduce students to robotics and basic programming concepts like sequence, data types, variables, high/low signals, true/false values, operators, if-else conditional statements, and functions in Arduino IDE. I had the opportunity to create this learning kit as part of my job in 2022.
For ethical reasons, I cannot upload any 3D models or code here, so I put this promotional video instead.
It uses four servo motors, two at the hips and two at the ankles. It walks by rotating the servos to drag its feet on the floor like in the video above. The brain of the robot is an ESP32 microcontroller, which has a built-in Wi-Fi module, allowing it to be controlled wirelessly from a phone.
It is also equipped with three LEDs for aesthetic purposes, an ultrasonic sensor to measure distance, a speaker, and a DFPlayer module that plays MP3 music from a micro SD card. An easy step by step tutorial of how to assemble the robot parts was also provided.
I wrote pre-made functions for actions like move forward, move backward, turn left, turn right, jump, play music, and read ultrasonic sensor distance.
Students were instructed to code the behavior of the robot by calling these functions in conditional statements. For example, they could program it to turn left or right when it detects an object closer than 15 cm in front of it.
They also learned to connect the robot to an app on their phones and customize the UI so they could control its movements wirelessly using buttons and voice commands.
Lastly, students could make the robot play music and customise their own dance moves by controlling the four servos or using the pre-made functions.
In this project, I was mainly involved in the circuitry, coding, and teaching modules. The 3D design was primarily done by my colleague. The design is heavily inspired by the open-source Otto DIY kit and Iron Man. The picture below shows the transformation of the body in each version. First, it was given hands and Iron Man themed patterns. The head was then enlarged so the circuit board could fit in easily.
The video below shows the latest design and also the dance sequence made by one of our students.
What makes this learning kit special is its customisability. It encourages users' creativity by allowing them to program any action they want.
I think it would be cool if this robot used a Bluetooth speaker module instead of the DFPlayer. It could play anything by simply streaming a YouTube video from a phone. We could even use Alexa or Google Voice to make it seem as if it is talking.
In the early design, this robot was supposed to be equipped with a buzzer to play music instead of a DFPlayer. However, this design was later discontinued because it is harder to customise music with a buzzer.
By using a DFPlayer, music can be downloaded from the internet onto a micro SD card. With a buzzer, I had to use the tone() function to generate square waves at specific frequencies to play each note.
The video below shows when I tried to play the Avengers theme song with a buzzer. I converted the intro part form this music score, then switched to this score for the rest because it was easier. Enjoy!