I'm currently a first year electrical engineering UWaterloo student venturing into the world of Hardware Design. My passion revolves around bringing impactful solutions born from creativity and the magic of modern technology. To achieve this, I've been and am actively seeking to refine my skills from architecting digital logic in chip design to building scalable, user-facing applications. My hobbies include dissecting old electronics, messing around with system ricing and automation scripts on my linux computer, and mixed martial arts.
Blystwatch is one of the first PCBs I've designed completely from scratch, built as a demo board to show off real firmware development on Nordic's nRF54L15 (via the BLYST L15 module) running I-Syst's IOComposer AI.
What started as a fairly standard sensor board turned into a real lesson in power-system design: swapping in a single PMIC to replace separate charging and regulator chips, designing a custom 6-pin dock so the watch never needs an exposed USB-C port or debug header, and learning the hard way why every active IC needs its own local decoupling cap instead of relying on one big one.
The part I'm proudest of is catching a battery-killing bug before it ever reached a board house: a wake pin on the power-management IC was directly tied to a GPIO on the SoC, which would have silently bled the battery dry through a parasitic leakage path the moment the watch went into ship mode.
Hunting that down, understanding exactly why Nordic's own hardware guidelines warn against it, and re-wiring the fix myself taught me more about real power-rail design than any sensor integration on the board did.
It's a small, low-cost 2-layer board, but it's the project where I stopped just placing parts and started actually understanding the power and signal paths underneath them.
I designed a USB-C to USB-A SuperSpeed bridge adapter to solve a genuinely annoying problem on my own bench: every modern laptop we own has gone USB-C only, while half my design team's FPGA dev boards still debug over USB-A.
Rather than buying a generic dongle and hoping it doesn't bottleneck our 5Gbps signals, I built my own around TI's HD3SS3220 analog mux, and treated it as a real signal-integrity exercise rather than a quick hack.
What I'm most proud of isn't the first schematic, it's the second and third one.
A round of honest design review caught real mistakes I'd made: a missing decoupling cap on the mux itself, an LED wired so it would never actually light up, AC-coupling capacitors doubled up in a way that would have quietly halved my high-speed coupling capacitance and degraded the SuperSpeed link.
Chasing those down, rereading the datasheet line by line, and re-deriving things like wetting current and open-drain pull-up math from first principles taught me more about practical high-speed PCB design than any of my coursework did, and turned a small adapter board into one of the project I learned the most from this year.
At the end of my first term of university, we were given the chance to create our own projects with the purpose of solving a real-world issue that affected a large percentage of patients in hospitals. That problem was Hospital Induced Delirium, a severe state of confusion and cognitive impairment that could cause devastating consequences such as memory loss and hallucinations. From going through various research papers, our team narrowed down one of the major causes of this condition, that being excessive noise levels. By combining a Raspberry Pi as our main computing unit, two microphones to serve as reference and error adjustment, and a speaker, we were able to make a prototype of our solution within the short span of a month. We learned to leverage the MATLAB audio toolbox along with the RPi Support Package to create an automatic calibration system and a continuous noise cancellation loop that works at long distances.
The BlueIO832-Mini is a Bluetooth Low Energy microcontroller based on Nordic Semiconductor's nrf52832 SoC.
It is aimed to provide an intuitive learning experience similar to the Arduino, but with a lower entry level that doesn't require knowing how to code.
I was fortunate to be able to write the four mobile applications that pair with this microcontroller and serve as the medium to configure the board's pin functions.
Each of these four apps allows the user to effortlessly interface with external hardware, configure communication protocols, and monitor sensor data without ever needing to write a single line of embedded firmware.
Coming soon on both iOS and Google Play, Mai is a mobile application that takes period tracking one step further than other menstrual apps. Along with its light predictive engine, Mai pairs with the Blystpad, a smart bluetooth heatpad, in order to help reduce period cramps. Mai notifies the user about their upcoming menstruation dates and reminds them to use the Blystpad based on increasingly accurate period predictions from past user data. To keep the app lightweight, the predictive engine uses a simple K-NN machine learning algorithm paired with an Exponential Moving Average fallback mechanism that dynamically adjusts based on historical user data deviations.
This was a hobby project with the sole purpose of boosting my daily productivity while keeping my desktop user-interface aesthetically pleasing on desktop Linux. By combining Hyprland (a Tiling Window Manager) and Quickshell, I was able to create a personal desktop environment as minimal as possible while still retaining the core essential functions. Along with this setup, I've written various Bash Scripts linked with Hyprland to pull up my essential applications (Discord, Slack, and Notion) as a special workspace, automatically update my packages using Pacman, and display the computer's system activity statistics.
As part of the final assignment in my grade 12 computer science class, we were given the full liberty of creating our own C++ project. Along with 2 classmates, I learned to build a video game that leveraged the Axmol Game Engine (a fork from Cocos2d-x). Through Continental Buffet, I was able to combine my understanding of Object-Oriented Programming with efficient JSON data handling to deliver a game that introduces you to various dishes across the world.