Technological opportunity that promotes development of current and new skills in a leadership or individual contributor role.
Creative Software/Hardware/Firmware Engineer with broad-based experience, including extensive experience in embedded microcontroller-based system software architecture/design, team/technical leadership, multitasking embedded real-time systems, device drivers, communication protocols, medical devices, multi-axis robotic systems, electro-optic systems, control systems, safety systems, automated test and measurement systems, client/server systems, advanced web site development, on-chip ROM/bootloader development, ASIC SoC and PCB bring-up and debug, API implementation, chip/board support package development, hardware/software interaction, and use of logic analyzers and oscilloscopes. Extensive experience in process-driven software development. Excellent oral and written communications skills. Exceptional system design and documentation skills.
DEVELOPMENT LANGUAGES/TOOLS/OPERATING SYSTEMS/TARGET PLATFORMS/COMMUNICATION PROTOCOLS
04/2012 - Present - Abbott Diagnostics, Irving, TX
Principal Engineer - New Product Development
Firmware development for Cortex M4 controller boards.
01/2011 - 04/2012 - Avnet, Inc., McKinney, TX
Team Lead - Software Application Engineering
Bridging the software engineering knowledge gap between semiconductor suppliers, FAEs, and customers. Focused on Embedded ARM/Linux on Freescale, TI, Marvell, and Atmel processors.
12/08 - 01/2011 - Coherent Logix, Inc., Austin, TX
Senior System Software Engineer
Developing embedded Linux servers and command-line & GUI clients for JTAG-like debugger probe based on iMX31 (ARM11) processor using C, C++, and Java. 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 progromming 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 Space Station radiation experiment/test system.
06/08 - 12/08 - Qualcomm, Austin, TX
C/C++ Library devleopment for VLIW DSP. Created Python scripts to populate multilib libraries. Ported various open source libraries to VLIW DSP.
10/06 - 06/08 - Alereon, Inc., Austin, TX
Senior Software Engineer
Developed software for Ultra-Wideband (UWB) SoC for the WiMedia and Wireless USB (WUSB) market. Responsible for on-chip ROM bootloader development for ARM968-based SoC, 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. Responsible for ROM RTL simulation creation, execution, and acceptance testing. Created web-based tools to auto-generate register access definitions (header files, html files, and debugger files) using PHP scripts.
7/04 - 10/06 - SigmaTel, Inc., Austin, TX
Senior Embedded SW Application Engineer
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.
Senior System Software Engineer
Designed and developed ROM startup code for STMP3XXX using ARM assembly and GHS Multi. Developed validation test code for Realtime Clock and UART blocks 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.
8/01 - 7/04 - Emerson Process Management, Inc., Austin, TX
Principal Software Engineer
Lead Engineer responsible for the concept, specification, design and development of the 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 for sharing the serial communication bus. Designed and developed startup and run-time synchronization algorithms allowing 32 devices to broadcast every 50 ms.
3/99 - Present Owner - Domain-Zone.com, Southlake, TX
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.
Domain Registration Project
Developed domain registration service to complement web hosting service. Successfully built customer base to include over 12,000 registered domain names.
Web Hosting Project
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.
5/95 - 1/00 Owner/Consultant - Software Insight, Inc., Southlake, TX
Developed GUI for medical instrument simulator using Visual C++ and Rational Rose UML.
Temperature Controller Project
Lead Engineer 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.
Device Driver Project
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.
CPU Diagnostics Project
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.
Prototype Medical Instrument Project
Lead Engineer 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.
12/94 - 5/95 Consultant - Burlington Northern Railroad, Ft Worth, TX
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.
9/94 - 12/94 Consultant - Bell Northern Research, Richardson, TX
Responsible for call processing software requirements analysis for CDMA project using Northern Telecom's DMS-MTX cellular switching system.
2/94 - 9/94 Lead Analyst - Sprint, Irving, TX
Lead Engineer responsible for switch interface improvement project, including development of machine-machine interface specification and prototype for DMS-250 telephone switching system. Created architecture for UNIX workstation development/production environments. Gained broad understanding of telephony concepts and communication protocols (Ethernet and TCP/IP).
1/87 - 2/94 Senior Software Engineer - Abbott Laboratories, Irving, TX
Factory Automation Project
Lead Engineer responsible for design and development of automated test equipment for medical diagnostic instruments, both at the instrument and subassembly levels. Led group 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.
Test Station Project
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 the IMx immunoassay instrument. Designed motor controller/driver board for various assembly/test fixtures. Performed general electrical engineering duties in a sustaining environment.
6/86 - 1/87 Junior Electrical Engineer - Quest Medical, Carrollton, TX
Designed IV pump power supply test fixture.
10/84 - 5/85 Electronic Engineering Technician - Mostek, Carrollton, TX
Troubleshoot/repair lasers, memory testers, auto-probers, and wafer handlers.
University of Texas at Dallas, Richardson, TX
Bachelor of Science in Computer Science, 1991
Iowa State University, Ames, IA
Undergraduate studies in Electrical Engineering
Hawkeye Institute of Technology, Waterloo, IA
Associate of Applied Science in Electronic Engineering Technology, 1984
PROFESSIONAL REFERENCES: (available upon request)