Projects

This page has a few of the big and small projects I’ve done over the years.   I haven’t had time to put everything, but plan to slowly expand over time.

Senior Design Project
Acoustic Camera
Carnegie Mellon University - 2020

A phased array of digital microphones connected to an FPGA – capable of performing beamforming for acoustic imaging and basic sonar.

  • 96 PDM digital microphones in an 8 * 12 grid
  • Xilinx Spartan-6 FPGA with Gigabit Ethernet PHY to upload data to a computer
  • Real-time and post-processed visualizations implemented
Close up of the microphone array.
Image with acoustic data overlayed, showing the array locating a speaker
Deadbugged gigabit PHY used for testing the FPGA firmware
Deadbugged GbE PHY used for FPGA firmware debugging

Hydra Meter - 2017-2023

Ongoing project to build a multimeter.  Currently (late November 2023) at the stage of functional prototype, capable of doing regular voltage, current, and resistance measurements.  I’m working on the software now, and plan to do a major iteration of the case relatively soon. 

  • Standard Volts, Ohms, Amps measurements,
    • 100mV-220V full-scale
    • 10 Ohm – 1M
    • 1.5mA – 15A full scale
    • >3V diode test
  • Isolated RS-422 interface
  • Wireless display
  • Modular ADC, PGA, onboard radio, and input module

NASA Robotic Mining Competition
Iowa State University - 2016, 2017

Designed, built, and tested control electronics for the twin robots entered in the 2016 and 2017 NASA RMC by Iowa State. 

2017
  • Zynq based system, using Microzed SOM
    • White box on left side of the rear of the robot
  • Power management system: Smart Management Of Robot Energy (S.M.O.R.E.)
    • Monitors and controls power for all motors, sensors, and the Microzed
    • Supercapacitor backup to allow graceful shutdown when power is cut
    • Black, brown and white box on the right side of the robot
2016
  • Control functions divided between Raspberry pi, Mojo FPGA, and teensy 3.2
  • Designed, ordered, assembled, programmed, and tested in less than one month
Rear view of 2017 robot, showing MicroZed carrier, SMORE, and power wiring
Test models of the controller (left) and power management board (right)
Control electronics prototypes - MicroZed carrer board on left, SMORE on right

Colibri
MIT Lincoln Laboratory - 2018

Colibri started as an Intern Innovative Idea Challenge (I3C) project between another intern, Peter Sharpe and I.  It is a new type of multirotor that uses a single, large rotor for most of its lift, and three additional fixed rotors for control.  The initial proof of concept was designed to demonstrate the layout and control system, and secure funding.  The second prototype was built to demonstrate the feasibility of using a gas engine to directly power the main rotor.

Initial Proof-of-Concept

  • 20″ main rotor
  • 285 KV main motor
  • 6S, 2200mAh battery
  • 140W hover power
  • 1.4Kg

Second Prototype

  • 48″ main rotor
  • 1.2 HP 2 stroke engine
  • 6S, 1000mAh battery
  • 11Kg
The original prototype during final presentation to the lab management
Second-generation prototype with a gas powered main rotor

The MacroProcessor - 2014

This was a processor composed of discreet, 74-series logic chips and assembled on a wire wrap board.  I designed and built this in High School as a way to learn about digital logic, processor design, and assembly programming.  When starting, I had no experience with any of these, but was able to learn them together during the course of this project.  The end result was not particularly useful or capable, since it’s purpose was entirely self-educational.  In 2015, I ported the design to Verilog and got it running on an FPGA, as well.

  • Clock speeds reaching up to 100KHz
  • 7 instructions
  • One program count register, two general purpose registers, two output registers
  • 128 bytes of working memory
  • 8 bit architecture
Processor made from '74 series logic

Custom LED business cards

I designed and built these spring 2020 to make an impression when applying for jobs at my college career fair. They light up when held.
One of every revsion of my business cards
Revisions 1 (top) through 7 (bottom left), showing gradual progression to the final version, iteratively improving the appearance, reliability, and ease of manufacture. I made about 30 copies of the final version.

Laser galvonometer controller

Designed and built in December 2019, this was an analog PD-loop feedback controller for a high-speed (20kpps) laser galvonometer.
Control system for a laser galvonometer, built as a final project for a controls systems class.
Well-tuned galvo step response
Well-tuned step response
Poorly tuned step response
Poorly tuned step response
Galvo controller fb section closeup
Close up of opamp feedback network
Feedback network on breadboard
Simulink model of the system and controller
Simulink model of the system and controller

Racing Drones

I've been interested in drone racing since 2016, and have built a number of different racing drones over the years since. All feature radio receivers I designed and built, based around the RFM69HCW radio module.
Current version racing drone
Current racing drone
Drone radio receiver version 1
Receiver version 1
Drone radio receiver version 2
Receiver version 2