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. 

  • Custom Zynq based system, using Microzed SOM
    • White box on left side of the rear of the robot
  • Custom 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
  • 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

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.
Deadbugged gigabit PHY used for testing the FPGA firmware
Deadbugged GbE PHY used for FPGA firmware debugging

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
  • Custom-designed 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 only 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 improvaing 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 s an analog PD-loop feedback controller for a high-speed laser galvonometer.
Control system for a laser galvonometer, built as a final project for a controls systems class.
Galvo controller fb section closeup
Close up of opamp feedback network
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 custom designed 915MHz radio receivers, 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