Tumbller: Self Balancing Robot

Calvin Reese




In this HW, we learned how to use the ESP32-Cam microcontroller and send that data over the internet, emails, and text.

Materials and Methods

The tutorial to these examples are found:

Here Code



Demonstration of Movement

The code as provided by Dr. Li was able to be reduced to only 4 header files since the only files that were needed were the base .ino, the pins file, the balance file and the joystick input file. The I2C and MPU files were able to be completely removed because the only requirements were to be able to pull acceleration and gyroscope data, which could be done with Wire.h and the code from this tutorial. Lastly the timer could be replace with the ISR interupt using code from this tutorial. Lastly, to connect the transceiver, the softSPI needed to be enabled in the RF24 Config file and the pins defined since the hardwire SPI pins were used for the motor control and ultrasonic sensor. From there the joystick data could be used to modify the movement variables in the balance function.

Pins for Transceiver


This project, although involved lots of trial and error, was fun to do and and a cool final product.