Inspiration

As computer engineers, we wanted to work on a project that incorporated our passion for hardware and software, so we decided to create a robot. Our goal was to entertain -- to make your day a little brighter! That's why we decided on a dancing robot.

What it does

BoxBot dances using 3 movement systems -- arms, legs, and feet.

How we built it

We built BoxBot using an Arduino Uno, a motor shield, 6 continuous servo motors, and many custom 3D-printed parts. We started by researching Arduino-based robots built by other engineers. After scouring for parts at the MLH hardware store, we realized that our robot would have to employ servos for movement. Using Fusion 360, we developed a simple case to house our components, accounting for tolerances, cable management, and potential redesigns. While our parts were being printed, we used a few paper coffee cups to develop a working prototype. Attaching our arms and legs to the coffee cups, we built and tested movement code using the Arduino IDE. Once our parts were printed (not without a few hiccups that led to slight redesigns), we put it all together and started programming the actual dance moves.

Challenges we ran into

We faced challenges 3D-printing our parts, finding working, usable components, and coding our robot's dance moves. During a pivotal moment in our development process, we had to decide between speed and quality: either we could 3D print our parts at full speed, sacrificing some structural integrity, or we could print them at regular speed, maximizing sturdiness. At different points in our timeline, we prioritized different goals. Early on, we were willing to give up some time for higher-quality parts, but as the Bitcamp timer inched closer and closer to 0:00, our goal became time efficiency. We also faced challenges finding a functioning Arduino Uno and servo motors. This led to a ritual in which we systematically tested every component we added to our robot, ensuring nothing would go wrong during showcases. Finally, our code took perhaps the most time to develop. We had to develop a "home base" for our servos, specific angles in which they should return to when at rest. Then we had to test various speeds and delay times to develop an effective dance routine.

Accomplishments that we're proud of

We're incredibly proud of how we used our environment to our advantage during the build process. Instead of waiting 6+ hours for our parts to finish printing, we used this valuable time to build a makeshift robot using coffee cups and cardboard we found lying around. We also searched for other hardware teams to ask questions and get feedback on our project, which led to major improvements in our design.

What we learned

We not only learned the art of patience but also furthered our understanding of computer-aided design, low-level programming for hardware, and the overall engineering design process. Although we had previous experience working on engineering projects, this was the first that operated under very strict time constraints. We pulled all-nighters, ate while working, transferred leadership whenever either of us felt burned out, and learned more about our individual strengths and weaknesses when working under pressure!

What's next for BoxBot - The Dancing Robot!

We want to develop a more streamlined version of BoxBot -- one that incorporates more soldering to minimize cable clutter, less tape to improve aesthetics and stability, and some more personality -- maybe some paint, stickers, or googly eyes!

Share this project:

Updates