My Projects

2017-2019

FIRST Robotics Deep Space Competition (2019)

I joined FIRST (For Inspiration and Recognition of Science and Technology) , one of my high school's robotics teams, in 2017. I became the lead programmer in 2019, and this year was great because with the help of the junior programmers we were able to make new control innovations. We were able to make our robot accelerate smoother, which reduced the wear on the drive train and allowed for more precise driver control.

Here was how the robot was moving before:

Here was how the robot was moving after:

Also, our robot also had a metal arm with a hook that would move up and down to place a disk (placing disks was one way of scoring points ):

Unfortunately, the 3D printed spool holding the wire in the video broke right before competition! I MacGyvered a more durable spool replacement: I took two wheel hubs and stuck them together with some JB weld (metal epoxy):

Here was me testing it at home (in similar operating conditions):

It worked! It was a lot more durable because it was metal and not made of plastic (though we did have to shave it down to fit the robot's dimensions).

Here's a picture of me and my team (unfortunately I couldn't find a picture of the entire team) doing our outreach events:

Me and my teamates

Go Team 988: Steel Phoenix 🐦‍🔥!

2019-2023

The following are the projects I worked on while I was a student studying Computer Engineering (CpE) at the University of Nevada, Las Vegas (UNLV)

Departure Mood: An Emotionally Intelligent Airport Kiosk

A project I did with architecture majors for Las Vegas Make-A-Thon 2.0 hosted by UNLV. I was responsible for making the prototype, which was just an Arduino, a shield, some buttons, and LEDs. I think I could have done more, but we only had one day to make the prototype, and it was my first time working with Arduino. We made it to team finals! I think the judges like our presentation and visuals a lot.

CS:VO: A 2D Shooter

A single-player 2D version of CS:GO, where the player, map, and weapon projectiles were all ASCII characters. In the video, the '@' is the player moving and the 'A' is the bot moving. I thought it was cool because I used Djikstra's shortest path algorithm and the stack data structure I learned in class to make it work.

Tremors: A Shooter Arcade Game on FPGA

A game I made for my first submission to UNLV's Junior Design competition. With the help of my partner, we made a shooter arcade game made in Verilog and deployed on the DE2-115 FPGA. We had to design the hardware to do everything (no operating system, compilers, or higher-level programming languages!).

Disco 9: A Memory Matching Game on FPGA

A game I made for my second submission to UNLV's Junior Design competition. I learned about linear-feedback shift register, and I thought its cyclical nature would be good for some pattern matching game. It won third place!

SMP8: An 8-bit microprocessor

An 8-bit microprocessor that I designed in Verilog and deployed to a DE2-115 FPGA. I know it's not as visually appealing as the games, but I thought it was really cool making a CPU (albeit a very very primitive one.)

Here is the diagram of the microprocessor and the instructions it could do.

Embedded Systems: A Cool Radar

A radar that could go from 0 to 180 degrees that I made with an ultrasonic distance sensor, a servo motor, and an Atmega328PB microcontroller for my embedded systems class. The class really taught me how to be methodical and patient with debugging and troubleshooting because there was so many places things could go wrong (wiring, program logic, register configuration, and even buffer size).

It was all the more satisfying when things actually did work!

Capstone Project: UFC Smart Grappling dummy

An aluminum skeleton instrumented with strain gauges, so fighters can track their force output in three different submission techniques: the chokehold, the armbar, and the ground and pound. I calibrated and read the force readings using an ESP32 microcontroller, transmitted them via Bluetooth, and displayed them on a custom-made Android app, using Python and Kivy. I worked with mechanical engineering majors and an electrical engineering major to figure out how the strain gauges should be fixed to the alumnimum skeleton to get accurate readings. We presented our project in the UNLV Spring 2023 Design Competition, explaining and showcasing it to the public and judges. We won the interdisciplinary award, which recognizes our project for technical innovation and cross-disciplinary teamwork!

Here is me and the team (the skeleton would go in the dummy and would read chokes like so):

Me and my teamates

Jon's Adventures in Tech Website

You're on it right now! This is a way for me to learn web development fundamentals (HTML, CSS, and Javascript) and share my creations.