Zachary Besta's portfolio

Welcome to my portfolio!

My name is Zachary Besta. I graduated from Iowa State University in May 2020 with a Bachelor of Science in electrical engineering. My main focuses were communication systems and computer hardware.

For the most recent version of my resume, please contact me via email.

My hobbies include model kits, tinkering with retro gaming hardware, cooking, and music creation.

Projects

Android sampler application

An image of a tablet with a sampler app on screen. The app has nine buttons on the right and a menu on the left.
A concept image from the app development process.

In senior design, I worked with Dalton Sherratt and Eric Stablein on the project "Sound Effect Devices for Musicians." The device we chose to create was a sampler for Android devices. We decided to create a sampler mainly due to the lack of robust samplers available on the Google Play Store.

I primarily worked on the signal processing components of the app. That includes pitch-shifting, envelope application, and equalization. I also worked with Dalton on the UI design and organized group meetings.

The most significant source of new knowledge on this project was working with Java. Before this project, the bulk of my programming experience was in procedural languages such as C. While Dalton was the project's main code developer, I was able to gain new insight into object-oriented programming thanks to his help. Also, I learned a lot about the Android operating system and applied knowledge of Git collaboration from my electives.

The project website is available here.

The primary contribution I feel I gave the group was my experience with procedural programming and communications systems. While communications and signal processing are different areas, they share enough conceptual overlap that I was able to contribute new viewpoints during our effect module design. My experience with procedural programming helped the group break the app into several smaller steps to simplify debugging.

Tools and software used:

MIPS processor

For CprE 381's main project, I worked as part of a group of six to design a MIPS processor using Verilog HDL. The project built upon and made use of all our labs in the course, but began in Feburary 2020.

I primarily worked on the testbench design to verify that our components were operating as expected. I also created test programs to demonstrate the processor's functionality and designed some components, including a barrel shifter.

This project was a great chance to improve my understanding of Verilog HDL and assembly language. Assembly language has been an interest of mine since I started exploring programming at Iowa State, and designing a processor gave me a lot of insight into MIPS assembly and the tradeoffs of RISC vs. CISC architectures.

The primary contribution I gave the group was my insight into the troubleshooting process. As an electrical engineering student, the way I approached problems was a little bit different than the other group members, and the new perspective helped solve problems more quickly. That also worked the other way - the computer engineering students I worked with were able to help me troubleshoot as well. I also contributed to the testbench design process and copy edited the final project reports.

Tools and software used:

Heating/cooling knee brace

During Fall 2019, I joined the Biomedical Engineering Society's project team to work on a knee brace making use of Peltier components to heat and cool certain muscles. I worked with the electrical team to model the system, choose an appropriate placement and number of Peltier components based on power requirements, and assemble test circuits.

The main role I undertook in the project was supporting the electrical team. While the main meeting time during the Spring 2020 semester conflicted with one of my courses, I used the team's group chat to stay in touch and to help with questions.

Because the electrical team consisted mainly of mechanical engineering students, I brought a different perspective to the team. I was able to help ensure that the Peltier components were arranged in a way that would allow the device to be battery-powered for portability and convenience.

Tools and software used:

Simulated microphone jammer

An image of Simulink model of a microphone jamming system.
An image of the Simulink model's block diagram.

In EE 321, Dr. Sang Kim introduced us to the paper BackDoor: Making Microphones Hear Inaudible Sounds. The article discusses a method of jamming microphones by making use of nonlinearities in their amplifiers. I worked with Salvador Salazar-Garcia to implement such a system in Simulink to compare the effects of different tone types. This project was a fun chance to take advantage of aliasing in a creative and useful way.

My primary role in the project was modeling the system. I created the Simulink model of the simulation used for the project's comparisons.

The knowledge I gained from this project was how to model a real system. It also provided a look at how something undesirable (nonlinearities in amplifiers) can become something desirable (a way to disable recording). Simulink was used to create everything used in the project.

Tools and software used:

Four-tone synthesizer

An image of the synthesizer's block diagram.
An image of the synthesizer's block diagram.

For my EE 330 final project, I worked with Isaiah Exely-Schuman to create a synthesizer capable of playing up to four tones simultaneously. Other requirements included the synthesizer needing to be tuneable and support waveform switching.

My primary roles in the project were filter design, presentation preparation, and circuit construction and troubleshooting.

The knowledge I gained from this project included mixer construction and the use of oscillators.

We used breadboards to prototype and to create the final synthesizer circuit. We also modeled the circuit throughout the project using SPICE. Oscilloscopes were used for troubleshooting.

Tools and software used:

Remote-controlled vehicle

A sketch containing three illustrations. The first is a car approaching a crosswalk. The second is a car parking. The third is a car detecting a pothole.
An image of the project's user-centered sketch.

The course CprE 288 requires students to make use of all sensors covered in the course's lab during the final project. My group and I originally planned to create a self-parking vehicle using the iRobot platform, but switched to remote control due to time constraints and difficulties implementing an effective parking algorithm. The vehicle made use of multiple analog sensors including IR and ultrasonic distance sensors. We also made use of the platform's cliff and bump sensors. The robot was controlled using PuTTY over wi-fi with a C program handling the movement and command detection. I worked as a team member with five other students across the computer, electrical, and software engineering disciplines.

My main roles in the project were writing the robot's movement code, sensor calibration, adding audio feedback and warning alarms, and attempting to implement a self-parking algorithm.

This project gave me a lot of insight into effective strategies for working in a large team and creating clear code. It also gave me experience working with a microcontroller (the Tiva TM4C123GH6PM) based on information from a datasheet. The main tools used were the Code Composer IDE for coding and Google Drive for reports.

Tools and software used:

IEEE-HKN RFID Receiver

I worked on this project from February 2019 to December 2019. Its goal was to make checking into events faster and easier using an RFID (radio-frequency identification) scanner. To check in to IEEE events, students needed to type in their Net-ID, which created a slow line. Meanwhile, HKN had no way to track their members volunteering in their help room. An RFID scanner would read information from a student's ID. Then, a software interface would pass the data to an API and record attendance. Creating an RFID scanner would eliminate the check-in delay and let HKN track volunteering.

Though low student interest forced the project to cancel in December 2019, it was a great source of team experience. The project team was a group of about ten engineers from electrical, software, and computer engineering. Project members split into two teams based on their interests: a software team and a hardware team.

I worked on the hardware team to create an interface to connect a transponder IC (integrated circuit) to an antenna. My primary responsibilities were prototyping designs and component research.

The RFID project was one of the larger interdisciplinary projects I worked on at Iowa State. It let me apply the project planning skills I learned taking EGR 470 through Iowa Western Community College. The main topics I learned about through the project were encoding schemes, printed circuit board design, and interfacing with transponders.

The tools used in the project were oscilloscopes, breadboards with circuit components, Energia, and Autodesk Eagle.

Tools and software used: