Department - Author 1

Computer Engineering Department

Degree Name - Author 1

BS in Computer Engineering



Primary Advisor

Hugh Smith


Creating homemade robots are becoming a popular hobby among engineers. With the dramatic reduction in costs over the past few decades, it is finally possible to build a personal automated mailbox. Microcontrollers needed to function as the brains of the robot are also becoming powerful enough that relatively complicated instructions could be programmed into the robot to handle a plethora of sensors and peripherals. In order to demonstrate how the Computer Engineering department models the synthesis of computer science and electrical engineering, the topic chosen was robotics, specifically, a stuffed bear robot.

The microcontroller chosen was the Arduino Mega 2560 Rev3, an inexpensive microcontroller manufactured in Italy. Due to the open-source nature of the Arduino, there is a large community of developers who have written numerous libraries for specialized functionality, such as timers, sensor reading, and music players. Also, the language used to program the Arduino is based off of C++ and is relatively simple to use. That, coupled with the low power requirements, made the Arduino an excellent fit for the project.

The skeleton for the robot was constructed out of PVC pipe, which is usually used for lawn sprinkler systems. After seeing and measuring the plush bear provided by Dr. Smith, the skeleton was designed in a modular fashion for easy disassembly, should that become necessary. A total of seven servos were added in order to provide motion. This allowed for the elbows, shoulders, ankles, and the neck to twist. Finally, both the Arduino and the power distribution board were mounted in a project box, to sequester the electronics from the rest of the robot and allow for sufficient heat dissipation.

In order to allow for some user interactivity, a Graphical User Interface (GUI) was created. The application was programmed in C# in order to take advantage of the tools that allow for quick creation of buttons and sliders. Also, C# has an easy way to handle serial communication, the preferred method for communicating with the Arduino. The GUI has two modes of operation, manual and automatic. In automatic, the bear goes through a series of motions. In manual, a user can send commands to the bear to do certain motions and move certain joints. The GUI provided an enjoyable source of interaction between the robot and the user.