Electrical & Computer Engineer
Arduino IDE, Motor Controller, Bluetooth
Arduino Coding, Soldering, Electrical Debugging
August 2023 - December 2023
In the iRobot Fall 2023 Hungry Hungry Hippo Intern Challenge, we were tasked
with a unique goal: to design a robot that could collect and deliver as many
balls as possible in record time. Our mighty team of three got to work researching,
designing, and testing, ultimately building a robot that claimed first place.
As the Electrical & Computer Engineer on the team, I focused on the Arduino and
its interfacing components, including the iRobot Create 3 Platform, HC-06 Bluetooth
Module, servo motor, and spinner drivetrain. This project was not only technical,
but also a creative adventure. I'm incredible proud of our innovative designs,
hands-on prototyping, and the sheer fun we had bringing our ideas to life.
We figured there had to be plenty of machines out there for picking up all kinds of
balls - tennis balls, golf balls, volleyballs? Sure enough, we were right! We stumbled
upon a YouTube video titled "4 life-changing tennis ball retrievers" and it was truly
life-changing. With a dash of inspiration from some of the designs we encountered
during our research, we ended up with the masterpiece that is the whiteboard drawing
below.
With a rough mechanical design in place, I was ready to map out what we'd need
electrically. From the sketch, I knew we'd need need at least two motors: one to spin
the ball-collecting spinner, and another to open the back door. We also needed a
reliable way to power and control these motors. Next is a dive into the electrical
design, but I'll wrap up the mechanical side by saying that the fundamentals stayed
pretty consistent throughout this project. So you will also find a mockup of the final
mechanical design below!
So, how did we reliably power and control the motors? Check out the system overview below,
and we'll dive into each component. At the heart of our motor control system was the trusty
Arduino Uno. Connected to it was an L298N motor driver, driving two DG01D motors. While
these DC motors have a recommended voltage of 4.5V, we pushed them through some in-house
testing and found they ran reliably at 14V 😁 - a huge plus since one of our power sources
as the Create 3 robot's 12V, 2000 mAh battery.
At full power, controlled by the L298N via PWM, the spinner spun way faster than needed, so
we were reassured the motors could handle what we would actually throw at them. We didn't
necessarily need two spinner motors, but why not have two for redundancy and more power,
especially since we only needed about 20 minutes of runtime for the competition. The Create
3 also had a handy USB-C port supplying 5V, which we used to power the Arduino and SG90 servo
motor. Since the Arduino was on the Create, we needed a way to send commands wirelessly, and
the HC-06 Bluetooth module fit the bill.