Vincent Kwok

Beer Dispenser Halloween Costume

I got invited to a Halloween party and realized that I have to show up with a costume. It turns out Halloween costumes are the biggest scams. So I decided to make my own since it was pretty short notice. Queue the most intense 6 hours of my life, where I put this costume together and barely made it to the party on time.

Last year, my costume was “Beer Pong” this costume uses a cardboard slab as its main body with velcro attached in a cone shape like how cups are oriented in beer pong. The idea is that when someone wants to play beer pong, I would just lay on the ground and pour some beer in the cups. I think people really enjoyed this concept because I ended up winning a costume contest that year! Anyways I want to create a costume of similar caliber of coolness so here it goes.

read more

Summer Documentation Video

To compile all my projects I have made so far for this website (and more), I have created a 3 minute video. This video took quite a bit of time to edit. A lot of the footage used in this video was rerecorded by recreating the original projects causing even more delays. For this 3 minute video, at least 12 hours were spent on its production. Enjoy!

read more

Constructing a Bluetooth Robotic Car with Directable Water Pump System

As this is my final project of the summer, I want to incorporate aspects that represent the culmination of what I have learned in terms of problem solving, circuitry, and embedded systems programming. In pursuit of a project that stands out from the norm and showcases my creativity and technical skills, I embarked on the endeavor to design and construct a “Fire Fighting Vehicle.” This project even on the surface level has several complex components that should require a good amount ingenuity and creative workarounds.

IMG_20230915_002505

^ Completed Robotic Car

read more

Building a game controller and airmouse using accelerometer

My previous jumprope game has been a really fun and complicated project, I want to advance even more into the realm of interactability with my creations, using more inputs that can be entered by the user. If you have read the introduction of myself in my blog post, you may remember that I enjoy videogames. I believe creating a videogame controller follows this theme of user interactability and having the ability to play games with. I also believe this project could be a really good segway into scripting and automation. These skills could be valuable in terms of productivity and job prospects as well as opening the door for genuinely helpful projects.

Screenshot_20230904_161129_com huawei himovie overseas ^ Airmouse

read more

Creating a customizable jump rope game with a VL53l0X sensor

Recently, I have ordered a VL53l0X sensor. A VL53l0X sensor is a distance sensor similar to the HC-SR04 ultrasonic sensor which can also be configured to measure distance by using the travel time of sound and its reflection off an object. The difference between these two sensors is that the VL53l0X sensor uses a laser to judge distance. Lasers are inherently more accurate of a distance measuring tool as sound may bounce or return at an angle which can highly vary the return time of sound while light is a bit less variable. Lasers are also more focused than sound waves, this allows the sensor to pick up on a more narrow cone of vision, which ultimately helps the accuracy of measurements. I initially purchased this sensor to improve my proximity light, as the ultrasonic sensor sometimes malfunctions and is hard to use to test the code with. I finished this change very quickly, which improved the behavior of the proximity light so I decided to begin another project.

VL53L0X

^A VL53l0X sensor. A time of flight laser ranging module.

read more

Creating a Robotic Arm Prototype

I have done a lot of projects that pertain to very electronic related things that do not have moving parts. I would like to have a project that is capable of some type of movement and customizability. A robotic arm seems like a pretty simple idea. In essence, you must be able to control a number servo motors at the same time with the arduino, connecting each servo together with the material of the arm.

Screenshot_20230810_001102_com huawei himovie overseas

read more

Making Logic Gates from scratch on PCB

I have been doing Arduino projects for a while and have been continuing to do so but I don’t just want to be a 1 trick pony so I have decided to make something using just the electrical engineering fundamental knowledge I have. For this project, I will not be using Arduino as it seems a bit too easy to do some things. Arduino is often considered a tool of hobbiests to tinker with. While this is often very convienient, I want to do a more time consuming project that focuses a bit deeper into the bread and butter of electrical engineering. I began this project by drawing some schematics of logic gates without using the internet as a challenge.

PCBlogicgate Final Draft of PCB

read more

Making a Proximity Sensor Light

While the Ultrasonic sensor project was interesting, I wanted to add a little more flexibility in my skillset of Arduino, I have noticed a lot of Arduino related projects are very focused on manipulation of light and so I have decided to kind of combine the ideas of GLSL’s color related syntax as well as the ultrasonic radar’s ability to detect distance. I went and bought some WS2812B LED’s from Amazon and got to work on a light that would change color the closer you are to it. I believe this is the first project I have created that could easily be a device that can change someone’s quality of life with just a few changes. A light that gets brighter as you get closer to it could be used as a night light for young children of people with bad eyesight. It can be used as under lighting for a bed, desk, or stairs to prevent someone from running into it. LED lights are also a popular decoration tool right now for younger people. Being able to program LED lights outright seems like a valuable skill to have so lets do it!

IMG_20230714_145451

read more

EE 371 SystemVerilog Labs

I have decided to do a recap of my projects in the class of EE 371, it is the second class in the SystemVerilog series for electrical and computer engineers at the University of Washington. I took this class in the Spring quarter of 2023 A brief class description is shown here. This class focuses on using ASMD charts, timing diagrams/concepts, pipelining, and creating block diagrams that can be modelled in code by using modules that correspond to certain structures in hardware. The labs of this course require the full programming of RAM and mathematical operator modules as well as a full documentation of each lab as well. I have included the GIT repo for the labs, code and reports of the class as a post explaining how each lab is programmed would be far too long.

A basic summary of each lab is included below:

read more

Making an Ultrasound Instrument

Following the idea of creating some larger “musical” system using electrical engineering which I touched upon in the GLSL post, I think I will probably require some sort of basic instrument as a starting point. I have been looking at some basic arduino sensors that I have to see what I can use to generate noise. I decided to go with a HC-SR04 Ultrasonic Sensor. The HC-SR04 sensor measures distance away from the nearest object in it’s cone of vision. The sensor has a transmitter and a reciever (called the trig and echo pin/sensor respectively). This sensor uses the concept of the speed of sound being a constant, with this assumption, a sound wave is emitted from the trig emitter and received by the echo receiver. By using some basic math involving the speed of sound and the time between ultra sound emission and receiving, it is possible to calculate the distance of an object from the sensor.

IMG_20230706_174925

read more

Starting GLSL language

I have been looking into several Youtube rabbit holes recently and found a few interesting videos on shader related coding languages, I found a few quick tutorials on the topic. Looking deeper into shaders and rendering, I’ve remembered that although I have a graphics card in my desktop computer, I have not really used it yet for anything besides gaming and some small machine learning training processes. Although I assume it will take a long period of practice before I would put any meaningful load onto my GPU, I think it would be cool to say that I have experience in computer generated graphics. I often see computer generated images on the internet and can see many applications for them. Visual synthesizers for music and entertainment purposes could be a start. Perhaps getting into 3-D rendering and lighting though it looks far out of my scope of knowledge for now. Anyways, combining this with some electrical engineering principals on making music and maybe I can make something interesting in the future. Hear’s what imagine, an entire concert played by my instruments and visuals. Sounds cool.

Small GLSL ^One of my final products!

read more

Small AC unit

As a final project for my CSE 474 class “Introduction to Embedded Systems”, we were tasked to create a model solution to a problem using task schedulers in arduino. Using a preemptive scheduler provided by FREERTOS, which can be quickly incorporated with arduino, my lab partner and I were able to create what could be considered a air conditioner, or automated fan.

ACimage

^Final Product!

read more

Welcome to my website!

Today I have started my website, I have never really used github for much so this is my first time using it with Jekyll to create my own website! It seems pretty simple after checking out the code and templates. This is a test post to see that I am updating the blog tab correctly!

read more