Week 12: Machine Building¶
*Rendered model of the robot.
The Idea¶
Two weeks before the machine building week, one of my groupmates Mariam and I had thought about making a robot vacuum cleaner. Then when the week had arrived, we changed our initial idea and spent a day ideating. After many ideas, and a lot of back and forth, eventually, we landed on the idea of a two-wheeled self balancing robot. Whereas the inspiration came from both bionic robots and agentic AI.
The Philosophy¶
My team mates and instructors know that before conquering bionic robots and agentic AI, we first need to solve mobility tasks. In other words, if the end goal is building robots that move and think on their own, then movement has to come first. Rather than starting with something straightforward, we figured we would pick a problem that’s already a bit harder than it required to be. A self-balancing robot has to earn its stability constantly, it’s not just rolling from one point to point another, it’s working continuously to stay upright –– in some sence a 2-in-1 task. It felt true to the bigger picture we had in mind, but the grand idea behind was learning by failing.
Project Ditribution¶
The work was devided between three people – Mariam, Saad, and Hrach [me]. Aditionally we were continuously supervised by Onik, one of our local instructors.
The Design¶
We began by each submitiing a draft of what the robot would look like, and after ideating a day, we landed on this sketch.
The Components¶
1x chassis
2x rims
2x tires
2x DC motors
1x ESP32-C3 for mobility
1x ESP32-S3 for camera input
1x LCD
1x camera
1x Wi-Fi antena
1x infinate patience
Wheels¶
Everything began from a single rim and a tire. The rim was simple, printed with black PLA. Whereas for the tire, initally, we wanted to print it with transparent TPU.

The first attempt to print the tires did not go as planned. Assuming the nozzle was clogged, so we tried cleaning it. The needle did not work so we tried some other methods, such as heating the nozzle, and retracting the filament by pulling with a quick movement. Nonetheless, while it seemed to be a common issue with TPUs, the filament would retract deformed like a spiraled pasta. And so, as a last option, we also considered drying the filament, but that did not seem to work either.
Eventually, we came to a conclusion that the fault was with the filament. So we switched to a opaque silver metallic TPU.
In the final 3D model shown below, I included a hole for the screws that attach the wheels to the motors, while the short, wide opening accommodates the motor shaft.

The design evolved after I realized the screw length exceeded the rim depth. Furthermore, the rigid TPU tires were nearly impossible to remove without damaging the rim with metal tools. After trimming the inner rim with a scroll saw, I iterated the design into the current version of it.

When choosing the infill pattern, I was aiming to provide cushioning that mimics the behavior of a pneumatic tire. However, the robot was not heavy enough, and the tire walls were not thin enough to create any suspension. Despite the stiffness, the TPU provided sufficient traction, effectively preventing slips.

Chassis¶


Inner Structure¶
I had taken all of the component measurements, and created their digital twins in Fusion. This was done to create the 3D version of the insides, and understand how to organize, and fit the comonents to achieve the best balance for the robot.





Camera¶

Charger¶


Prototype 1¶
Prototype 2¶
Obstacles¶
Conclusion & Future Developement¶
The week ended up being more than I expected. I spent a lot of time in Fusion 360, more than I have before, and looking back, the improvement in my CAD skills was one of the biggest wins of the whole week. There’s something about choosing a hard problem that pulls more out of you than an easier one would. It also changed how I think about the final project — now I feel like I can’t go backwards. Whatever comes next has to be at least as interesting as this, if not more.
For what comes next to this project, I believe…