
synth
A single clock domain square wave synthesizer (basically a 13-way clock divider with a speaker output). Easy way to annoy your friends and family.
Image credit: Sponk

A single clock domain square wave synthesizer (basically a 13-way clock divider with a speaker output). Easy way to annoy your friends and family.
Image credit: Sponk

The classic arcade game implemented 100% in hardware. VGA output at industry standard 640x480 @ 60Hz!

ESP8266 program which NATs eduroam behind an unencrypted network. Based on the RangeExtender-NAPT from the Arduino ESP8266 community.
Image credit: Yangliy

A simple Chrome extension to automatically add Github, Devpost, and link icons to Creddle.io resumes!

A Firefox and Chrome extension which encourages users to become more politically open. Developed with Javascript using browser APIs.

Using a Altera Cyclone IV FPGA to compute the FFT on hardware! Using Verilog for hardware description and cocotb (python) for the testbench.

Implementations of the Discrete Fourier Transform - using the naive and Cooley-Tukey algorithms written in Rust. Validates FFT-H.
Image credit: Virens

My first foray into Unix systems programming! Using C to play around with sockets and send data packets. Built client and server implementations.

Get the latest news, chat with fellow commuters, and receive updates on transit status. Built on a unique online-offline network infrastructure.

A IoT sensor for foot traffic, interfacing with Slack and Airtable. Built with an ESP8266 microcontroller and a StdLib web service backend.

A modern geolocation-based online marketplace for the sharing economy. Built using Angular, Java and MongoDB. Hosted on Google Cloud Platform.

A Universal Chess Interface compatible chess engine, written in Python. Uses Minimax search with Alpha-Beta pruning and piece-square tables.
Image credit: Jez9999

A redesigned Arduino microcontroller board, from the open source spec. My first project with KiCad and soldering SMT components.

Op-amp circuit based on LM386 chip from Texas Instruments. Powerful enough to drive my electric guitar. Circuit design, layout, and soldering.

Python scripts for training a neural network to compose baroque-style keyboard music. Conversion between MIDI, .txt, and .csv. File retrieval with requests library.
Image credit: Glosser.ca

Android app that uses restaurant inspection data from OpenData to recommend dining options for users. Java backend with IBM Cloudant database.
Image credit: City of Toronto