BR-1: Self Balancing Robot v1

Posted on June 28, 2018 at 11:10 PM

After the WRAV v3.0 I decided I wanted to do something more challenging. So I tought about doing a self balacing robot, after all, what do I need a 3D printer for if not for building myself a new Robot.

CAD Design

I designed the panels out of Carbon Fiber plates and most of the rest is 3D printed, except the electronic components of course.

Electronics and PCB

The balancing, motion and sensor controller is a Tiva C, while the main vision and decision making ECU is a RaspberryPi 3. I created a launch board for the Tiva C, in order to easily connect the ultrasonic sensors, the IMU, GPS, serial comm to the RaspberryPi and to the stepper motor controllers. Here are some pictures of the board:

I don't have a better picture of the Robot BoosterPackXL (I don't want to dissasemble BR-1 :P), but here you can see the main components.

3D Printing

Do you like videos of stuff being 3D printed? I know I do... there's something so satisfying about them. Here is one of the LiPo support platform being printed:

You need Adobe Flash Player to view this content.


After printing everything, including a base for BR-1, I assembled the components and started coding. The repo for the Tiva C code can be found here. (migrated from GitHub after Microsoft purchased it of course).

Currently the balancing loop is running at 100 Hz, which is too low and is causing it oscillate. My next steps are to increase the loop to 250 Hz at least and to re-work the COMM module to support multiple buffered instances of UART.

I ran a few load tests and I think 250 Hz shouldn't be a problem for the Tiva C. My only concern is touching the IMU code, which took me a long time to have running stable.

I'll post an update once I've done the 2 tasks I mentioned above.

Categories: Robotics, ARM Cortex-M4F, 3D Printing

Post a Comment


Oops, you forgot something.


The words you entered did not match the given text. Please try again.

Already a member? Sign In


Reply Jamosmycle
5:35 AM on July 11, 2021 
Cheers, I like this.
Reply Jamosmycle
2:27 PM on July 10, 2021 
Cheers! I enjoy this.
Reply Jamosmycle
4:12 PM on June 18, 2021