About
I'm an electrical engineer by education and a software engineer by profession. For most of my career that has meant embedded C on automotive controllers: fourteen years at General Motors across body controls, propulsion, and ADAS, finishing on the architecture team behind Super Cruise and the emergency-braking system in GM's first autonomous vehicle.
Since then I've built LiDAR and vehicle-network tooling at MathWorks, led the cloud and tooling teams producing HD maps at Dynamic Map Platform, and now run engineering at SCC, where I've launched new product lines and moved the flagship LED display product from a Windows single-board computer to a Raspberry Pi.
Most of my work is proprietary. What I can share is on GitHub, and the projects below cover the rest. I'm based in Michigan and open to conversations about senior engineering and engineering leadership roles.
Experience
-
May 2024 – present
Vice President, Engineering · SCC
Run engineering for an LED display manufacturer. Launched AVoIP and USB audio product lines, with an ESP32-based line in development, and led the move of the flagship product from a Windows 10 LTSC single-board computer to a Linux Raspberry Pi, cutting hardware cost by about 60% and porting the legacy software to Python along the way.
-
Aug 2022 – May 2024
Engineering Team Leader · Dynamic Map Platform
Led cloud and tooling development for the HD maps behind GM's Super Cruise. Owned the AWS data-lake ingest pipeline and the internal geospatial acquisition tools, and managed map expansion into Japan, Kuwait, the UAE, and Oman.
-
Apr 2019 – Jan 2022
Senior Software Engineer · MathWorks
Vehicle Network Toolbox and Lidar Toolbox: support for 64- and 128-laser Velodyne sensors, the A2L, BLF, and CDF file formats, and the CAN, CAN FD, and XCP protocols. Led the OSIsoft PI System integration that shipped with the launch of Industrial Communication Toolbox.
-
Jun 2005 – Feb 2019
Software Architect · General Motors
Embedded C across body control, propulsion, and ADAS, on several generations of controllers. Owned the bootloader and memory manager for the Global A body control module and engine position sensing in powertrain. On the ADAS architecture team for Super Cruise, architected software reuse for CoPilot, the emergency-braking system in GM's first autonomous vehicle with Cruise Automation.
Projects
-

AVoIP video wall
A new AVoIP product line built from commercial components for an automotive OEM's manufacturing control center, proven out in a 3×3 demo room.
-

ESP32 LED matrix driver
An ESP32-based driver for LED matrix panels, benchmarked against Tidbyt, Glance, and Divoom. Still in development; details after launch.
-

Raspberry Pi platform port
Replaced a ten-year-old Windows 10 LTSC single-board computer with a Raspberry Pi, driving HUB75 panels from the GPIO. About 60% less hardware cost.
-

USB audio card
Designed a USB replacement for a PCIe audio card by repurposing an XMOS reference design, skipping a custom board spin entirely.
-

Multichannel USB audio for Teensy
An open-source contribution to the Teensy Audio project: an 8-in/8-out USB audio device, worked out in the PJRC forum.
-

Four-channel audio synthesizer
Hardware and assembly firmware for an Atmel 8-bit micro with 8 kB of flash: four octaves of tunes, RS-485 control, and a passive filter that turns square waves into sine waves.
-
Boot swap utility
A development tool that does the one thing a bootloader is built to prevent: overwrite itself, using a download-and-execute path in the ECU.
-

Engine position sensing
Crankshaft and camshaft position sensing in the powertrain controller: the component that tells spark and fuel when to fire, sixty-six cycles a second at redline.
-

Faster trig functions
Swapped general-purpose trig routines in the powertrain math library for narrow-domain approximations, up to 30% faster.
-

Mapping image viewer
A PyQt5 proof of concept for pulling third-party street imagery into the HD-map data lake. It worked well enough to become a product.
-

QuickBrain
A mental-math game for iOS, written in Objective-C with Interface Builder, artwork in GIMP.
-

Blackjack U
Every basic-strategy chart for blackjack, on an iPhone. Objective-C and Interface Builder.
-

Gas price sign controller
A Palm OS app in C++ that set the prices on LED signs at BP, Citgo, Mobil, and Sunoco stations nationwide.
-

Baseball scoreboard controller
A Palm OS app that ran LED scoreboards at high-school ballparks.
Patent
Configurable CPU health monitoring
A health-monitor framework that moves the test suite out of core software and into a per-deployment configuration, so each ECU program runs exactly the tests it needs and new tests plug in by function pointer without touching the core. Read the plain-language version.