Developed a wearable multisensor control system using STM SensorTile and ESP32-CAM enabling hands-free IoT control via IMU head-pose tracking, EOG blink detection, and real-time computer vision.
Built a multi-stage EOG signal-processing pipeline (median, Butterworth band-pass, 60 Hz notch, Savitzky–Golay, peak detection) achieving reliable multi-blink gesture recognition.
Designed low-latency ESP32-CAM TCP streaming (65–90 ms) integrated with YOLO v11 multi-frame object detection for robust device confirmation.
Achieved ~320 ms end-to-end system latency through optimized asynchronous BLE acquisition, TCP streaming, and sensor fusion in a multi-threaded Python backend.
Implemented LAN device discovery, calibration mapping, and system evaluation including gesture-recognition accuracy (82–87%), thermal stability, and sensor reliability under real-world movement.
Developed embedded firmware for the Pololu 3pi+ 2040 robot using C and Lingua Franca on a Raspberry Pi RP2040 microcontroller, managing real-time tasks in a bare-metal environment.
Designed multi-sensor navigation with accelerometer and gyroscope for tilt detection, line tracking with infrared sensors, and bump detection via GPIO interrupts, enabling stable autonomous navigation with response times under 5ms.
Implemented I2C communication for real-time sensor data acquisition, employing low-pass filtering and calibration to reduce noise by 20%, ensuring reliable sensor fusion and orientation control with ±1.5° accuracy.
Programmed precise motor control using encoder feedback and PID tuning, achieving less than 2% error in encoder count accuracy and consistent speed across slopes up to 15°.
Utilized concurrent state-machine modeling and task coordination in Lingua Franca to synchronize parallel processes—line tracking, motor control, and obstacle avoidance—achieving sub-millisecond timing precision for efficient resource management and seamless performance.
Skills: Embedded firmware, C programming, Lingua Franca, Bare-metal programming, Raspberry Pi RP2040, Multi-sensor integration, Tilt detection, Line tracking, Infrared sensors, GPIO interrupts, Real-time response, I2C communication, Sensor calibration, Noise reduction, Low-pass filtering, Orientation control, Motor control, PID tuning, Encoder feedback, Speed tracking, Concurrent state machines, Task synchronization, Sub-millisecond timing, Real-time systems, Autonomous navigation, Resource management.
Programmed the Sawyer Robot to solve a Rubik’s Cube by implementing the Kociemba algorithm, achieving a 98% accuracy in edge detection and color recognition through OpenCV.
Leveraged Moveit Cartesian path planning with dynamic constraints to enhance precision and control during solving operations, optimizing the robot’s responsiveness and accuracy.
Developed an intricately synchronized 3D model visualization with ROS Python for real-time analysis and debugging.
Skills: Forward/Inverse Kinematics, Motion Planning, Computer Vision, System Dynamics, Controls, ROS, Machine Learning (Linear Regression, Clustering), Sawyer Robot programming, Rubik’s Cube solving, Kociemba algorithm, Edge detection, Color recognition, OpenCV, Moveit Cartesian path planning, Dynamic constraints, Precision enhancement, Responsiveness optimization, 3D model visualization, ROS Python, Real-time analysis, Debugging.
Investigated force/torque sensing techniques in a Transcranial Magnetic Stimulation setup under Prof. Ronald Fearing, advancing precision for depression treatment research, and engineered a custom load cell testing bench to calibrate ATI Mini45 Force/Torque sensors with 93% accuracy using machine-learning linear regression.
Implemented UDP protocol and UART communication between wireless transmitters and embedded systems (ESP32 and STM32), evaluating PD controller performance across platforms with Lingua Franca and Zephyr RTOS for stability and response time optimization.
Skills: Force/torque sensing, Transcranial Magnetic Stimulation, Precision engineering, Depression treatment research, Load cell calibration, ATI Mini45 Force/Torque sensors, Machine learning regression, Linear regression, UDP protocol, UART communication, Wireless transmitters, Embedded systems, ESP32, STM32, PD controller evaluation, Lingua Franca, Zephyr RTOS, Stability optimization, Response time optimization.
Designed and implemented a 32 bits 3-stage pipelined RISC-V CPU on Xilinx PYNQ Platform with UART and audio synthesizer, achieved a clock frequency of 60.67 MHz with a CPI of 1.18.
Segmented the CPU into five modular submodules (IF, ID, EX, RegFile, DMEM), implemented synchronous memories, and integrated audio/IO components, optimizing critical path delay to 16.481 ns.
Developed and executed 10+ Verilog & SystemVerilog testbenches, identifying and resolving over 5 critical bugs through simulations and hardware testing, enhancing CPU performance and reliability.
Skills: RISC-V, FPGA, CPU, Memory-mapped I/O interface, UART, Digital Synthesizer, Sigma-Delta DAC.
Engineered a high-performance human voice detection system by integrating a band-pass filter on a mic-board, utilizing RC circuits, and optimizing ADC performance on the microcontroller.
Employed Principal Component Analysis (PCA) to classify command words with 96% accuracy.
Implemented real-time control algorithms, including PWM signal generation and feedback control, to optimize the car's responsiveness to user instructions.
Skills: Arduino, Circuit Analysis (KVL/KCL, Mic Board Circuits, Amplifiers, Band-pass Filter), Power Supply, Oscilloscope, DAC/ADC, Motor Control (Encoder, PWN, BJT, Regulator), System Identification.
Engineered a health monitoring system using Arduino UNO, MAX30102 sensor, and OLED display, successfully measuring and displaying heart rate (BPM) and oxygen saturation (SpO2) levels, enhanced with a buzzer for immediate alerts.
· Developed the renowned Pacman game, incorporating advanced heuristics for improved gameplay. Analyzed and compared various search algorithms, including Breadth-First Search (BFS), Depth-First Search (DFS), and A*. Implemented a multi-agent system utilizing Alpha-Beta pruning to optimize decision-making. Enhanced the ghost-tracking mechanism by integrating probabilistic models, specifically Bayesian Networks and Hidden Markov Models.
Skills: Algorithm, MDP, Object Oriented Programming (OOP), Python, AI.
Developed a tower defense game using Python, integrating strategic gameplay elements and dynamic user interactions.
Implemented a Java-based simulation of the renowned Enigma machine, the message encryption device used in WWII, replicating its encryption mechanisms and functionalities.
Created a Java-based version-control system, designed to emulate Git's core functionalities and workflow processes.
Developed and fine-tuned a high-speed matrix computation program in Python and C, modeled after NumPy's efficient computational capabilities.
Developed a neural network-based solution for classifying MNIST digits and identifying languages, tailoring distinct network architectures for each task.
Implemented a GridWorld Agent using Markov Decision Processes (MDP), Value Iteration, and Q-Learning algorithms to optimize decision-making and navigation strategies.
Developed a PID Controller for a cart-and-pendulum system, incorporating detailed stability and observability analyses to precisely control their positions.
Digital / RTL Design | Verilog, Synthesis & Timing Closure
Implemented a hardware accelerator for multi-program placement on a 128×128 compute array, translating a heuristic equifilling search algorithm into a fully pipelined RTL architecture with fixed 8-cycle end-to-end latency
Designed a strip-based placement architecture using LUTs, comparators, registers, and multiplexers to dynamically select target strips, update occupied widths, and detect strike conditions in real time
Achieved maximum clock frequency of 2.63 GHz, with area ≈ 3544 µm², energy ≈ 1.24×10⁻³ pJ per operation, and positive hold-time slack (0.04 ps) after synthesis and timing closure using SYNOPSYS EDA tools
Verified functional correctness against provided and hidden testbenches, ensuring cycle-accurate placement outputs and compliance with strict latency, area, and power constraints
Analog IC Design | Cadence Virtuoso (1.8 V CMOS)
Designed a fully differential NMOS-input folded-cascode OPAMP with common-mode feedback (CMFB), achieving 63.5 dB open-loop gain, 932 MHz UGBW, and 1.6 Vpp output swing under a 3 pF load
Optimized transistor sizing and bias currents to explore speed–power trade-offs, achieving 5.78 ns (1%) settling time at 14.8 mW and 20.05 ns settling at 5.5 mW
Derived and validated analytical models for gain error, loop stability, and large-signal settling behavior, verifying performance via DC, AC, and transient simulations in Cadence Virtuoso
Demonstrated spec-driven analog design methodology, balancing gain accuracy (<1% error), stability, and power efficiency across multiple operating points
Analog / Mixed-Signal IC Design Project – Cadence Virtuoso
Designed a 128×128 eDRAM memory array using 2T NN differential cells, supporting read/write operations with hierarchical decoding and sense amplification
Implemented row and column decoders (7-to-128 row decoding via 4-to-16 + 3-to-8 predecoders, 2-to-4 column decoding) to enable scalable and low-fanout memory addressing
Designed precharge circuits, differential sense amplifiers, low-power tristate buffers, and DFF-based registers to ensure reliable data sensing and output isolation
Integrated 4-to-1 multiplexers to reduce sense-amplifier count while supporting 32-bit read/write datapaths
Verified full memory functionality through transient simulations, achieving write delay = 0.435 ns, read delay = 1.422 ns, and correct data access across Row 0–127
Evaluated data retention and energy efficiency, measuring ~0.044 ns retention time, 0.022 nJ/bit write energy, and 0.023 nJ/bit read energy
RF / Analog IC Design Project (Cadence Virtuoso)
Designed a 2.4 GHz cascode CMOS LNA targeting WLAN applications, optimized for high gain, low noise figure, and stable 50 Ω matching under a 1.8 V supply
Performed topology comparison (CS, CG, Cascode) and selected inductively degenerated cascode architecture to balance gain, NF, linearity, and stability
Designed input matching network and source-degeneration feedback, analytically deriving and tuning inductors to achieve S11 < −10 dB across 2.40–2.48 GHz
Optimized bias current and transistor sizing via parametric sweeps to maximize gm·Cgs, achieving NF = 1.26–1.32 dB across the WLAN band
Designed output matching network for 50 Ω load and integrated bias, DC feed, and AC coupling to maximize power transfer and bandwidth
Verified performance through S-parameter, noise, and harmonic balance simulations, achieving 23.6 dB gain, 350 MHz bandwidth @ 2.44 GHz, and IIP3 = −9.17 dBm
Analog/Mixed-Signal IC Design (Cadence Virtuoso)
Designed and simulated a 10-bit segmented current-steering DAC targeting high-speed, high-linearity operation with a 50 Ω load at up to 500 MS/s
Evaluated and compared potentiometric vs. segmented DAC architectures, selecting a 6-bit thermometer + 4-bit binary-weighted topology to reduce glitch energy, parasitics, and area
Implemented custom CMOS logic blocks (INV, NAND, NOR), thermometer decoder, local decoders, and differential master–slave latches to ensure monotonic switching and timing robustness
Designed cascoded NMOS current source cells and differential switch drivers, achieving stable current steering with reduced output swing (~0.8–1.8 V) to minimize charge feedthrough
Integrated the full 10-bit DAC system and verified functionality in Cadence testbenches at 500 MS/s and 1 GS/s, including transient, INL, and SFDR simulations
Achieved INL < 0.125 LSB across the output range in post-simulation, validating static linearity and segmentation effectiveness