Most of my work are related to micro-controllers and embedded application, using hardwares such as PIC32, Arduino, Raspberry Pi, Beaglebone Black and IoT dev-boards such as Particle.
Here are a bunch of interesting engineering projects I've worked on.
I designed and implemented an ASIC accelerator that performs Stochastic Gradient Descent and excels the baseline software benchmark by 50 times. Used fixed point to store decimals and adapted Goldschmidt's division algorithm, Taylor Series expansion and Horner's method to quickly approximate a softmax filter over MNIST dataset.
We built a smart home security system and server on Raspberry Pi that supports live-monitoring of the security footage, moving the surveillance camera’s viewing angle, detecting intrusion and controlling other parameters such as lighting and air conditioning in the house. By logging in to the web interface served by the Raspberry Pi, we can easily turn on/off a light at home and watch live feed from the camera. We fitted our design into a miniature interior design model.
Our project design is an PIC32-based gaming console that supports NTSC video output, audio output and takes input from a NES Controller. With the console comes with a demo game that we implemented with the engine, Rope Jumper. We built corresponding software libraries to support rendering all the game components. Finally, we developed an easy-to-use game engine that PIC hobbyists can use to develop any game on this console.
A pure HTML/JS webpage that interactively calculates the amount of storage needed for selected camera products.
Created during my summer internship.
A touchless xylophone controled with Leap Motion infrared sensor. The python application running on the computer fetches the current orientation and position of the hand and encodes the information into HTTP request to the flask server running on the Raspberry Pi. Then the server on the Pi performs a calculation and controls the Arduino to drive the Parallax Servos.
Music Rhythm Game created on ARM-based FRDM-K64F dev-board as final project from ECE3140 Embedded Systems. Main target of the game is to hit the falling blocks with the controller at the right beat of the music and gain fever. Finished product feeling with NES Controller, LED Matrix and SD Card integration.
A digital tachometer using a pair of infrared LED and photodiode. Then the output is fed into an op-amp comparator, utilizing hysteresis for better output. The result is fed into an Input Capture Module. Then PIC32 computes the PID equation to drive the fan with PWM. The fan circuit and PWM pulse is opto-isolated for max protection.
A Dual Tone Multi-Frequency Generator like those used on any cell phone. As you press the buttons, the system will speak digits. The system will record all the input digits and plays back to simulate a redial. All the tones are generated with Direct Digital Synthesis using a Sine look up table.
A Wrestling Robot that participated in the 2015 Fall Mechatronics Sumo Robot Competition and won 8th place. Customized H-Bridge design to obtain more power from the servos. Powerful mouse-trap-based slapper mechanism ensures lethal aggression.