I’m a second-year PhD student in computer science at UC Berkeley advised by Ben Recht.
Previously, I received my Bachelor’s in electrical engineering and computer science from MIT and my Master’s in human rights studies from Columbia University.
I work on on interdisciplinary applications of computer science, from
astrophysics to history to politics.
My research has been featured in over 100 media outlets and has been
liked and shared tens of thousands of times on social of media.
Email
Curriculum Vitae
Google Scholar
08 REAL TIME IMAGE PROCESSING WITH A MICROCONTROLLER2020
In Spring 2020, I took MIT class 6.115 (Microcomputer Project Lab) taught by Prof. Steve Leeb.
For the final project, I created a simple GUI to perform efficient
image processing operations – such as blur, edge detection, and
inversion – on images captured on the fly.
My setup includes only three parts: a PSoC 5LP board, a color TFT
display with 320x240 pixel resolution, and an Arduino compatible color
camera. Using the potentiometer and a button on the PSoC 5LP, the user
can select from six menu options displayed on the TFT screen, including a
“live” mode which continuously captures sequential images from the
camera (rough every 0.87 seconds) and updates the TFT display until
paused by a second button press. Once they select an image to process,
they can iteratively apply image processing functions until they reach a
desired result.
My full final project report can be accessed here. Check out this blog post from Cypress, the creator of PSoC, which mentions my project!
Project schematic.
Project setup. From left to right - Arduino camera, PSoC 5LP board, TFT screen.
“Top Design” schematic of SPI interface for TFT screen, ADC for menu
selection, and I2C component and dual-stage latching system for Arduino
camera in PSoC Creator.
Timing diagram for reading from the OV7670 camera to the PSoC using dual-stage pixel latching system.
Me in my bomber shirt – original, gradient, inverted (applied sequentially).
DEMO VIDEOS