home    about    projects    resume
  




Contains present and past projects.  This repository serves to document and display current work as well as provide samples of previous projects to show my direction and development. Professional portfolio is available upon request.  
:max/msp :firmware :hardware :code/software : processing
 
 
_present

aurora (2008) [website] [images] [files]
aurora is an open source 2 channel DJ mixer with 24 backlit analog potentiometers, 8 backlit buttons, 2 channel controls, and 1 horizontal crossfader in a 10"x7" form factor.  aurora is used as a "midi controller" to send control values to a PC host.  The device is powered and communicates using a USB/Serial interface at 57kbaud.  More that just an audio / visual mixer, aurora visually reacts to audio and video by controlling red, green, and blue LEDs underneath the PCB.  The interface was designed in Max \ MSP and Processing.   aurora’s panels were designed using Front Panel Express.  aurora is Matt Aldrich, Mike Garbus, and Maro Sciacchitano.

zjam (2007) [video1] [video2] [paper]  [images] [files]
zjam is a low power experimental platform for real-time gestural control and user collaboration in a networked musical environment.  The device is powered by 2XAAA batteries and features a PIC18F microcontroller, a 3 axis accelerometer, an 802.15.4 radio (zigbee), and several buttons.  The device has extensive sleep capabilities for long operational life.  The network is controlled by an interface running in max/msp.  The protocol is converted to midi data and can be used in a variety of applications, including Ableton Live for real time composition and performance.
 
lsynth (2007) [video] [paper] [images] [files]
The lsynth is an interactive tempo synchronized lfo generator for rapid creation of RGB visuals.  The lsynth's simplicity and beauty is achieved with its user interface and approach to sonic\visual synchronization.  Drawing from aspects of early synthesizers, the lsynth utilizes four low frequency oscillators and 16 user selectable rates; this module is duplicated three times, for red, green, and blue control.  This visual synthesizer answers the problems of traditional visual/sonic synchronization.  Determining tempo and triggering effects by analyzing the music's spectral data is computationally expensive, inaccurate, and does not lend itself to interactive control.  Additionally, because the musical tempo is defined, the lsynth produces stunning visuals for any style of music.  The human computer interaction is MIDI based, the implementation is done in Max/MSP and the tempo is derived from Ableton Live.  However, due to the small amount of CPU needed, the user program can be rewritten for an embedded system.  In this case, the user would simply tap the desired tempo into the device.
 
 
_past
 
Analog Subthreshold CMOS Probability Gates (2004) [paper]  [presentation] 
Yale course ee472, senior design under direction of Professor Richard Lethin.  Based on previous work regarding error correcting codes, this project implements Bayes' rule in low power subthreshold CMOS circutis.  The project discusses the algorithms and hardware necessary to compute the signals probability.  The novelty of this project is that sophisticated digital computation required of these algorithms is fast (immediate) when the computation is done continuously in the analog domain.  The paper thoroughly discusses the circuits and provides simulated circuit output.  Tradeoffs between the digital and analog systems are discussed.
 
Sorbotic Videomation:
Video Driven Sound Synthesis (2004) [paper]
Yale course MUSI490 under direction of Dr. Matthew Suttor.  The sorbotic video engine allows for interactive human computer composition utlizing video, color, and sound.  The project is written in  max/msp and jitter to process user video.  By controlling frames of video by MIDI controller, the user is able to experience the relationship between video, color and sound similar to that of synesthesia.
 
Ultrasonic detection: Analog/Digital Techniques (2004)
[paper] [presentation]
Yale course ee449 under supervision of Professor Andreas Savvides.  This project represents the first attempt at real world instrumentation, acquisition, and analysis.  As far is embedded systems go, this project has many of the fundamentals. As part of professor Savvides interest in low power network motes, the feasibility hw/firmware of ultrasonic communication within networks was investigated, prototyped, and evaluated.  This project utilized an arm core, fourier analysis, and correlation algorithms. 
 
PathoFinder:
Microscale PCR Based Virus Detection (2004)  [paper]
Yale graduate course EAS658 under supervision of Professor Hur Koser.  This project is the work of a multidisciplinary engineering team.  A true survey, this paper discusses the feasibility of creating a new product: a microscale PCR device for disease detection.  The biomedical, electrical, mechanical, and chemical engineering analysis for the design is presented and simulated.
 
Pipelined (Naffziger) Look Ahead Adder (2004)
 [paper]  [paper]  [schematics]  [website1]    [website2]
Yale graduate course ee425, VLSI design and ee236 under supervision of Professor Richard Lethin.  This paper describes the implementation and simulation of a Naffziger adder (Intel Itanium processor) utilizing high pipelined algorithms and dual row domino logic.  The adder is described in Neil Weste's CMOS VLSI Design and is a true piece of art.  This project is included as a reference and walk through of algorithms utilized by the adder (and the layout pics looks pretty good too).
 
Analog Beat Tracking and AGC Design (2001) 
[proposal] [paper] [paper] 
Yale course ee236 under supervision of Professor Peter Kindlmann.  This project is perhaps the earliest project demonstrating my interest in analog signal processing and relating it to one of my interests, music.  With regards to low cost components and affordable signal processing, this analog front end delivers the necessary data to interface with a cheap 8 bit MCU.