Skip to main content
Intellect

Summer engineers: Make autonomous robot in three weeks, graduate

Student Jeff Perry makes winning machine just in time for summer commencement

Summer terms at BYU tend to go pretty fast. For graduating engineering student Jeff Perry, it went even faster.

After a month of class, Perry and his colleagues in Mechanical Engineering 495R were given a mandate: Design, build and program a completely autonomous robot that can sense color and accurately launch objects based on those colors. They had 21 days.

For Perry, it was added pressure: Complete the project so you can graduate this Thursday along with 2,200 other bachelor's, master's and doctoral degree earners.

“Three weeks is not a long time,” Perry said, echoing the class motto.

But after several long nights, Perry and his classmates successfully created three autonomous robots to compete in a tournament of champions in front of fellow engineers and family.

The self-powered machines went head to head inside a 4-foot playing field (particle board box) to see which creation could launch the most colored Ping-Pong balls into goals with corresponding colors.

Perry and fellow student Brent Ludwig, known as Team Power Surge, shot their way to victory, beating out Team Resistor and Team Family Man. Ludwig arrived just in time for the competition, having witnessed the birth of his first child, a healthy baby girl, earlier that morning.

“I brought two things to life over the weekend,” he said.

The robots required mastery of electrical engineering, mechanical engineering, manufacturing and plenty of elbow grease. Some of the requirements included:

  • Robot must be fully autonomous
  • The maximum money limit to spend: $100
  • Must be self-powered
  • Must be controlled using PIC microcontrollers

“Hundreds of hours went into these robots over the last few weeks,” said Jamie Nichol, a visiting instructor who taught the course.

“This class, more than any other class at BYU, prepared me for what I’ll be doing in the work place,” Ludwig said after his victory.

While Ludwig has one year left to go, Perry graduates Thursday with a degree in mechanical engineering, and then heads out to General Motors to program 3D design software, also known as CAD automation.

“This mechatronics class gave me vital experience in programming and helped me with my problem-solving skills,” Perry said. “I’ve never learned so much in a class in such a short period of time.”

Read More From

Related Articles

data-content-type="article"

BYU's PathSay Project Uses AI to Cross Language Barriers

July 15, 2026
Thousands of the world's languages remain largely invisible to modern translation technology, but researchers and students at Brigham Young University are working to change that.
overrideBackgroundColorOrImage= overrideTextColor= promoTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= promoTextAlignment=
data-content-type="article"

How BYU students are tracking birds and protecting habitats at the Provo River Delta

July 07, 2026
NOTE: All birds were captured and handled by Utah Division of Wildlife Resources with appropriate permits.
overrideBackgroundColorOrImage= overrideTextColor= promoTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= promoTextAlignment=
data-content-type="article"

BYU professor replicates first printed 1776 Declaration of Independence

June 29, 2026
As the United States approaches its 250th anniversary, a BYU professor is bringing the nation's first printed Declaration of Independence back to life.
overrideBackgroundColorOrImage= overrideTextColor= promoTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText= promoTextAlignment=
overrideBackgroundColorOrImage= overrideTextColor= promoTextAlignment= overrideCardHideSection=false overrideCardHideByline=false overrideCardHideDescription=false overridebuttonBgColor= overrideButtonText=