Influential engineering technologist with extensive embedded system domain knowledge, excellent oral and written communication skills, and broad-based experience guiding direction of hardware, firmware, software, and system architecture projects and teams.
Overview
38
38
years of professional experience
Work History
Vice President Engineering
OxeFit, Inc
07.2021 - Current
Directed Embedded Software, Firmware, UI, and Electrical Engineering teams in the development of motorized fitness equipment for professional and consumer markets.
Cultivated relationships with key stakeholders, including customers, vendors, and company leaders to promote collaboration and long-term success.
Collaborated with senior management to develop strategic initiatives and long term goals.
Defined and developed Electrical and Firmware architecture for 2nd generation products.
Designed SoM PCB with MCU, Ethernet, USB and SPI interfaces.
Developed System Monitor to control startup and shutdown of software services, and to monitor run-time performance, using Python.
Developed firmware and middleware for STM32 MCUs and Linux platforms, respectively.
Led cross-functional teams and provided technical guidance and mentorship.
Recruited, interviewed and scaled team to 20 engineers.
Managed field service team
Transformed customer experience by designing and executing comprehensive service improvement initiatives aimed at enhancing satisfaction levels.
Chief Signal Processing Scientist
L3Harris Technologies, Inc
04.2020 - 07.2021
Developed FPGA blocks for RADAR signal processing system, using Vivado, System Verilog, and Xilinx Zynq Ultrascale RFSoCs
Defined AXI bus interface to AGC
Obtained DOD security clearance.
Principal Research Engineer
Abbott Laboratories
04.2012 - 04.2020
Architected and developed firmware for two large-scale blood analyzers, one of which has been instrumental in early rapid Covid-19 testing
Defined firmware and hardware architectures and implemented on 20 Cortex M4/7-based control boards, featuring stepper motor, liquid level sense, optics, temperature, and solenoid control, and pressure, current, and voltage monitoring, firmware, FPGA & motor controller upgrades over network
Defined FPGA functional requirements
Created python scripts to enable test and debug board and system issues
Defined network command/response/debug interfaces
Implemented Windows command-line utilities for updating MCU Flash, FPGA SPI Flash, and motor controller Flash over network
Implemented primary and secondary bootloaders
Developed HAL for on-chip peripherals, such as SPI, I2C, UART, Timers, etc
Developed APIs for multiple motor controller chips and FPGA
Bring-up of ThreadX RTOS & NetX TCP/IP stack
Development using IAR EWARM tools
Instrumental in driving commonality of firmware and hardware design into all control boards
Led migration to Altera Cyclone V SoC processing platform
Led team of eight firmware/electrical engineers.
Software Application Engineering Team Lead
Avnet Electronics Marketing
01.2011 - 04.2012
Bridging the software engineering gap between semiconductor suppliers, FAEs, and customers
Support customers using Embedded ARM/Linux on Freescale, TI, Marvell, and Atmel processors
Developed embedded Linux training material for Beagleboard-xM development board and presented at 1-day seminars in 12 cities across North America
Owner
Domain, Zone.com
03.1999 - 04.2012
Responsible for all aspects of company creation and management, including business, financial, and marketing plans, technical implementation, and customer support
Successfully built business to 350 web hosting customers
Developed domain registration service to complement web hosting service
Successfully built customer base to include over 12,000 registered domain names
Responsible for configuration of Linux Web Servers, including Apache, Sendmail, Bind, Proftpd, MySQL, and PHP for use in a virtual web hosting environment
Developed multi-process, Web-based Control Panel (using C, PHP, bash scripts, IPC) for managing individual virtual domains
Developed POP3 daemon server (using C and TCP/IP) to support mail retrieval from email accounts associated with each virtual domain
Developed web-based account management and billing system using PHP and MySQL
Responsible for direct customer interaction and support.
Senior System Software Engineer
Coherent Logix, Inc
12.2008 - 01.2011
System software architecture for Software Defined Radio (SDR) development platform for Coherent Logix's massively- parallel DSP architecture
Created PHP scripts to generate register access data structures and C source code enabling registers to be read by name from a command interpreter
Responsible for low-level hardware access functionality for diagnostic application, as well as components of an API library
Developed C++ client/server socket classes, SPI Flash programming utility, C# client to test server connect/disconnects, .elf file parser/loader that loads code/data into 100 DSPs and 121 memory banks via JTAG interface, and a compressed bootloader and command interpreter for International Space Station radiation experiment/test system
Configured embedded Linux development environment, including NAND-based root filesystem, bootloader, and cross tool chain
Developed embedded Linux DMA-based device drivers and applications to enable high-speed transfers from OMAP3530 processor to DSP
Developed embedded Linux servers and command-line & GUI clients for JTAG-like debugger probe based on iMX31 (ARM11) processor using C, C++, and Java.
Staff Software Engineer
Qualcomm
06.2008 - 12.2008
C/C++ Library development for VLIW DSP
Created Python scripts to populate multilib libraries
Ported various open-source libraries to VLIW DSP.
Senior Software Engineer
Alereon, Inc
10.2006 - 06.2008
Mask-ROM bootloader development and initial bring-up of ARM968-based SoC
ROM RTL simulation creation, execution, and acceptance testing
Developed software for Ultra-Wideband (UWB) SoC for the WiMedia and Wireless USB (WUSB) market, including WHCI protocol (over PCI Epxress), USB High Speed Device and SPI interface driver development, ROM Monitor over RS232, and SPI flash boot manager, using ARM assembly and C
Created web-based tools to auto-generate register access definitions (header files, html files, and debugger files) using PHP scripts.
Senior Embedded Software Application Engineer
SigmaTel, Inc
07.2004 - 10.2006
Responsible for development and support of a Linux board support package and corresponding web site, and an OS-less chip support package for SigmaTel's ARM926-based STMP36xx multimedia SoC
Responsible for kernel configuration, cross tool chain and root filesystem creation, bootloader development, debugger hardware evaluation and selection,
and device driver development for audio input, audio output, and low-resolution ADC devices
Responsible for support of international customers, partners, and design houses
Led the chip bring-up process for first silicon
Designed and developed mask ROM startup code for several iterations of STMP3XXX using ARM assembly and GHS Multi
Responsible for initial SoC bring-up/debug activities
Developed validation test code for Realtime Clock and UART blocks on STMP3600 SoC
Provided demonstrations and training to SigmaTel-Korea Application Engineers and several key customers
Ported 100+ validation test cases to the GHS environment for initial STMP3600 chip bring-up
Designed and developed External Memory Interface (EMI) Hardware API for STMP3600 SDK.
Principal Software Engineer
Emerson Process Management, Inc
08.2001 - 07.2004
Responsible for the concept, specification, design and development of a redundant peer-to-peer
communication subsystem for a safety-certified multi-processor industrial control system utilizing the Motorola MPC866 processor, Green Hills INTEGRITY RTOS, C/C++, and Rhapsody UML
Conceived remote peer communication system using Ethernet protocol over fiber, which enabled 32 interconnected backplanes, each with up to 32 local peer bus controllers
Responsible for the evaluation of tool chains (compiler, linker, debugger, and OS), board startup and debug activities, and HDLC device driver development
Responsible for design and development of a deterministic time division multiplexing (TDM) protocol allowing 32 devices to broadcast every 50 ms
Designed and developed startup and run-time synchronization algorithms, allowing hot swapping on a live field system.
Consultant
Abbott Laboratories
05.1995 - 01.2000
Responsible for development of embedded real-time temperature control system using the TMS320C203 DSP, TI's C Compiler and Debugger, and Code Composer
The system featured 32 channels of control, downloadable flash, dynamic memory re-mapping, ASCII RS232 command interface, programmable control parameters, PID control algorithm, and alarm generation
Developed Windows flash loader using Borland C++ Builder
Responsible for development of 68360/pSOS device drivers, using C programming language, for assorted devices used in medical diagnostic products, including RS232 and RS485 barcode readers, RS232 temperature controller, ISA Bus liquid sense board and pressure monitoring boards
Designed FPGA to interface between the PC parallel port and the BDM port of the 68360 using Altera tools
Responsible for initial bring-up and debug of Motorola MPC860 and 68360 communication processor boards
Developed internal and external resource initialization sequence
Developed boot-up diagnostics to test internal SRAM and external Flash and SDRAM, internal and external communication hardware, including UARTs, SPI, I2C, Ethernet devices, and digital IO interface FPGA, using assembly and C programming languages
Responsible for developing a PC-based medical instrument prototype, including requirements analysis, design, coding, and support
System software activities included device drivers for OMS motor indexer, Intel's 8254 counter timer, 8255 programmable peripheral interface, a 4 channel 16550 asynchronous communications controller, and a custom dual- wavelength optical measurement system
Defined and implemented command language interface (CLI) to allow users to manipulate the prototype's robotics and measurement systems
Designed and developed Windows GUI interface to allow users to create and execute CLI scripts.
Consultant
Burlington Northern Railroad
12.1994 - 05.1995
Responsible for the configuration of High Availability Cluster Multi-Processing (HACMP) software and system administration for AIX RS/6000 cluster
Performed system administration function including custom korn shell script programming
Designed and developed Motif-based file manager and source code editor using C++/AIX
Designed and developed error handling classes for client/server communication system using C++/AIX.
Consultant
Bell Northern Research
09.1994 - 12.1994
Responsible for call processing software requirements analysis for CDMA project using Northern Telecom's DMS-MTX cellular switching system.
Lead Analyst
Sprint
02.1994 - 09.1994
Responsible for switch interface improvement project concept, including development of machine-machine interface specification and prototype for DMS-250 telephone switching system
Created architecture for UNIX workstation development/production environments.
Senior Software Engineer
Abbott Laboratories
01.1987 - 02.1994
Responsible for design and development of automated test equipment for medical diagnostic instruments, both at the instrument and subassembly levels
Led team from concept through delivery and support, including responsibility for initial concept, selection of hardware platform and software development tools, feasibility analysis/simulations, software development plan, project schedules, cost estimates, design, coding, testing, executive presentations, hardware/software procurement, software release management, validation, and factory support
Managed $500K project budget
The test stations were based upon networked HP9000/7xx workstations, with software being developed using C, C++, HP-UX, X-Windows/Motif, TCP/IP
Designed and developed Motif-based GUI, inter- process communications, statistical process control charts, RS232 communications, ASTM packet-based communication protocol, instrument test routines, stepper motor indexer interface, and terminal emulator
Lead Engineer responsible for design and development of reliability test and data acquisition systems for electro-optical and multi-axis robotic systems
Systems included real-time control software, GUI class library, icon editor, RS232 serial communications, device drivers for digital I/O board, motor indexer board, touch screen using C++ programming language
Responsible for design and development of medical instrument test systems including control and data collection software for robotic and electro-optical subsystems used in medical diagnostic instruments
Software was developed using the C programming language
Responsible for entire project from concept through delivery and support
The test stations were based upon stand-alone PCs utilizing touch screen, mouse, barcode wand, GPIB interface to voltmeter, photometer, high voltage power supply, and digital/ analog I/O modules
Developed custom optical system and interface circuitry for programmable lamp, thermo-electric cooler servos, lamp and solenoid control/drive, transconductance amplifiers
Redesigned micro-stepping motor driver board for desktop blood analyzer
Designed motor controller/driver board for various assembly/test fixtures
Performed general electrical engineering duties in a sustaining environment.
Education
Bachelor of Science - Computer Science
University of Texas at Dallas
Richardson, TX
1991
Associate of Applied Science - Electronic Engineering Technology
Hawkeye Institute of Technology
Waterloo, IA
1984
Skills
Team Leadership
Decision-Making
Coaching and Mentoring
Developing and troubleshooting complex systems
Embedded software, firmware, hardware architecture, design, and implementation
ARM Platform development
3-phase BLDC motor control
FPGA development using Xilinx Vivado & Ultrascale RFSoCs & System Verilog
Embedded Linux development RTOS & Bare-metal development
Team building, management, and technical leadership
Requirements definition
IoT Sensor & Gateway Systems
Multitasking embedded real-time systems
Device drivers
Communication protocols
Medical devices
Multi-axis robotic systems
Electro-optic systems
PID/Control systems
Automated test and measurement systems
Safety Systems
Client-server systems
Mask ROM development & RTL simulation/verification
Startup & bootloader development
ASIC SoC and PCB bring-up and debug
PCB design & layout
API implementation
Chip/board support package development
Hardware/software interaction
Use of logic analyzers and oscilloscopes
Web site development using HTML/PHP
Agile software development
System design and documentation
Embedded Linux Training material development and presentation
<ul>
<li>Managed $2 million annual production budget to maximize resource allocation.</li>
<li>Produced over 100,000 minutes of content through 4,500+ live and pre-recorded classes.</li>
<li>Designed studio and control room layouts to enhance workflow efficiency.</li>
<li>Coordinated scheduling for 10-member production team to streamline operations.</li>
<li>Developed innovative social and web content ideas to engage target audience.</li>
<li>Scheduled personnel for off-site shoots to ensure timely production delivery.</li>
</ul> at OxeFit, Inc.<ul>
<li>Managed $2 million annual production budget to maximize resource allocation.</li>
<li>Produced over 100,000 minutes of content through 4,500+ live and pre-recorded classes.</li>
<li>Designed studio and control room layouts to enhance workflow efficiency.</li>
<li>Coordinated scheduling for 10-member production team to streamline operations.</li>
<li>Developed innovative social and web content ideas to engage target audience.</li>
<li>Scheduled personnel for off-site shoots to ensure timely production delivery.</li>
</ul> at OxeFit, Inc.