top of page

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

bottom of page