Open comments for this post
Dev Log #5 – Project Complete!
I wrapped up the final parts of the project by preparing everything for release.
I finished writing the GitHub README, making sure it included all of the information someone would need to understand, build, and test the robot. I also organized the project files so they would be easy to navigate and use.
To demonstrate the project, I created a video showing the self-balancing robot in action. The video explains what the robot does and gives people a look at the final build and balancing performance.
Finally, I uploaded all of the 3D-printable parts to Printables so anyone can download and print the components themselves. This makes it much easier for others to recreate the project without having to design the parts from scratch.
The project is officially complete!
Open comments for this post
Dev Log #4 – First Balance Tests
This week I made a lot of progress and got the robot fully assembled.
After going through the wiring again, I realized I didn’t actually need the buck converter. Instead, I powered the ESP32 through USB while the battery powers the motors. This made the wiring much simpler and reduced the number of components inside the robot.
With that change, I finished assembling the entire robot in about 4–5 hours. I made a few minor tweaks to the 3D-printed parts to improve the fit of some components, but overall the design worked as planned and everything came together successfully.
Once the hardware was complete, I started testing and tuning the PID controller. This was the first time the robot attempted to balance on its own. After adjusting the PID values through several rounds of testing, I got the robot to balance for around 10–20 seconds before it eventually tipped over. While it’s not stable enough yet, it’s a huge step forward because the control system is working and now only needs further tuning and refinement.
Open comments for this post
Dev Log #3 – Hardware Complete!
Today is a big milestone for the self-balancing robot. I officially finished designing all of the 3D models and printed the final parts.(NOT AT ALL) The robot’s main structure is now complete, and all of the electronics have a place to be mounted.
While assembling everything, I discovered a design mistake, I forgot to include mounting locations for the buck converter and the MPU-6050 IMU. Since the IMU is one of the most important sensors for a balancing robot, I couldn’t leave it out. I went back into CAD, redesigned the electronics holder, and reprinted the updated version with proper mounting points for both components.
On the software side, I spent more time learning about PID (Proportional-Integral-Derivative) control. After researching how each value affects the robot’s behavior, I now have a solid understanding of how PID works and how I’ll tune it once the robot is assembled. This should make the balancing process much easier when I begin testing.
I’m also starting work on a complete wiring diagram to make assembly cleaner and reduce wiring mistakes before powering everything on for the first time.
Open comments for this post
Dev Log #2 – Designing the Brain
Today I focused on designing and building the brain of my self-balancing robot.
I started by creating a custom 3D model to hold the robot’s electronics, including the controller and motor driver. Since space is limited on a balancing robot, I spent a lot of time adjusting dimensions and component placement to make sure everything would fit correctly. After several revisions, I 3D printed the parts and tested the fit of the electronics.
I also spent a significant amount of time researching PID (Proportional-Integral-Derivative) control. Since PID is what allows a self-balancing robot to stay upright, I wanted to understand how each part of the algorithm affects the robot’s behavior. I studied how PID controllers respond to movement, how tuning works, and how other balancing robots use PID to maintain stability.
Although there is still a lot of work ahead, this was an important step because it established the foundation for both the hardware and software of the project.
Open comments for this post
Dev Log #1 – Designing the Self-Leveling Robot
Today I began work on my PID self-leveling robot project. The first step was designing the robot in CAD and deciding what components would be included in the final build. I spent time planning the overall structure, thinking about where the motors, battery, controller, and sensors would be mounted to keep the robot balanced and compact.
After finalizing the concept, I created the 3D models for the main structural parts and prepared them for assembly. A major focus was making sure the design would be sturdy while keeping the center of gravity in a good position for balancing.
Once the modeling was complete, I started assembling the printed and purchased components to verify that everything fit together correctly. This stage helped identify areas that may need adjustments before moving on to electronics integration and PID tuning.
Next steps include completing the mechanical assembly, mounting the electronics, and beginning development of the balancing algorithm.