Experience and Education


MobileCoin Inc., April 2022 to May 2023

Senior Software Engineer (April 2022-May 2023)


Data I/O Corporation, July 2017 to March 2022

Senior Software Engineer (July 2017-January 2020)
Engineering Manager (January 2020-March 2022)


Adamant Aerospace Incorporated, Jan. 2016 to July 2017

Founder and CEO


Planetary Resources Development Corporation, June 2013 to Dec 2015

RF Communications Engineering Lead


University of California at Berkeley, Aug 2009 to May 2013

B.S. in Electrical Engineering and Computer Science, College of Engineering


Selected Projects

MobileCoin Fog Router Project

  • Developed mechanism to distribute Mobilecoin's Fog ledger service across multiple backend stores
  • Addressed scalability issues related to number of simultaneous client queries as well as time to recover from service interruptions
  • Maintained compatibility with existing clients
  • Mentored junior engineer and coordinated with operations to see the upgrade deployed into production without issue

nMigen Hardware Description Language Core Contributor

  • Regular contributor to nMigen, a new hardware description language implemented as an embedded DSL in Python
  • Resolved several issues related to edge cases of the standard library's asynchronous clock domain crossing FIFO
  • Participate in weekly meetings to discuss language and standard library design and implementation

Universal Flash Storage Support for LumenX Platform

  • Led development of UFS support for LumenX programming platform
  • Contributed to Lattice FPGA gateware converting parallel bus designed for eMMC to UFS serial interface
  • Implemented software interface to Lattice FPGA gateware
  • Contributed to Xilinx FPGA gateware modifications to increase parallel bus speed from 50 MHz DDR to 200 MHz SDR, doubling throughput

Glasgow Interface Explorer

  • Designed ADC circuit to sense external voltage and DAC circuit to control output voltage of adjustable voltage regulator
  • Contributed to layout of Rev B PCB, including fixing signal integrity and EMI issues with direction-sensing level shifters
  • Contributed to design of Rev C PCB, including redesigning I/O cell to use individually direction-controlled level shifters

LLVM MSP430 Backend Improvements

  • Converted LLVM's MSP430 backend to comply with the published EABI from Texas Instruments
  • Implemented support for returning structures larger than 64 bits from functions
  • Worked with community leaders to add these modifications to the fork of LLVM used by the Rust programming language
  • Served as a member of the MSP430 team of the Rust embedded organization

Elysium VHF/UHF Radio

  • Designed and developed a full-duplex VHF/UHF transceiver for the CubeSat nanosatellite market
  • Reduced transceiver power consumption by an order of magnitude compared to existing solutions
  • Completed full circuit board deisgn and test as well as firmware development in C

ChibiOS Real-Time Operating System Port

  • Ported ChibiOS RTOS to the MSP430 architecture used by the Elysium radio
  • Implemented low-level drivers for the GPIO, UART, SPI, I2C, Timer, and ADC peripherals, including DMA support
  • Maintained code upstream in ChibiOS-Contrib open-source repository on GitHub

Arkyd-6 Satellite - Communication Systems Development

  • Performed requirements capture and system-level design for 6U nanosatellite communication sstem
  • Contracted development of four custom radio boards in order to complete system development on an accelerated schedule
  • Completed development of radio boards after vendor was unable to complete work on schedule

Arkyd-3 Satellite - System Communications Bridge

  • Developed interface PCB between commercial off-the-shelf transceiver unit and Planetary Resources avionics
  • Helped define PCB development workflow for Planetary Resources as part of company-first flight hardware development
  • Performed board bringup and functional testing on manufactured PCBAs

Skills

Languages

  • C
  • C++
  • C#
  • Rust
  • Python
  • Verilog
  • nMigen
  • Assembly (x86, MSP430, MIPS, 6502)

Tools

  • Visual Studio
  • KiCAD
  • Altium PCB Designer
  • LTSpice
  • QUCS Studio
  • LLVM

Protocols

  • Ethernet
  • Wi-Fi
  • TCP/IP
  • UDP/IP
  • DDR2
  • eMMC
  • UFS
  • I2C
  • SPI
  • UART/RS-232
  • Etherbone
  • mDNS
  • SLIP
  • CCSDS Space Data Link and Space Packet Protocols