Seasoned, innovative embedded software architect/engineer with 20 years of experience solving complex problems where the software meets the hardware in bare-metal, FreeRTOS, and AArch32/64 embedded Linux systems; highly experienced across the software development lifecycle, including; mentoring/managing, investigating, prototyping, schematic reviews, board bring-up, C(18+ years), C++(8+ years), Python(6+ years) coding, and debugging. IoT developer experienced with Linux and sockets and multi-thread programming; Linux inter-process communication and distributed interactions via RPC. Expertise in moving data on bare-metal, embedded Linux, and FreeRTOS systems internally via DMA and shared memory as well as externally using; Ethernet, TCP/UDP/IP, USB, PCIe, UART, SPI, I2C, and Modbus. Developed multiple IoT projects from schematic review to embedded coding of firmware updates via Ethernet/USB and over the air via WiFi. Experienced with U-Boot/embedded Linux and bare-metal/FreeRTOS bootloader development. Knowledgeable about sockets, multi-thread programming, and IPC for Linux and FreeRTOS/LWIP operating systems.

A recognized problem solver with a proven track record of research, innovation, and custom product development. A demonstrated history of using scopes, logic analyzers, protocol analyzers, and JTAG tools for solving challenging board bring-up issues on ARM Cortex-AXX SOCs (Analog Devices, Qualcomm, Nvidia, i.MX, Xilinx) and microcontrollers (MSP430, PIC32, TI CC3X WiFi); skilled at using a datasheet to write bare-metal and embedded Linux device drivers. With recent experience writing (DMA, I2C, SPI) Linux device drivers for interfacing with various sensors, battery monitors, and other peripherals with previous experience writing device drivers for LCDs and cameras. 10+ years of BSP experience using Buildroot, Yocto, and PetaLinux tools for customizing U-boot, kernel configuration, and device drivers and both simple and Ubuntu root file systems, along with Opkg and Dpkg package managers.

Professional instructor at Georgia Tech (graduate operating systems) and Southern New Hampshire University (C++/OOP), I have five years of experience teaching graduate and undergraduate students. At Freescale, I created training material on Ethernet, USB, and Linux and presented the material throughout the US. Teaching allows me to comprehensively investigate and learn the subjects beyond what I would need when doing software development.

Software manager experienced at building teams of both experienced and fresh engineers. At Analog Devices, I managed a group of four engineers developing custom software per customer specifications. After graduating with my master’s in 2019, I worked full-time (under an 18-month grant) as a research scientist at Georgia Tech, managing a team of seven grad students researching artificial intelligence in the classroom (the project is called Jill Watson).

Self-starter with 17 years of experience working remotely and a proven history of shipping firmware to internal and external customers. My curiosity drives me to take on challenges; I always seek learning opportunities. For example, I developed a programming language called RobotSee to help kids learn to program and various robots to demonstrate the utility of the language. Then, at Freescale, I created a robot for promoting the i.MX family and accelerometers. My work on RobotSee led me to do an in-depth analysis of embedded computer vision, including 3D and LIDAR. As an embedded vision software engineer at BDTI, I developed computer vision algorithms using OpenCV and implemented them on various ARM processors. As a master’s student at Georgia Tech, I took classes in computer vision and algorithm development (Harris, SIFT, RANSAC, optical flow, and particle filters).