Robert M. Cross
| (484) 619-2287 | Rochester, New York, US
OBJECTIVE
Combine knowledge software development, electronics, and my experiences in experimental physics to solve challenging problems and produce powerful and extensible systems.
EDUCATION
University of Rochester May 2014
M.S. - Physics
Louisiana State University May 2012
B.S. - Physics, Minor in Computer Science
EMPLOYMENT
Mastodon Design, Embedded Software Engineer December 2021 — Present
https://www.mastodondesign.com/
  • Worked with FPGA teams to create robust high speed interfaces between FPGA and userspace
  • Used Bitbake and Yocto best practices to redesign and stabilize Linux image build system
  • Maintained and developed Gitlab CI and Jenkins pipelines to prevent software regressions
  • Primary engineer responsible for bringing up two new hardware platforms from fresh boards
  • Tested and integrated Linux kernel drivers and developed modular device trees for platform bringups
  • Diagnosed issues deeply intertwined in Linux kernel drivers, the U-Boot bootloader, and Xilinx FPGA Soft IP cores
  • Analyzed and tuned 10 Gbit high speed SERDES paths using hardware, software, and Xilinx IBERT tools
Skutek Instrumentation, Research Engineer January 2021 — December 2021
http://www.skutek.com
  • Independently solved intermittent show-stopping full system resets involving complex interactions between the SoC, PMIC, Linux kernel, and very specific hardware design
  • Developed a hardware control library to fully control signal digitizer in C++
  • Introduced Python bindings for C++ library focusing on speed and simplicity
  • Improved live waveform streaming over web-based UI from ~4 waveforms/sec to 100+ waveforms/sec using fast WSGI interface
  • Developed automated hardware testing, producing a unique report for each unit
University of Rochester, Graduate Research Assistant 2015 — January 2021
  • Worked on SNDAQ (Supernova DAQ) for IceCube Neutrino Observatory experiment located at the South Pole
  • Was appointed system lead and emergency contact on SNDAQ team for IceCube
  • Coordinated and performed critical software deployments to the South Pole via Satellite
  • Maintained a C++/ROOT codebase in a rapidly changing live environment while adding new functionality
  • Identified need for automated software testing and implemented continuous integration
  • Created framework for next generation SNDAQ written in Python
  • Tested Silicon Photomultipliers for use in HAWC (High-Altitude Water Cherenkov) Observatory upgrade
SKILLS
Programming Languages: C++, Python, Javascript, Tcl, Java, Mathematica
Software: Yocto / Bitbake, Linux, Kernel Hacking, CMake, Das U-Boot, Xilinx Tools, Docker, Jenkins, Git, FreeRTOS, Zephyr RTOS, SVN
3D Design: FDM/SLA 3D Printers, Autodesk Fusion 360, OpenSCAD, Slic3r
Electronics Design: KiCad, Arduino, STM32 ARM, TI Sitara ARM, nRF52, AVR C, Assembly, VHDL, Micro-soldering
PUBLICATIONS
Eleven Year Search for Supernovae with the IceCube Neutrino Observatory, Proceedings of Science
Searching for arbitrary low-energy neutrino transients with IceCube, Proceedings of Science
Hanbury Brown and Twiss interferometry with twisted light, Science Advances
Inefficiency of classically simulating linear optical quantum computing with Fock-state inputs, Physical Review A - Atomic, Molecular, and Optical Physics
Quantum random walks with multiphoton interference and high-order correlation functions, Journal of the Optical Society of America B: Optical Physics
PROJECTS
Worked on major contributions to PineTime open source smartwatch project
[ STM32, nRF52, C++, FreeRTOS, Embedded Systems ]
Created repeatable test rigs to test SiPMs with configurations of scintillating fibers and LED flashers
[ FDM Printing, OpenSCAD ]
Designed and assembled 8-in solid-state analog A/V switch with 2-out distribution amplifier
[ KiCad, OpenSCAD, AVR-C ]
Developed I2C interface implemented in VHDL integrated into existing FPGA design
[ FPGA, VHDL ]
Designed and produced custom keyboard with laser-cut parts
[ OpenSCAD, 3D Design ]
Reverse engineered interfaces between modern peripherals and vintage computers
[ PIC ASM, AVR-C, Arduino, KiCAD, OpenSCAD, Fusion 360 ]