ECE5725 Fall 2023 Projects

Live Scoreboard

Bring the excitement of going to a sporting event in-person to the comfort of your own home! Using a Raspberry Pi connected to a 64×32 LED matrix, this miniature scoreboard pulls and displays live sports scores from the ESPN API. The scoreboard allows the user to select from many sports and teams, both collegiate and professional, using the built-in PiTFT touch screen. The scoreboard displays pre-game information, in-game scores, and post-game results.

Real Guitar Hero

Guitar Hero is a series of music rhythm game video games first released in 2005, in which players use a guitar-shaped game controller to simulate playing primarily lead, bass guitar, and rhythm guitar across numerous songs. Players match notes that scroll on-screen to colored fret buttons on the controller, strumming the controller in time to the music in order to score points, and keep the virtual audience excited. The games attempt to mimic many features of playing a real guitar, including the use of fast-fingering hammer-ons and pull-offs and the use of the whammy bar to alter the pitch of notes. With the introduction of Guitar Hero World Tour in 2008, the game includes support for a four-player band including vocals and drums. The series initially used mostly cover versions of songs created by WaveGroup Sound, but most recent titles feature soundtracks that are fully master recordings, and in some cases, special re-recordings, of the songs. Later titles in the series feature support for downloadable content in the form of new songs. That’s been a really successful video game, everything perfect except that they use a fake guitar. So what we want to do, is a guitar hero game using a real electric guitar.

Gesture Music Player

Gesture recognition combines Pygame and OpenCV to run on Raspberry Pi. This program is divided into two main parts: Pygame for user interface and media playback control, while OpenCV and MediaPipe are used for gesture recognition to remotely control the player. Ultimately, the music player is able to achieve the following four functions: (1) Run on the Raspberry Pi as a graphical music player. (2) Music playback (e.g. play, pause, switch songs, adjust volume) can be controlled through physical buttons or touch screen gestures. (3) Lyrics are displayed and scroll as the music plays. (4) Use gesture control to simulate the corresponding functions of the keys, allowing you to control the player without touching the screen.

Voice Changer

The Voice Changer Project is an embedded system based on the Raspberry Pi 4, designed to capture, process, and transform real-time voice input into a variety of interesting sound effects, including Elf/Monster, Optimus Prime, Echo, and Hacker. The system integrates a USB microphone, a pair of speakers, and a PiTFT touchscreen as hardware components. It utilizes optimized libraries for audio processing, and provides user-friendly interfaces for immediate control.

Robot Hand

Our Camera-Controlled Robot Arm project introduces a dynamic system capable of mirroring human hand movements in real-time. This innovative technology not only responds to gestures with precision but also allows users to program predefined movement sequences. This functionality opens doors to streamlined automation across various applications. In this brief overview, we’ll explore the project’s primary features, emphasizing its practical functionality in human-machine interaction and task automation.

Plant Monitoring

The proposed project aims to create an “Autonomous Plant Monitoring System” using a Raspberry Pi. This system would continuously monitor the health and needs of household plants and notify the user accordingly. The Raspberry Pi would be equipped with sensors to measure parameters like soil moisture, ambient light, and ambient temperature. The data from these sensors would be processed to determine if the plant needs watering, more sunlight, or if it’s too hot/cold for it. Additionally, a camera module attached to the Pi could take periodic pictures of the plant, allowing users to visually track its growth and health over time.

Bird Cam

Inspired by our love of birds, for our final project, we decided to create a bird cam. This system consists of a Raspberry Pi 4, camera, microphone, motion detector, speaker, and a TFT screen. Our system is designed to be placed in a high bird traffic area such as near a bird feeder. The motion detector and the microphone will pick up any disturbances in the area which will trigger the camera to take a picture. We then process the image to see if there is a human face in it. If it is not a face, we assume that the disturbance was caused by a bird, or another animal, and we record a video of it. If it is a face, we use the speaker and the TFT to try to get the human to leave the area. Additionally, we send text notifications of the disturbances to the user prompting them to access the local http server and view the image of the intruder or the video of the bird.

Balloon Ninja

Welcome to “Balloon Ninja,” a dynamic and interactive game that illustrates the practical applications of embedded systems. Built with the Raspberry Pi 4, this game not only provides entertainment but also serves as a testament to the power of integrated hardware and software. It utilizes real-time processing and color detection to create an immersive experience, where players slice through virtual water balloons with the swipe of a finger or the motion of a colored object. Developed as part of an embedded systems curriculum, “Balloon Ninja” exemplifies how multithreading and computer vision can be harnessed in a playful yet complex application. This project invites players to experience firsthand how embedded technology can be applied in gaming, providing a glimpse into its real-world utility.

Personal Autonomous Robot

This project is identified as an autonomous robot that tracks the trajectory of a unique object and follows its path and ensuring that it maintains a safe distance from the object that its tracking. Moreover, along with object tracking, it avoids any obstacles in its path in order to prevent collision and ensure motion in the expected path. The robot movement is enabled using basic and inexpensive TT motors which are actually direct current gearbox motors. These motors are operated at varying duty cycles to achieve direction changes as per our requirements. The robot is connected to a camera that detects a unique red shape that the robot detects using Computer Vision techniques like masking, thresholding, and grayscale conversion. Using the camera feed, the robot follows the trajectory of the red object with varying speeds of the two wheels to steer in the required direction. Furthermore, in order to prevent collision with other objects we used ultrasonic sensors to detect the presence of any other objects in the robot’s way leading to a change in the direction of its motion to avoid any obstacles.

RFID Audio Player

We built an embedded system using a Raspberry Pi that plays music and displays lyrics based on RFID tag detection. The name of this system is RFID Phonograph Music Player. The system consists of an RFID reader, Raspberry Pi 4 Model B, a pair of sound players, a piTFT screen, and a 32 x 16 LED matrix panel. When an RFID tag is brought near the reader, the tag’s ID is used to lookup the corresponding song in a database. The Raspberry Pi then plays the song while displaying the lyrics on the piTFT. An FFT algorithm analyzes the music to drive the LED panel to pulse along with the rhythm.

Workstation Monitor

The Workstation Monitoring system features a GUI designed on Pygame and shown on the PiTFT screen that describes if a workstation is available, and if not, the approximate amount of time remaining for a particular workstation to become available. A user registers to use a workstation by scanning their associated RFID tag. The workstation will then become unavailable on the User Interface screen, and a PI cam will begin to periodically monitor if the user is still at the workstation. If the camera detects that a user is no longer present at a workstation, the workstation will become available. The workstation will also become available when the time remaining for workstation use becomes zero. If multiple users have registered for multiple workstations, the camera will periodically rotate via a camera servo motor to continuously monitor the multiple workstations that are in use. User data such as the number of individual workstation accesses and the amount of time a user spends at a workstation is logged to a database. The workstation availability and approximate time remaining is also logged to the database. This database is then accessed from a webpage hosted on an Apache web server located on the Raspberry Pi, allowing users to view workstation status and user information remotely. Administrators can also use the website to directly modify a user’s name.

Assembly Line

This project involved the creation of a simulated cyclic assembly line designed to autonomously sort colored wooden balls. The system was engineered with a focus on integration, comprising an upward conveyor belt, a downward track, and a servo-actuated clamp, working in a continuous loop, with a Raspberry Pi Camera to detect the color of the balls and a servo-actuated arm to sort them. The project saw the successful installation of critical packages on a Raspberry Pi, development of a color detection algorithm, and the implementation of a user interface on a PiTFT for real-time control over the conveyor belt speed and color selection. Throughout the project, we faced and overcame challenges such as the installation of hardware components like the clamp and track and the synchronization of the servo and motor. We also developed software to process sensor signals and control the track selector servo. The final objective was to demonstrate a fully functioning assembly line that could sort the balls by color, as adjusted by the user via the PiTFT interface.

Botonic Pet

This project was created by Weizhe Zhao (wz333) & Qingyuan Xie (qx95) for Cornell’s ECE 5725 Fall 2023. The objective was to create a mobile app that transforms an ordinary houseplant into an interactive pet. The app visualizes the plant’s emotions based on sensor measurements, including humidity and temperature of the air, soil moisture level, and ambient light conditions. Additionally, the app provides remote control over a camera for monitoring the plant. At the project’s core is a progressive web app built using Python Flask, and the essential sensor data are sourced from a plant monitor and an LDR light sensor.

Voice Arcade

Our project involves designing a handheld gaming console similar to the PSP and Gameboy, with games that can be controlled using our voice. Our plan is to create two games. The first game is reminiscent of Flappy Bird, where players control a character to avoid obstacles while being able to shoot bullets to destroy them. The second game is a side-scrolling game where players control a character moving continuously forward, avoiding falling off cliffs. The console’s logic is depicted in the diagram below. In the menu interface, players can toggle sound controls, select games, and view the scoreboard. When a game ends, it transitions to the game over screen, where we’ve hidden an Easter egg. After the game over screen, it returns to the menu.

Face Tracking

In the swiftly evolving landscape of interactive technology, the project “Real-Time Face Tracking with GUI-Based Camera Control,” developed by Zilin Wang (zw543) and Yilu Zhou (yz2797), stands as a testament to innovative engineering and user-centric design. This project uniquely combines the precision of real-time face tracking with the accessibility of a Graphical User Interface (GUI) for camera control, moving beyond traditional interaction methods to enhance user experience in various applications. The foremost goal of this project is to develop a robust system capable of tracking a human face in real-time with high accuracy, while allowing users to manually adjust the camera’s orientation using a GUI. At the core of this system is a harmonious integration of sophisticated hardware and software. The hardware components include a Raspberry Pi as the central processing unit, a high-definition USB camera for video capture, and a motorized pan-tilt mechanism for dynamic camera movement. The software aspect is powered by face detection algorithms, utilizing OpenCV, ensuring real-time tracking with minimal latency

Desktop Dashboard Decor

In this project, we want to make our home or study area more comfortable, creating this safe space where we would love to study or live in, therefore we came up with the idea of creating a desktop gadget. We envision this to be a versatile, fun, and aesthetic decor for someone who is into Pixel art. This dashboard will combine different functionalities like controlling Spotify song playback, playing drawing and guessing game, entering Zen mode with weather forecast, and displaying cute animations

PiBot Remote Control Car

This project introduces an autonomous robot car, operated through a Raspberry Pi. The aim is to develop a vehicle that can respond to its environment effectively. The car is controlled remotely through a laptop interface, designed with Pygame. A key feature is the car’s camera, which relays a live feed to the laptop, allowing the operator to see from the car’s perspective. Additionally, the car is equipped with three ultrasonic sensors located at its left, right, and rear sides. These sensors play a crucial role in detecting obstacles and measuring distances. When an object is approaching the car, the sensors alert the system, and the car autonomously adjusts its path to avoid collisions. This project is a demonstration of combining programming, sensor technology, and robotics to create an intelligent vehicle.

Autonomous Chess

Chess is enjoyed by many individuals all around the world, but not everyone has a buddy readily available for a game of chess. Online chess games try their best to match people for games and there are many online simulators available to have players go against a bot. But, nothing beats playing on a physical board. So, our project aims to develop a system where a user can physically move pieces and see the system move its own pieces for a satisfying game of chess.

Smart Fridge

The idea of a “smart kitchen” has changed from being a futuristic notion to a workable solution for everyday convenience and improved food management in the era of the Internet of Things (IoT). The smart refrigerator, an appliance that has gone beyond its conventional function to become a central hub for household food management, is at the center of this revolution. Our project, the Smart Fridge Management System, aims to improve our grocery handling and storage practices by introducing intelligence, efficiency, and sophistication. The Smart Refrigerator Management System is designed to bring sophistication, efficiency, and intelligence to the way we store and handle our groceries. This innovative system employs cutting-edge sensor technology, Computer Vision, database and user-friendly interfaces to monitor and manage the contents of your refrigerator. By scanning the barcode, the system recognizes all the information about the item. It not only tracks expiration dates and alerts when something is expired, but also memorizes the items’ location inside the refrigerator for your fast search.

Remote Control Car

Welcome to the project website dedicated to the Automatic Obstacle Avoidance and Remote Control Small Car. Our project is focused on developing a holistic solution for the small car, encompassing various functionalities. Firstly, our system enables users to remotely control the small car through a specially designed website. Secondly, the small car can seamlessly transition to autopilot mode, autonomously navigating and avoiding obstacles in its surroundings. Additionally, users have the capability to utilize the Pi Camera for remote environmental monitoring by controlling the micro servo connected to it. By integrating advanced technologies, such as the Raspberry Pi, Pi Camera, Micro Servo and Ultrasonic Sensors, our project aims to provide a cohesive and interactive experience, catering to both manual and autonomous control of the vehicle.

PiLatte

Our project uses a Raspberry Pi to create a latte machine that can automatically dispense the ingredients for a specified drink. A mug is placed on a rotating platform. The robot uses sensors to tell the mug to stop, and salt shakers attached to a micro servo motor controlled by the Raspberry Pi are used to dispense the powders at the designated locations. There are also pumps used to dispense liquids into the mug.

Gesture Home

In our final project, we developed a home automation system controlled by hand gesture using Raspberry Pi. Inspired by recent advancements in computer vision, our goal was to bring convenience to individuals, particularly those with limited mobility such as leg disabilities. Users can easily control LED lights, a fan, and a speaker by interacting with the user interface displayed on the monitor through hand gestures.

Tank Wars

This project is an attempt aimed at replicating 2 different ideas as a way of showing how applicable the Raspberry Pi is in a host of diverse activities and in the world of embedded systems. The game basically consists of a tank, classified as the “hero”, facing off other tanks to defend some sort of emblem object which can be destroyed. The enemy tank and the hero tanks shoot at each other as a form of offense. The game is lost when the hero’s lives run our or the emblem is destroyed.

Fuzzy Fruit Picker

Using a Raspberry Pi, this project utilizes the PiCamera for color detection of various fruits (as puff balls) using OpenCV. Once the fruit is identified, the meArm robotic arm uses inverse kinematics to sort them into different bins, by enabling precise control of its servo motors. The code also incorporates GPIO event handling, allowing the user to exit the program or shut down the Raspberry Pi using external buttons.

Drum Tutor

In this project, we aimed to harness the power of embedded systems to create an interactive and portable electronic drum kit. Central to our design was the integration of pressure sensors within each drum pad, capable of capturing the dynamic range of a drummer’s strike and translating it into a symphony of digital beats. Upon impact, these sensors generate analog signals that are then converted into digital form via an ADC, allowing a Raspberry Pi to produce a corresponding drum sound. To enrich the tactile feedback, we incorporated LEDs that flash in sync with the drum hits, augmenting the sensory experience of the drummer.

3D LED Display

Intelligent 3D LED Smart Alarm Clock is an compact designed electronic object that integrates functions like displaying current time, set alarm and make an alarm sound when the set time is reached, switch to different special displaying effects when accelerometer detects pose change, etc. It comprises three LED panels, each has 16×32 pixels, all three panels are installed in the 3D printed base with magnets so they are all dismountable. Three panels form a triangular space, where Raspberry Pi 4B, LED matrix driver hat, accelerometer and button related circuitry are installed inside of it. The RGB matrix driver hat produced by Adafruit is used to drive the LED panels. We employed the open source library rpi-rgb-led-matrix and created many interfaces on top of it to better control all the displaying details in pixel accuracy.

DiveMaster Pro

DiveMaster Pro is an engaging mobile game where players select a character to dive into a swimming pool. The goal is to control the character’s diving through touch screen or buttons, aiming to land on a floating hoop for points. The closer the dive is to the hoop’s center, the higher the score. The game becomes progressively challenging with faster hoop movement and the introduction of obstacles like bombs and crocodiles.

Smart Storage System

Managing personal packages effectively is a daunting task, as conventional storage options frequently fall short in providing adequate security and organizational features, along with the needed technological integration to streamline package delivery and collection. Our Smart Storage System is crafted to revolutionize this process, offering a more secure and efficient storage solution. By integrating advanced technologies such as facial recognition, electronic tagging, and automated notifications, we automate the whole system with timer-related functionalities to elevate the package delivery/retrieval process and overall management, transforming the traditional way of managing packages.

Smart Access Control System

In this project, a smart access control system is developed to implement access control of gates in the building. In this system, two gates are implemented. However, the number of gates the system supports can be easily expanded. The system supports two modes: Locked mode and Unlocked mode. When in unlocked mode, the gate will automatically open when the motion sensor installed adjacent to the gate detects a person. After a short delay, the gate will close. When the system is switched to locked mode, the gate can be unlocked through two methods: password and RFID verification. Passwords can be easily reset through a Graphical User Interface (GUI) displayed on the PiTFT. An additional administrator password is used to protect access to the administrator dashboard. In the case of RFID, the door opens only if a correct RFID tag is detected. Additionally, the access history of all the gates in locked mode can be tracked by accessing the record module in the administrator dashboard including the index of the gate, the time when the door opens, and the name of the person that accesses the gate.

Smart Home Manager

This project aims to create a multifunctional smart home manager with a range of capabilities. This system featured voice control and conversation abilities. It also incorporated human detection for automatic light switching, automatic humidity adjustment, and curtain control based on sunrise and sunset data. Additionally, it included touch control via a user-friendly touch screen interface. Furthermore, the system implemented face recognition using the Pi camera and OpenCV. Also, a comprehensive logging system was integrated to record information activities within the rooms. The smart home manager was developed and deployed on the Raspberry Pi 4B. To demonstrate its functionalities, a small-scale home environment with multiple rooms was constructed. This setup showcased the diverse features of the smart home assistant, illustrating its practical applications within a household setting.

Where’s LORA?

This project features two separate modules. The first module includes a Raspberry Pi, PiTFT, T-Beam Meshtastic, and a camera on a SG-90 gimbal. The T-Beam Meshtastic is a microcontroller integrated with a LoRa transceiver and a GPS. The second module consists of only a T-Beam. A user can place the external T-Beam in some distant location. Then, after traveling a distance away, they can use the Raspberry Pi module to learn about the location of the T-Beam. The T-Beam will constantly beacon LoRa packets with its GPS coordinates. After receiving these coordinates using the LoRa radio embedded in the local T-Beam, the Raspberry Pi module inputs its current location (GPS coordinates obtained by the local T-Beam) and the location of the external T-Beam into a custom GUI to display a map on the PiTFT. It also rotates the camera in the direction of the T-Beam. The user can use the PiTFT side buttons to switch between the map view, input from the camera, and a screen with an arrow pointing in the direction of the external T-Beam.

Magic: The Gathering Collection Manager

In the multiverse of Magic: The Gathering (MTG), the complexity and variety of the card collection is what makes the game so great. It is easy to see a common challenge among players: the task of organizing and managing extensive card collections. Inspired by this, we developed a system that not only autonomously digitizes MTG cards, but also simplifies the management and tracking of these collections. Our project brings many elements of engineering together with our physical feeder mechanism to our QT user interface and our SQLite database. We strived to create a solution that blends practical utility with the engaging world of MTG. This project challenged us to push our boundaries, expand our skills to find ways to bring this project together.

 

Comments are closed