Here is a list of algorithms implemented in various languages (mostly C, C++, Python, and Haskell). All code is MIT-licensed and free to use. It's a work in progress, and I try to add a new one each day.

[ Algorithms Page ]

Occipital Structure 3D Sensor
The Structure sensor is the world's first 3D sensor for mobile devices. During the summer of 2013, I worked on Occipital's hardware team to design the sensor's circuit boards and set up the production line at Foxconn.

[ Occipital ] [ Kickstarter ] [ Techcrunch ]

Quantum Computer Simulator
Quantum computers are computers that use quantum mechanics to solve problems much more quickly than classical computers. After taking Vazirani's quantum computing course on edX, I decided to write a quantum computer simulator for myself. (Coming soon)

Computational Neuroscience
Computational neuroscience aims to simulate and understand how the brain processes information. The page below contains my implementations of computational neuroscience models, from neuron physics simulators to abstract neural network models. (Coming soon)

UFLDL Deep Learning Tutorial
The UFLDL tutorial is an advanced set of machine learning exercises in sparse autoencoders, deep networks, and convolutional neural networks. Below is a link to my implementations of the exercises (coming soon). For an excellent introduction to machine learning, see Andrew Ng's Coursera course here.

iPhone 5
From January-August 2012, I worked on the iPhone hardware systems team at Apple to release the company's first 4-inch screen iPhone.

[ iPhone 5 Website ]

Mobile Robot Simulator
How do we create robots that can do our dishes and paint our house? Most of the robots you see in factories are robotic arms fixed in one place. Adding a wheeled base makes reaching more difficult because the robot can not move in any arbitrary direction (think parallel parking). The code and video below explore different methods for controlling a robotic arm with a mobile base.

[ Github page ][ Video ]

Charles the Talking Robot
Charles (named after my African host father) is a wall-mounted robot face made out of an African Marka mask. Charles can respond to voice commands, and his mouth LEDs blink when he speaks. Videos to come soon, hopefully.

Quadrotor Telemetry Server/Client
I built a quadrotor with some friends and needed a way to send commands and receive telemetry data from our laptops. Actually, this should work with any serial device (including Arduino) for any number of computers connected over a network.

[ Github Page ]

Haptic Control Robot Arm
Feeling inspired by the da Vinci Surgical System, my team created a controller to mimic a user's arm motions for controlling a robot arm wirelessly.

[ EECS News Article ]

Clean Water for the World
Every 15 seconds, a child dies from a water-borne disease. While in Africa, I worked with the Kyeamekrom village to install a water filtration system.

[ Website ]

Volume Flow Doppler Ultrasound
VF Doppler is an experimental dialysis surveillance device that uses reflected ultrasound waves to estimate blood flow through a vessel. Unlike big ultrasound machines, the circuit board is roughly the size of your mouse.

[ Website ]

XSAS Microgravity Launch Software
XSAS is a nanosatellite (mass between 1-10kg) that increases its solar panel area by expanding like an accordion in space. Below is a link to the code we used during microgravity testing at NASA JSC and a video of the testing by journalist Melissa Jun Rowley.

[ Github Page ] [ Zero Gravity Video ]

World Solar Challenge
The World Solar Challenge is a biennial solar car race where teams race 3,000 km across the Australian Outback. In Fall '09, I traveled to Australia with the UM Solar Car team, winning 3rd place and CSIRO's Technical Innovation award.

[ NYTimes Article ] [ CNET Article ] [ Website ]

Solar Car Video Display
The solar car uses a backwards-pointing camera as a rear-view mirror. The video display board intercepts this video feed, writes the car's speed and text messages from telemetry, and displays this in front of the driver.

Solar Car Telemetry System
During the race, two cars surround the solar car at all times. The telemetry system wirelessly sends the solar car's speed, battery charge, solar power, and more to graphical programs in the surrounding cars. It even includes a chat program!

Solar Car Control Board
Like an Xbox controller, the control board takes the driver's input and tells the rest of the car what to do. It also has a cruise controller to keep the solar car moving at a constant speed.

Hurricane Katrina Recovery
Through SERVE, I spent my spring break in New Orleans rebuilding destroyed homes in the aftermath of Hurricane Katrina.