Frog vs Cilantro
A small bullet-hell game made by learning pygame. Inspired by my dislike of cilantro and like of frogs. Find it here!
Binary Clock+ Photo Booth Bot
Arcade Fight stick controlled using an Arduino Uno reflashed to be a USB Controller for GNU/Linux and Windows. More details here.
Wifi Enabled Multi Probe ECG Wearable – I do work on the wifi communication part of the wearable to interface with the ECG AFE that will be reading off sensor data to send to a web server.
Bringing STEM education to under privileged high school students through mentorship and an 8 week robotics competition
Oversaw the development of the electrical system, coordinate the supply chain for parts, and integrate adjacent software and hardware projects for the field and robot electronics. It was a pleasure to be a part of a larger cause, and the work we put in along with the friends I made will always be a part of me.
Smart Sensors Project Manager
Recruit and train new staff in Eagle and Electrical Engineering / PCB design basics to design the latest electrical system on the robot\
Deploy Beagle Bone Blacks with custom software, and send out secure updates + develop a continuous integration system for the club’s central code repo
Design the PCB and revamp the RFID activated door opening robot. Leaky Demo
EE143 – Micro-fabrication Technology
We spent 10 weeks fabricating devices on the 10 micron range in an undergraduate clean room. Afterwards, we spend 3 weeks taking measurements on a 4 probe device to characterize the devices we made.
CS162 – Operating Systems and System Programming
Implement key features in the educational operating system PintOS including the scheduler, argument parsing, user program syscalls, filesystem syscalls, buffer cache, extensible filesystem, and recursive directories.
Test a real op amp’s ability to amplify signals while observing non-ideal effects such as slew rate limited growth and input resistance while observing the gain-bandwidth product effect.
Diodes and Photodetectors
Transmit bits by sending out a blinking signal, where the receiver picks up the light and amplifies it to be read at the receiver side LED. Bit rate was limited with an opamp that could not keep up with a high bit rate due to its slew rate limiting.
By adjusting gate-source voltage against a stable drain-source voltage on an NMOS Transistor, we could observe the three different regions of operation by measuring the capacitance of the MOS. Then used the transistor to make a touch detector.
Single Stage Amplifier
Design a single stage common source amplifier with source degeneration to fit specific parameters such as middle band gain, hi and low cut off frequencies, and output swing. Learned how to approximate poles and zeros to fit specific parameters and use decoupling techniques to fit parameters.
Multi Stage Amplifier
Design a multi stage amplifier using a common source with source degeneration, a common gate, and common drain structures to further increase the bandwidth of the amplifier. Used two port models to simplify the circuit to then calculate the RC constants and set bandwidths without loss of gain.
CS61C – Great Ideas in Computer Architecture
Implementing a flight map simulation using linked lists
Helped learning C, pointers, memory, and debugging skills
Implement basic Assembler and Linker in C and MIPS
Create a basic processor in Logisim
Thread Level Parallelism
Used pragma OMP, loop unrolling, and x86 intrinsics to speed up a slow algorithm
Utilized Spark’s MapReduce to compress videos frame by frame.
EE16B – Designing Information Devices and Systems II
Categorizing different neuron firings from a simulated BMI using Discrete Fourier Transform to view the energy of different states of a subject and Principal Component Analysis to sort different signals from neurons.
CS61B Data Structures and Algorithms
Planetary orbit simulation.
Array / Linked List Double Ended Queue
Implemented the Array and Linked List Double Ended Queue. API included addFirst, addLast, isEmpty, size, printDeque, removeFirst, removeLast, and get.
A graphical text editor.
Google Maps-like mapping using OSM. Has zoom, refocusing, and shortest path implemented.
EE16A – Designing Information Devices and Systems I
Use single pixel photodiode to try and image a playing card
Resistive Touch Screen
Create a resistive touch screen with 9 spots
Capacitive Touch Screen
Made a single pixel capacitive touch screen
Acoustic Positioning System
2-D Sound Based positioning
CS61A – Structure and Interpretation of Computer Programs
A mathematical, dice rolling based game
Webapp that cuts a map into sections based off of food preference. Uses k-means to determine cluster centers for restaurants that the user likes.
Game similar to Plants vs Zombies, where there are ants that use food to fight against an onslaught of Stanford bees.
Scheme interpreter implemented in Python