Project Introduction


This website is created for our undergraduate Computer Engineering senior design course. It will be used to convey our progress on our senior Design project.

Project Introduction:

To the naked eye the Desk-Buddy may appear to be just a normal lamp, but it is something a lot more unique. The Desk-Buddy is actually not a lamp at all; it is an interactable robotic arm equipped with a camera that can detect a person’s face via facial detection. The Desk-Buddy has four main segments that are all controlled by servo motors. The servos are strategically placed on the different segments of the Desk-Buddy in order to allow it to move up and down and left to right. There are also servos attached to the segment that houses the camera, which allows it to move the camera freely (in the up, down, left, and right directions). This allows the Desk-Buddy to move around and look for people to interact with.

The Desk-Buddy also includes changing light functionality in order to help it exhibit different emotions (happy, sad, mad). One such example would be if the Desk-Buddy is not able to find anybody to interact with, which would result in it changing its lights to a blue color to signify sadness. To further help the Desk-Buddy convey emotions, it also has a speaker attached to it which allows it to make certain noises based on the emotion that that it is trying to convey.

The camera will take pictures and process the images at a frame rate of 3 frames per second. It will save the images to memory and process them using a facial detection algorithm (we decided to use the Viola Jones algorithm for this project). Once the image is processed, the results will then determine whether we should update the servos, LEDs, and speaker noise.

The Desk-Buddy is strictly made for the entertainment of the user so that they can have a fun device to interact with. The final product with everything connected to it will weigh less than 12 pounds.

Projected Project Image:

Final Project Diagram(2)


The purpose of creating the Desk-Buddy is to make a friendly companion that can display different personalities for the user. Put simply, the Desk-Buddy is strictly made for the entertainment of the user. It can recognize a person’s face and try to interact with him/her in order to try and understand them. The Desk-Buddy is very needy though and always wants all of the user’s attention. Its behavior will change based on how much user-interaction it is receiving. It also displays different emotions/moods using LEDs and it can also communicate with the user by outputting simple noises to express different sentiments.

Functionality / packaging:

For this project we will create a robotic arm called the Desk-Buddy that has four segments controlled by servos as well as a camera attached to it. The camera will be used to detect and follow a person’s face. The arm will constantly adjust its position using the servos so that it is always staring at the user. The arm will also use LED lights to reflect its moods based on how much the user is interacting with it. For example, if the user covers his/her face, the arm will display a sad mood (blue) using the LED lights. The arm would then constantly search for the user’s face until it detects it, at which point it would become happy and display the appropriate LED color scheme (green). It would also be able to show different personalities via motional expression and sound. The Desk-Buddy will achieve this by moving its servos around and by using an attached speaker to make certain sounds that insinuate different emotions. Our approach to this project is to use rapid prototyping to get our project up and running and then to create our own custom printed circuit board based on our design. We will then substitute in our custom printed circuit board with the one used in our rapid prototyping implementation and make sure that all of the functionality is still maintained.