I made this website as an experiment in using the React framework GatsbyJS and GraphQL. I first created a template for the website in Sketch, replicated the features I wanted in Javascript, and finally setup deployments using Github Pages and TravisCI. The photo above shows one of the original Sketch designs I based this site off of in the initial first design.


Ballance is a robotics project which uses feedback control and computer vision to balance a ping pong ball on a limited flat surface. I used OpenCV to create a HSV filter to track the ball position based on its color. The position data is sent to an Arduino which sends control signals to the servo motors.


TellORB was my final year thesis project. The idea was to use a DJI Tello drone to map an unknown indoor environment and allow for navigation commands to be sent on a 2D GUI interface using vSLAM (visual Simultaneous Localization and Mapping) in the form of ORB-SLAM2 and local path planning algorithms. An external Dell XPS13 computer was used for egomotion estimation and a real-time interface to the drone using ROS (Robotics Operating System), UDP, and H264 video decoding.


Uncanny was a soup and pop can sorting robot built upon the PIC18F4620 microcontroller. Soup cans were separated from pop cans based on their size. Soup cans were then sorted based on whether or not they still contained a label using conductive V-shaped detectors, which align the can and rotate to drop them into the corresponding bins. Pop cans were sorted based on whether or not they had pop tabs using a push-pull circular conductive detector

TurtleBot Projects

Various projects were run on the TurtleBot 2 & 3 platforms. These include navigation of unknown environments using laser sensors, mapping of point cloud data using particle filters, global A* path planning, local obstacle avoidance and image detection & feature matching using a Microsoft Kinect sensor.

KUKA Robotic Arm

Simulations for a 6-axis robotic arm were run on the Robotics Toolbox for MATLAB. Solving the inverse kinematics in the simulation allowed for fine motor control of a real KUKA robotics arm. On the right, the arm is shown drawing various shapes and trajectories with a pencil.