Projects
Custom PWM + Timer Peripheral for FemtoRV SoC
Designing and integrating a custom memory-mapped PWM/timer peripheral for the FemtoRV RISC-V processor, enabling real-time waveform generation on the iCE40HX1K FPGA.
-
Built entirely in Verilog RTL with counter, comparator, prescaler, and auto-reload logic
-
Added a memory-mapped register interface for duty cycle, period, and control settings
-
Integrated the peripheral into the FemtoRV system bus and synthesized on the iCEstick
-
Wrote a lightweight RISC-V driver using a polling-based update method
-
Demonstrated functionality through LED fading and basic servo control
​
​​
Indoor Path Localization Using Channel State Information
(EECS 498)
Collaborated on the design of a CSI-based indoor localization framework to identify occupant locations within a building during emergencies
​
-
Collected data across five distinct locations
-
Used a neural network model to predict device location from wireless packets
-
Achieved ~80% accuracy on training/testing data
-
Generalization to new data proved challenging only ~40% accuracy
​​
This project was valuable as I learned about OFDM modulation and neural network design
​
Check out our presentation here
Smartwatch Project
Built a custom smartwatch by developing fully customizable firmware on top of a pre-designed hardware platform. This system integrates an accelerometer, touchscreen display, Wi-Fi, RTOS and power management.
​
I created this project for my startup to teach students how to design real embedded systems. This covers everything from low-level firmware to multitasking, sensor integration, and UI development. It serves as a hands-on, industry relevant introduction to embedded engineering
Autonomous Robbery Project
(EECS 452)
Designed an autonomous "cop and robber" RC car simulation
-
Demonstrated image and audio processing for autonomous vehicles
-
Used binary thresholding and a proportional controller for cop car
-
Created an amplitude-based audio detection algorithm for robber car
​
Adaptive Cruise Controller (EECS 461)
Collaborated to develop an embedded adaptive cruise controller with haptic feedback
​
-
Designed completely through Simulink
-
Auto-generated C Code
-
Run on an NXP microcontroller
​
This project taught me about real-industry practices with rapid prototyping​
Magnetic Levitation Lab (EECS 460)
Collaborated to design a robust controller and deployed it on a magnetic levitation device
​
-
The two opposing forces were a gravitational force from the ball's weight and a magnetic force created by an induced current
-
Linearized system dynamics, calculated equilibrium point, and designed a PID controller with zero steady-state error and a settling time of 3 seconds
-
Added a pre-compensator to reduce overshoot, computed gain and phase margins, and simulated controller under various nonlinear simulations
-
Tested our controller and precompensator in a lab where we evaluated our system through multiple simulations
-
Created report to highlight design, results, and reflections throughout the experiment
You can view our final project report here
Musical Artist Identification (EECS 351)
​Collaborated on a MATLAB program designed to identify a music artist based on their own songs, addressing the scenario of hearing a song without knowing the artist
-
Selected 10 songs from each of four different artists
-
Tested whether our program could match each track to its performer
-
Achieved ~77% frame per frame accuracy
​
This project gave me valuable experience with audio filtering techniques, audio fingerprinting, and machine learning
​
Check out our website here
​​
Custom RISC ISA Toolchain: Assembler, Simulator, Linker, Runtime (EECS 370)
-
Built an assembler, simulator, linker, and recursive runtime for a custom RISC ISA, implementing instruction encoding, control flow, memory modeling, and stack-based execution
-
Created mutation-tested assembly suites that exposed buggy implementations and
-
Verified correctness, error handling, and architectural edge cases across the toolchain
You can view my projects here
Algorithmic Systems Design and Optimization Projects (EECS 281)
-
Designed and implemented end-to-end algorithmic systems using advanced data structures (heaps, hash maps, graphs, balanced trees) to solve large-scale search, optimization, and scheduling problems with strict performance constraints
-
Analyzed runtime tradeoffs and engineered optimized solutions through profiling, asymptotic reasoning, pruning, and careful memory management
-
Achieved correctness on complex edge cases while meeting time and space limits
​​
You can view my projects here