Fun Fact #2: I created a series of MatLab functions to solve convention problems significantly faster and sent it to everyone in my Heat Transfer class (with instructor consent). It was so much faster because it automatically did all of the table lookups along with the iterative interpolation. Since this work previously had to be done mostly by hand, my functions made a lot of people happy.
I saw this project on github and had to give it a go. The display lasts 6 months on battery life since it only updates once every half-hour. E-ink displays are great since they don't require power to keep the graphics on display. I set it up to connect to my Wi-Fi and hung it next to my front door. Along with the outside temperature, precipitation percentage, wind, etc., it also tells me the temperature and relative humidity within my home since I installed a BME280 sensor with it.
Since working for GE Global Research, I've had the opportunity to work on some different aerospace projects. If you're unaware, one of General Electric's main products is jet engines. Anyway, I can't take credit for the design of this model, but it was an absolute pleasure to print, assemble and better familiarize myself with different parts of a jet engine. If you'd like to make it yourself, follow the link here.
In early 2023, my wife I learned we were expecting another child, and decided to reveal the news to our families via an electronic puzzle box. The box is a cube with a QR code and battery switch on the bottom, four different colored banana lug ports on each side, and an LED matrix on top. After using the QR code to get to the puzzles and solving them, the LED matrix lights up and the words "We;'re pregnant!" scroll across. We also submitted the project to Instructables.com and won a 2nd place prize (see here )!
I programmed the heading and velocity controllers in MATLAB for a virtual self-driving car to finish an obstacle-ridden track. I used a Stanley controller to control the heading and a simple proportional controller to control the velocity. In addition, as the heading rate increased, I reduced the forward velocity. For debugging purposes, I created a simulation of the track and car as shown in the video on the right. Our team's car took 3rd place out of 35 teams in a race to see whose car could finish first without hitting any obstacles or leaving the track. A link to our code can be found here.
As part of a team competition, I programmed a 5-DOF robot in Python to sort blocks by size as shown in the video. To get here, I calibrated the camera to find a camera-to-world transformation (extrinsic matrix) and derived the inverse kinematics for the arm to determine joint angles for a desired end-effector position. Additionally, our team used OpenCV to detect blocks using a combination of depth and color information from an overhead camera. An in-depth description of our project can be found here .
In one of my programming courses, I used C to code a GUI for the Linux terminal (technically Windows Subsystem for Linux) in order to quickly test how different parameters impacted the performance of a simulation. The simulation shows a chaser robot (green triangle) chasing the runner robot (red triangle). The runner robot isn't trying to escape, but just moves randomly.
I designed and constructed a robot arm using servos which actuate water-filled syringes. The design is completely unique--I created the entire model using NX, and then used a combination of 3D printing and laser cutting to create the parts. The robot can rotate 360 degrees and the claw is actuated using two gears in a rack and pinion setup.
Using a variety of sensors (temperature, capacitive, force, accelerometer), I created an IoT device to detect if a baby has been left in a hot (or cold) car. Whenever the temperature sensor and any other sensor is triggered, it sends a notification to the parents via email or text. Since about 39 kids in the U.S. die per year from being left in a hot car, I hope to use today's technologies to lower that number. For a more detailed description of my process click here
Using a variety of manufacturing processes, I created a mini engine made from brass, steel, and aluminum. The flywheel was made using sand casting. I made the crank wheel using powder metallurgy. I machined the rest of the parts using a lathe, mill, and drill press. Finally, I sand-blasted the engine to give it a finishing touch. It runs on compressed air with no issues for at least 2 minutes (that's as long as I tested it for)
I was on a competition team tasked with designing a robot to collect, sort, and distribute different colored ping pong balls to their designated locations. We built the robot from the ground up, programming the microcontroller directly using C and creating our own PCB in Eagle. The robot made decisions based on a combination of sensors, including IR sensors, bumper switches, and photodiodes. Overall, our team took 6th place out of 30 different teams.
As far as my specific responsibilities on the project, I made the base of the robot as well as the lifting mechanism. Also, I wrote up the scoring algorithm for the robot so the designated software guy on our team could more easily implement it in the code. As a finishing touch, I also made the video shown on the right to document our process (WARNING: Failures and fun sound effects included 😉).
I was part of a team to create a drag measurement device that could effectively measure the coefficient of drag when compared with an off-the-shelf measurement system. Specifically, I performed the wind tunnel testing, strain gauge calibration using a full Wheatstone Bridge, designed and 3D printed the application shaft, and performed an uncertainty analysis by hand and in MatLab.