Various Projects / Applications
Mask Drawer

I wrote this program while working on getting our new metamaterial designs developed. The fabrication process requires CAD files of a specific type which makes it convenient to work in Autodesk AutoCAD. The thousands of small resonators in a metamaterial deisgn makes the masks completely unfeasible to write by hand, and a lengthy, tedious process even using AutoCAD's built-in tools. Fortunately it is possible to communicate with the autodesk instance and thus programatically create the design, thus this tool.

This was used to develop the masks for all of the metamaterial projects our lab has done at Brown.

A full metamaterial device layout:

A close up: (note the resonator gaps are 2 um across

DAC Control Software

I built this software while working on our active metamaterial projects. This type of metamaterial can be controlled to change its material properties through the application of a voltage bias. In these devices we engineer separate metamaterial regions which we want to address individually, 32 in all. For this I designed a system using the Analog Devices AD5370, and I built this application to communicate with the DAC, giving us control over the voltage outputs in a convenient way to carry out the research experiments.

Time Domain Analysis

This was an application I built to assist in the analysis of experimental time domain data. It natively supports files acquired from the Picometrix 2000 and 4000 systems.

Autonomous Construction Robot

My senior design project with 3 friends at Florida Tech. We won 1st place at the ECE Senior Design showcase. The robot was designed to navigate an arena using ultra-sonic sensors, identify Lego bricks and their orientation using stereo CMUcam3 cameras, use an arm implementing inverse kinematics with a claw to grasp a brick and then move it to a new location.

The full design was not operational at the showcase, but multiple subsystems were demonstrated to a high degree of completion. C# was used for the GUI. The vision system utilized OpenCV in C++. An ATmega16A was used as the on-robot microcontroller, communicating with a compass, ultrasonic sensors, the arm servos, the wheel motor controller, and Bluetooth communication modules.

Control Software

Lego Detection (Image Processing)

Event