Portfolio

Info about my portfolio

This portfolio includes projects demonstrating my abilities in computer software, hardware, app development, and video games. This page consists of personal projects, solo college projects, and team college projects. Each project has in depth details and notable pictures demonstrating functionality.

Survival PCB Business Card

This was a personal project that started at the end of my Bachelor’s degree. It is a business card that conveys compass magnetic north, temperature, and UV index. It is powered by a CR2032 battery and the software runs on an ATmega168PB microcontroller. The idea is something I can give to prospective employers to prove I know a bit about embedded systems and software. It was revisited after I gained experience in the industry and is currently version 2.0. More information can be found here.

PCB Survival Business Card in Holder

 

Emergency Vehicle Detection Robot

This project brought together a ready-to-run RC car and a Raspberry Pi equipped with a camera and OpenCV. The focus of this vehicle was the detection of emergency vehicles and pull over if detected. It used a cascade classifier trained on around 100 positive samples and 200 negatives. The car was capable of detecting police vehicles, ambulances, and fire trucks and classifying them separately. To further this project, microphones and light sensors could improve detection accuracy. The goal was to learn OpenCV and create a proof of concept for a real world autonomous necessity.

  

 

Coral Dive Communicator – iPhone app

Senior project designed by myself, Vincent Benavidez, and Zachary Collins. The goal was an app for scuba divers to communicate underwater, share dive info, and log dives. The final product allowed both sharing and communication features. However, some of the logging capabilities didn’t end up happening due to a large focus on communication. This communication technique borrowed from my previous project dealing with data transmission with sound, as radio waves don’t attenuate well underwater. We created the app using Swift for Apple IOS devices on macOS, however some of the libraries and functions were in Objective C. Zachary Collins created the website that details the concept for the app. Demonstrated in the photos below is the final app.

Coral App Splash Screen   Coral App main menu   Coral App Dive Mode   Coral App Share to Facebook

 

Raspberry Pi IoT network

Client and Server connections between Raspberry Pi dev boards and computers with socket programming via TCP/UDP. Devices could register with a server and perform network analysis using ping and traceroute. Then it shared the info with other devices and the cloud through an API. The programming language used was Python and included threading to allow concurrent connections.

 

Low cost data transfer using sound

Using MSP432 dev boards (32-bit ARM) equipped with microphones and speakers, I created a network of devices that could transmit packets of data using sound only. This method used fast Fourier transform (FFT) to detect the frequencies to do bit conversion. It had a limited amount of error detection and sender/receiver information, but the focus was creating hubs that were low cost and could send and receive data. The protocol was very UDP in nature.

 

Quest for Booty – Nintendo DS game

An embedded game designed for the Nintendo DS system solely by me for an embedded games class. It is an arcade style game where the goal is to fight off sharks, collect doubloons, and impress the mermaid. The game engine was designed from scratch in embedded C, and includes basic gravity, collision detection, and difficulty levels. All artwork was my own creation, although not my strongest feature…

      

 

RFID treasure box

A gift consisting of an ATmega328 (8-bit AVR) interfaced to an RC522 RFID reader and servo. The box can lock/unlock internally if the correct RFID cards are detected over the top of the box. Also, it is rechargeable and stores access info and servo states in memory for a variety of uses.

      

 

Fitness tracker “clone”

ATmega2560 dev board (Arduino/8-bit AVR), SPI FRAM memory, and an ADXL335 accelerometer to create a fitness device to track movement from the accelerometer and analyze the data. Different activities, like strenuous or non-strenuous could be predicted. Also, the data stored in non-volatile memory to be analyzed later externally. Turns out the chip was a lot more powerful than what was needed, but it’s what I had laying around at the time.