Resume
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)
![](../img/daio.png)
Adamant Aerospace Incorporated, Jan. 2016 to July 2017
Founder and CEO
![](../img/aa.png)
Planetary Resources Development Corporation, June 2013 to Dec 2015
RF Communications Engineering Lead
![](../img/prdc.png)
University of California at Berkeley, Aug 2009 to May 2013
B.S. in Electrical Engineering and Computer Science, College of Engineering
![](../img/berk.png)
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