Noisemeter Device (2024)

The "Noisemeter" project (organized under Civic Tech Toronto) aims to collect long-term noise level data throughout the city of Toronto with the intents of identifying existing issues with excessive noise and providing real data to support advocacy for new noise bylaws. The Noisemeter device is ESP32C3-based and uses a digital MEMS microphone to measure decibel noise levels that are periodically logged to a server/dashboard. See the repo

DSP PAW (2023)

A portable and versatile solution for DSP education. An STM32 microcontroller executes algorithm binaries loaded through an Arduino IDE-like interface to process analog signals in real time. A custom add-on board was designed to work with external signals (including audio). Read more...

Alee Forth + devboard (2023)

A concise and platform-independent implementation of FORTH in modern C++. An accompanying microcontroller development board uses FRAM to retain the user's dictionary while powered off. Read more...

linux-486 (2022)

Project to create a single bootable floppy disk with Linux 5.17 and Busybox, targeting 486 computers. Scripts are available to entirely automate the build process. See the repo.

happy-fractal (2022)

Mandelbrot viewer supporting OpenCL/CPU floating/fixed-point calculations. Shows performance differences between the different calculation methods including a custom Q4.124 fixed-point implementation that maximizes zoom distance. Read more...

Compile-time C++ work (2021)

consteval-huffman (2021): Compile-time string compression in C++20 with efficient run-time decoding. See the repo.
ini-config (2021): A C++20 utility for parsing INI-style configurations at compile-time. See the repo.
constexpr-to-string (2020): A single header for C++14 (or later) that provides facilities for compile-time integer and floating-point string conversion. See the repo.

stm-game (2020)

A very-low-power gaming device based on an STM32L0 microcontroller. Achieves an average current consumption of <500uA due to software optimization and hardware design. Read more...

bitcalc (2018)

An open-source, re-programmable graphing calculator. Supports a custom scripting language with program scripts loaded off of a microSD card. Read more...

gamedev (2018)

A flexible OpenGL video game engine written in C++, brought into existance by a two-year independent study with a friend. Read more...

VEX (2017)

Semi-autonomous robot designs for VEX competitions. Read more...