Projects

Some of my personal projects, as well as Electrical Engineering and Computer Science projects at McGill

Embedded Systems Indoor Positioning System

Sept. 2015 - Dec. 2015

Programmed ARM Cortex M processors in Assembly and embedded C to track the navigation of moving bodies by analyzing accelerometer and gyroscope data using the Viterbi algorithm hidden Markov model

Embedded C
Assembly
Keil

Digital System Design FPGA Music Box

Jan. 2015 - Apr. 2015

For my Digital System Design project, I programmed Altera FPGA board in VHDL to play musical pieces and display information using LEDs. During this process, I created multiple-level logic schematics using Altera Quartus logic design software. Furthermore, I executed numerous component timing simulations and internal logic signal analysis tests.

VHDL
Altera Quartus

NXT Robot

Sept. 2014 - Dec. 2014

In my Design Principles and Methods class, ECSE 211, I worked on building an autonomous robot along with six electrical, computer, and software engineering students. The objective was to allow the robot to determine its location in a random map, navigate to a certain location, pick up a Styrofoam block, and drop off the block at a specified zone. The robot was programmed in Java using leJOS NXT. Odometry, navigation, and localization algorithms were implemented in order for the robot to determine its initial position and orientation as well as calculate the shortest path to its destination.

Java
leJos NXT

Bomberman Project Game

Jan. 2014 - Apr. 2014

For my 2014 Winter semester Software Engineering class, ECSE 321, I worked in a team of six software engineering students to develop the classic Bomberman game in Java. During this time, I documented sequence, activity, and state UML diagrams for the overall game system. In addition, I also documented software requirements specification and software architecture based on IEEE standards. It was also my role to comment the code using Javadoc.

Java