All projects

Every project in one place. Each card links to its own write-up if you want to share one.

Assembled STM32F405 flight controller PCB after hotplate reflow

Personal project · PCB design

Custom Drone Flight Controller PCB

An STM32F405 flight controller for a 4S FPV quad, running Betaflight on a target I wrote (ETHANF405). The gyro gets its own LDO so logic noise stays off its rail, and a TPS5450 buck makes 5 V straight from the pack. Solder jumpers split the power tree, so I could bring the board up one stage at a time.

STM32F405, KiCad, Betaflight, Bosch BMI270, TPS5450, GD25Q16E

ATmega328PB Door Lock Hardware Prototype

Class project · Microcontrollers

Dual-Factor Hardware Security System

A door lock that asks for two things: a 4-digit code on a keypad, then a password over UART. Bare-metal C on an ATmega328PB, with Timer1 PWM driving the servo.

ATmega328PB, Bare-Metal C, AVR-GCC, UART + PWM

Basys3 FPGA Production Board

Class capstone · Digital design

FPGA Hierarchical ALU & 7‑Segment Display Controller

A 0 to 1000 up/down counter in VHDL on a Basys3. The debouncer, counter, BCD converter and 7‑segment driver each got their own testbench before I wired them together. The whole thing fits in 117 of the Artix-7's 20,800 slices.

Artix-7 Basys3, VHDL, Xilinx Vivado 2024.2, ILA

CMOS Inverter Physical Layout in Tanner L-Edit

Class project · Integrated circuits

CMOS VLSI Physical Layout & Delay Analysis

A CMOS cell library in Tanner EDA on a 250 nm process. It started with a hand-drawn inverter and ended with a 2-bit parallel adder in a pad frame, all checked with DRC and LVS.

Tanner L-Edit, T-Spice, DRC/LVS, 250nm Process

The final competition robot, side view

Competition build · Autonomous robots

Autonomous Vision-Guided Robotics Platform

Won first place. I wrote the C firmware for a robot that read QR codes to pick a cube color, collected those cubes from a 4×6 ft arena, and found its way home by the brightness of the floor.

C / kipr, PID Control, OpenCV, MATLAB

Back to homeEmail me↑ Top