ECE5725 Fall 2019 Projects

Automated Lamp

In this project, we built both the hardware and software for a social robot inspired by Pixar Animation Studio’s Luxo Jr.. For the base robot arm, we used the open-source mini 6-DOF manipulator platform that we developed (for our Master of Engineering project). The end-effector, which contains both the lamp and a Raspberry Pi camera, was custom designed and manufactured for this project. To achieve organic behavior, we implemented face-detection and tracking algorithms on the Raspberry Pi 3B+. In addition, we implemented teach and replay algorithms to train the robot arm for movement routines, in order to quickly and easily achieve sophisticated motion. Overall we were successful and created a robot that is lively and interacts with humans in its surroundings, powered by a resource-restricted embedded device.

Piano Game

Currently pianos and sheet music do not provide much feedback for the beginner learner (as to whether they played the right notes or not and how the piece sounds like). We set out to develop a piano game that will enhance the piano learning experience. Our game aims to improve the piano experience by allowing learners to hear a playback of the music (and adjust its pace) as well as test their playing skills for a better piano learning experience.

Crime Detection

Facial Recognition and Crime Detection System (FRCDS) contains two parts: facial recognition and crime detection. The first part is a biometric technology based on human facial features for identification. We used a modern camera to gather facial graphics, automatically detected and tracked faces in the dataset. In this part, we finished our task with the help of the OpenCV library. The second part is to apply the previous achievement to practical applications. In our dataset, some faces will be labeled as a criminal and the system will trigger the audible alarm once those faces have been recognized. In this part, the audible alarm is consisted of a 16×32 LED matrix panel and a speaker.

Snow Pi

The winter of Ithaca is coming with lots of snow. We’ve heard of its reputation and we want to know how bad it can really be. Therefore, we want to introduce a system, SnowPi, that allows us to know real-time snow accumulation depth and be able to alert people when the depth is getting dangerous. The system displays real-time snow depth chart dynamically and store history depth data in its local database for user to retrieve. For better user interaction, the system has a front-end web page for data visualization. Once the detected snow depth is above the set threshold, an alerting email will be sent to registered user.

Automated Drink Dispenser

Ever craved a mixed drink without the hard work of making it yourself? With our Automatic Drink Dispenser, you can select a drink from a menu and be served almost instantaneously! You can also create your own custom drink by mixing together four different ingredients of your desired amounts. Our system has four juices (peach, ginger, lime, and lemonade) and three preset menu items, Peach Ginger, Limeade, and Starburst.

Fire Tank

Fire Tanks is a real-time strategy game in which each player controls its own tank to fight with others, try to survive the bullets of others and be the winner. Players take turns to act, in a single turn, only one player can take actions and others cannot do anything. In detail, a player can, in its own turn, move the tank, adjust the angle, and launch a bullet. A fixed number of fuel will be added automatically at the end of each turn. Moving the tank and launch the bullet will certainly cost a little fuel, while adjust the angle does not have any costs.

Travel Robot

Our project aims to design a robot to realize the function to arrive at a destination based on the input voice commands and return back to the start point automatically based on the previous input commands.


Soundpad is an intelligent musical instrument, which let musicians create their own tracks by making combinations of multiple sound samples. Soundpad provides three modes for users, namely preset mode, AI mode and record mode. With preset mode, each button is loaded with a pre-processed sound clip of the song “Harder, Better, Stronger, Faster” by Daft Punk. While AI mode leverages voice recognition to identify a user-specified instrument to be loaded in buttons. For record mode, it offers more flexibility allowing users to record any sound and then uses it for composition.

Pet Robot

The robot can move across the room following the line on the floor. It will use ultrasound sensor to detect obstacles. After an obstacle is detected, the robot starts to detect human faces and the red-light blinks on the PiTFT. When it finds someone, it moves right opposite to him or her and begins face recognition. If the person is known, a hello sound will be played. Also, it can move toward someone and keep a distance. This is achieved by adjusting the size or position of the frame in the image of human faces.

Rescue Robot

This project is to build a robot that can be used for rescuing purposes with remote control methods. It can perform multiple functions that will help the rescue missions or the victims to save themselves.Raspberry Pi is used as a server, processing the requests sent from remote controller through wifi connection. The remote controller is developed on a laptop as a web page using Node.js and React. The Pi can process the request and control the robot. Several functions have been implemented, including controlling the robot to move, catching the live stream shoot by the camera, bidirectionally transferring audio message between the controller and the server, uploading images and displaying them.

Delivery Management System

In modern days, the shipment and delivery service industry has grown up rapidly. The number of sales, especially online, is amazing and still increasing every year. But sometimes, the delivery courier meets trouble to carry packages in some rural areas and needs a portable device that can both check and manage the order lists. This project aims to provide a delivery management system for both the customers and couriers in which the customers place their delivery orders and the couriers use a raspberry pi to check and manage the current orders as well as interact with the incoming user orders in real-time. The high-level idea is to design a web application for the user so that they can place their orders together with the details and wait for the courier to collect their items. The server is hosted on a Raspberry Pi solely and runs in parallel with the user interface program, which allows the courier to manage orders. Finally, we have implemented a fully functional multiprocessing delivery system with a portable, flexible and efficient service.

Projected Virtual Board

Nowadays, many people need boards and pens to write down important notes on the board to share the essential information to everyone during a meeting or lecture. However, the physical boards and pens are not convenient to be carried, because they are either too heavy or too large. As a result, this project provide a solution to solve this problem by utilizing Texas Instrument DLP Light Crafter Display board, Raspberry Pi and a camera to build to a small, light and portable virtual board device that can project a virtual board on the wall and users can use the LED pen to write down anything on the board.

Photo Displayer

Our project is a photo displayer with two components: a web application which allows users to upload pictures to the Raspberry Pi; a slideshow application reads photos from the server, displays them on the touch screen, and controlled by six functional touch-screen buttons, including lock the current photo (stop the transition), switch to the previous and next photos, speed up or down the transition time, and quit the program. Just imagine that you can upload a new selfie to the server through the web application, and all your family members can see it on the Raspberry Pi at home. Don’t hesitate, share your photos with your family!

Plot Clock

Nowadays we live in a fast-pace time precious society. Sometimes people may want slow down and take a break. In this project ,we developed the plot clock for the purpose of slowing people down. Plot clock is a raspberry pi based self-driven robot. It can write down the current time on a white board in a very inefficient way, then wipe out everything on the white board and write down the updated time again. Hope this funny clock can make you happy.

Arcade Game

Warcraft shooting game is an interesting arcade game. No matter how old you are, you would enjoy warcraft shooting game.  We designed a warcraft shooting game based on the Pygame. The warcraft’ s moving direction is controlled by four button. Besides, warcraft has two shooting and bomb buttons. We designed different kinds of aliens as well. Shooting different aliens  will get different score. High scores will be stored into the sqlite3 database. Players are able to know their scores and ranking.

Traffic Signal Detection

Computer vision has been a hot topic due to its extensive use in a wide range of applications especially in machine learning and deep learning models. Autonomous cars are another big topic in the technology field nowadays. As a result, our team design a robot that will be able to detect some simple objects on the road such as stop signs, red lights and etc. The robot will basically have two modes. One mode is manually controlled mode, called m1 mode. The user will be able to manipulate the robot by remote ASSH or VNCB or by a web controlling feature with WIFI. The robot can be controlled by the keyboard. ‘W’ key can let the robot go forward, ‘X’ is backward, ‘A’ turn left, ‘D’ turn right, and ‘S’ to stop. The key ‘I’ will speed up the robot and key ‘j’ will slow down the robot. The robot will have a variety of speeds and it will be able to speed up as well as slow down as desired. In the second mode, m2 mode, we will design a Line-Tracing Self-Driving Car. The robot will recognize the black line on the white cardboard automatically and moving along the line. We will also implement a camera on the front of the robot and transmit the video to our laptop in realtime so that we can see whatever has been seen by the robot. When it ‘sees’ a stop sign, it will stop for 3 seconds and then resume. Two modes can be switched at anytime and there will be an emergency stop implemented in case there is something unanticipated occurs.

Arcade Game

Warcraft shooting game is an interesting arcade game. No matter how old you are, you would enjoy warcraft shooting game.  We designed a warcraft shooting game based on the Pygame. The warcraft’ s moving direction is controlled by four button. Besides, warcraft has two shooting and bomb buttons. We designed different kinds of aliens as well. Shooting different aliens  will get different score. High scores will be stored into the sqlite3 database. Players are able to know their scores and ranking.

Braille Reader

Braille is writing and reading system used by the visually impaired where each alphabet of the English language is mapped to a simple 6 dot-cell of bumps or flats. Our project captures an image of a printed text and converts into a text string and maps it to the Braille system. This mapping is then produced using actuators to raise bumps for one alphabet at a time for the reader to feel and understand the printed write-up. Thereby translating any printed English text to Braille system.

RC Car

With the development of automation, robotics is revolutionizing how people do simple tasks in their daily life. At the same time, many high tech companies are now paying attention to self-driving technology, such as Waymo and Uber. In this project, we decided to design a self-driving car with a Raspberry Pi to operate in several driving scenarios, such as moving straight, turning, detecting traffic lights, detecting stop signs, and avoiding obstacles.

IOT Control Server

In this project, we are going to design and implement an intelligent IoT control center, which covers machine learning, computer vision, GPIO control and web/app design. In the design, the user uses his smart phone to control the whole system. First, the system will open or close on the phone by the user. After the system open, it can be directly control by the phone user. By speaking to voice assistant in the smart phone, the raspberry pi can control the air conditioner, humidifier, lights and door. All the equipment information will be displayed on a website served by the Pi, and the website can also control the devices. There’s a TFT showing the temperature information, once it’s touched, it would switch to humidity info.

RPi Guitar Tuner

We wanted to come up with a final project idea that would allow us to apply concepts we had learned throughout the semester, such as writing Python scripts that utilize the piTFT touchscreen and GPIO input/output pins, as well as require mechanical components and relate to a common interest of ours: music. We wanted our project to challenge us in terms of the independent software and hardware components and when interfacing the two. Ultimately, we decided to utilize the Raspberry Pi (RPi) to create an autonomous guitar tuner. Tuning a guitar manually and by ear is not an easy task, so we thought it would be useful to create a device that would not only identify how far off the current frequency of each guitar string is from being in-tune, but also turn the tuning pegs on the guitar accordingly on behalf of the user.


SMORE is the smore mechanism for optimal roasting experience. The project was inspired by the team’s mutual love of camping and the unique challenge of getting a marshmallow toasted to perfection. With SMORE, a user can simply input their desired level of toastiness, and, using robotics and computer vision, SMORE takes care of the rest.

Christmas House

The Smart Christmas House is a Raspberry Pi embedded system apparatus using PyGame elements, GPIO pins, and video playback on the piTFT to simulate different Christmas-themed operations. The initial part of the project involved recreating smartphone login functionality on the piTFT screen to “unlock” the house, which utilized a servo motor. From there, the user can control different LED light sequences flickering around the roof of the house. Once completed, he or she can play Mariah Carey’s “All I Want for Christmas is You” on the speakers located within the wooden house.

Freestyle Pi

Our design is a Raspberry Pi-based intelligent assistant that can do freestyle rapping about a certain topic given by the voice command from the user. It will automatically detect the trigger word(its name “Andrew”), transform voice collected from microphone to text, and then understand the topic from a natural language sentence, generate related lyrics and background beat, and eventually play them with the speaker. We also implemented the screen display, which could show the dialogue content and signal waves as background. And finally we optimize the dialogue-based interaction so that it will speak out the current weather of a given location. It is an embedded device with microphone and speaker as input and output, and can interact with users using voice and language processing algorithms.

Slam Mapping Robot

Over the last decades, numerous applications of mobile robots have been introduced in the market, and they could be found in diverse scenario, such as households, industrial, educational and military, where they have been designed for various purposes and learning different tasks. With the dramatic improvement on the precision, the cost of robots have been increased at the same time. We designed a low-cost mapping and localization robot. We used Raspberry Pi, piTFT, IMU, wheel encoder and ranger to achieve area dimension and altitude measurement functionalities and showed real time result on piTFT screen.

Emotion Response Speaker

We built an intelligent speaker on Raspberry Pi that is able to play different kinds of music base on the human’s facial expressions. In the project, we tried with different models to create bottleneck features and implemented deep learning algorithms for testing and training. The models and algorithms were manually tested for accuracy and time efficiency before we decided our final design. Human’s facial expression features are captured by a Pi camera, and the computer vision algorithms will process the features on the Raspberry and classify the features into seven different emotional expressions.

Intelligent Go Player

The game of Go, which originates from East Asia, is an abstract strategy game with a considerably long history. Go is complete information and zero-sum game, where two players respectively place the black and white pieces on a square board by turn for the purpose of finally occupying the larger territory. As the industry of artificial intelligence(AI) flourishes, the game of Go has been re-valued as a landmark problem during the process of exploring the unlimited potential of AI. A powerful and lightweight Go analyzer, trained by a GPU device and running on a Raspberry Pi 3B+, has been implemented in this project. In detail, the core algorithm is the re-accomplishment based on the theories mentioned in the paper of “AlphaGo Zero”. Furthermore, a graphic user interface (GUI), displaying the analysis results of the core algorithm, has been developed and run on a Raspberry Pi.

RPi Printer

Unlike traditional ink-jet printer or laser printer that needs a ink box, an RPI printer can use a pencil or a pen to print the input characters and image in a grey scale. Also unlike the tradition printer that has to work with a computer, the RPI printer is a integrated printer that allow the user to directly input to and instantly get the image. The future of the RPI printer will be printing anywhere, anytime.

Intelligent Waiter

The Intelligent Waiter is a robot car able to detect people in front of it, move forward to the person, and display an ordering system on the piTFT loaded on the car for ordering food. The robot car does this by utilizing a PIR sensor to detect human motion in front of it, an ultrasonic sensor to measure the distance between the car itself and the person or object in front, and two stepper servos are utilized to drive the car. The whole system is built on Raspberry Pi, which listens to the GPIO pins connected to the sensors, process sensor inputs, and display the ordering system onto the piTFT screen.


In this project we are going to build a robot that can map its environment and keep track of its own location in that area. In order to generate a map, the robot needs to know its location, and to know its location, it should have the map. That is one of the main challenges of this project. We are planning to map a room. One of the possible solutions is to keep track of the robot location by keeping its speed constant. Meanwhile, we can use ultrasound sensors to detect walls and obstacles in the room.

Algorithm Visualizer

The goal of this project is to build an algorithm visualizer using Raspberry Pi and a 16×32 RGB LED panel. The implemented algorithms in the project include tree pre-order, in-order, post-order, level-order traversal, and Graph BFS and DFS. Nodes and edges are represented by different colors on the LED panel. The user interacts with the user interface to select one algorithm to run and also can choose the speed of the process and the shape of nodes on the panel.

Autonomous Sniffer

We build an robot that detects WLAN flood attacks and navigates itself towards the intruding device’s locality with obstacle evasion functionality. The system must be able to parse captured frames and filter out malicious ones in real time. The robot can find out the direction in which the intruder resides, with the help of signal strength data acquired from the rotational antenna. The robot will be able to evade simple obstacles like boxes or wall, using the ultrasonic sensor.

Go 2 Class 4 Me

For any time, whether you are too lazy to get out of bed or the slushy snow outside is too serious of a slipping hazard, here we introduce and propose a wirelessly controlled robot that can go to class for students. While in your bed, all you need to do is open the app, and then move your phone to move the robot! For this project, we used the Raspberry Pi camera and a USB microphone to stream live video and audio to a web server, which the phone could also connect to. The phone accelerometer was calibrated and used to control the movement of the robot.

Mail Delivery Rover

As we all know, when deliverymen pick up your mails, they would be sent to a local post center and sorted to different area corresponding to the destination of each mail. Normally this job is done by post offices staff and would cost a lot of time and labor. We are going to design a rover that can make this process automatic and smart. This rover will have different trays for different destinations, moves along a pre-defined line, when it reaches the corresponding area, it will drop the mail from the tray.

Smart Cube

SmartCube is a smart lamp that, paired with a Raspberry Pi, is capable of showing live weather information upon request, such as the temperature and sky condition. Additionally, it provides dynamic animation modes with vibrant colors and computer vision features.

Telepresence Robot

We aim to make a prototype of a virtual telepresence robot. This robot which is placed in a remote location is capable to capture the environment in virtual form using Raspberry Pi. The captured visuals are displayed on a webpage and virtual reality headset. The robot present in the remote location can be maneuvered by the user using their smartphone.

Legend of Pielda

We completed a game called ‘Legend of Pielda’ with one player and four kinds of enemies. The player can walk in four directions with the control of arrow keys. When the enemy walks close to the player, it can attack the player.

Expiry Date Monitor

There are two aspects to this project. The first aspect is for foods with set expiration dates. The RPi prompts the user to take a picture of the food item, shows the picture, and gives the user an option to retake the picture. Once the user is happy with the picture, they then take a picture of the expiration date and are again given the option to retake the picture until it shows up clear on the screen. Then the RPi performs optical character recognition (OCR) on the expiration date picture, and asks the user to confirm whether the recognized date is correct. If not, the screen switches to a number touchpad, and the user is able to enter the expiration date. Once the expiration date passes, an email is sent to the user containing a picture of the item, and tells them that this food item has expired. The second aspect is for foods that should be consumed within a specified time period after opening (i.e. canned items after a week of opening). A container with integrated hardware (our “can-tainer”!) stores opened cans, and a built-in distance sensor detects if the can has been opened recently, sending you a reminder to eat your food if untouched for a few days, and after a week since the can was first opened, sends you an email that the food has expired. There is a button on the can that allows you to reset the timer when a new food has been placed in the can-tainer.

Sodoku Solver

The objective of this project was to create an end-to-end system which could solve a physical, on-paper Sudoku puzzle. The system would have to be able to read the physical board, solve the puzzle, and write the solution back onto the board. With the goal of creating an embedded system in mind, we wanted all of this to occur at the press of a button, without the need for keyboard/mouse input or a display to see the completed puzzle.

Vehicle Information System

Our whole system can be used at the entrance of the highway. The infrastructure can be divided into two parts. For the first part, we used a Raspberry Pi to control the vehicle for the sake of simulating the real-world traffic. For the second part, we use another Raspberry Pi so as to displaying the vehicle information, including the tag of the vehicle and whether the vehicle has been charged or not. It seems like a tollbooth real-world. When the car is approaching the tollbooth, piCamera can take a photo of the vehicle. In this way, the Raspberry Pi can process the image using the knowledge of openCV. In addition, the system can also recognize the number or letter on the tag by using OCR. After that, the system can match whether the tag has been stored in the “txt” file. If the tag can match the information in “txt” file, it means the vehicle has been charged.

Weather Satellite Downlink

In the beginning of the autumn semester, we came across some videos from Youtube introducing the SDR (Software Defined Radio). We found it very interesting because it has a very broad range of frequency detections and leaves all the filtering & processing stuff to the software. Because of that, it can be applied to receive signals from FM radios, HAM communications, and even satellite signals. Therefore, we wanted to do some experiments with it. In specific, we were trying to develop and test a design for incorporating this SDR dongle into the Raspberry Pi ecosystem and developing a nice yet simple graphical interface for receiving the live weather image from the NOAA satellites. This system is capable of displaying the time remaining for the next satellite overhead event and recording the signals autonomously for decoding. The final outcome of this program is to process/decode the weather images and display them on the touchscreen as they become ready. The tools we used are Raspberry Pi, piTFT touchscreen, SDR USB dongle and satellite signal receiving (QFH) antenna.

Rubik Cube Solver

For this final project, we built a Raspberry Pi based rubik’s cube solver. The optimal goal of this project is to construct a robot that is able to automatically recognize the initial state of a rubik’s cube, come up with a solution, and solve the cube. A complete mechanical setup has been built (shown in Figure 1-1 & Figure 1-2). The main materials for the robot are acrylic and wood. A raspberry Pi is used for overall processing and control. 8 standard servos are applied for both directional and rotational movements. A Pi camera placed at the bottom is for scanning the faces of the rubik’s cube.

Auto Gain Control

The objective of our final project is to develop an automatic gain control system, which includes a Raspberry pi model 3, an audio amplifier, an analog to digital converter (ADC), a digital to analog converter (DAC), and a speaker. Our primary goal is to build a system that can protect speakers by reducing the gain on the audio amplifier when distortion is detected, and increasing gain once it is safe to do so. The second goal is to create an automated DJ that is able to detect people and the temperature in the room so that we can determine what type of music we should play. We view this project as an embedded system that could be added onto a more powerful amplifier in order to protect expensive passive speakers.

Tea System

Tea plays an important role in Chinese culture and is related to many aspects of Chinese literature, such as history, arts and religion. As a great part in people’s daily life, we want to make having tea more convenient and enjoyable. This project is to provide more convenience for people who would like to get an experience of Chinese tea or even to provide spiritual pleasure for people. We implemented an automatic tea system which was able to serve tea for up to five people within the 180 degree field of view. People could place cups at any position alongside the “semi” plate. Once the system is booted, the tea pot will find where the cups are based on computer vision method and then pour tea until the cups are filled.

Laser Tag

In this project, we programmed and constructed a laser tag game. While we only physically constructed two vest/gun sets due to time and budget constraints, the software can accommodate much larger games. The gun consists of a 3D-printed shell containing a Raspberry Pi 3B+ for processing, a PiTFT for user interfacing, and various peripheral components that make it look, feel, and sound like the player is using a weapon from science fiction. The vest senses received shots using simple photodiodes and communicates hits to the Pi. Each player’s system communicates with the central server, which is responsible for administering the game as a whole. Overall, the system works well, and is a lot of fun to play.

Self-Balance Pendulum

The Rotary Inverted Pendulum, otherwise known as a Furuta pendulum, is a variation on a classic problem in the area of control system, the pendulum on a cart. Instead of being attached to a moving cart constrained to move linearly in only one dimension, the Furuta pendulum’s “cart” is a rotary object. The Furuta pendulum is an example of a nonlinear system, which also makes it more difficult to maintain upright. It is used to verify the performance of control algorithm techniques, of which can later be used to control more complicated systems, such as an aircraft flight.

Comments are closed