DOUGLAS L. HUGHES
Snohomish, WA ***** 206-***-**** adclc6@r.postjobfree.com
Embedded Software Engineer
Summary:
Operating Systems:
WinCE (Platform Builder), VxWorks, Windows10.
Hardware:
CPUs: x86(Tunnel Creek, BayTrail, i5), ARM (DaVinci, Reef(Custom), PXA255, PXA270, and TI-OMAP)
Drivers: I2C, Battery, Touch panel, SPI, file systems, general input/output, real time clock, interrupt controllers, and others.
Languages:
C / C++.
Tools: Jama, Doors, Jira, Bitbucket, Git, ClearCase, Project Insight, Visual Studio, Platform Builder.
International Standards:
IEC 62304, IEC 60601, ISO 9000
Experience:
SonoSite Bothell, Washington 2008-November 2019
Senior Embedded Software Engineer
Participated as team member of the Platform Software group. Responsible for developing device drivers for Embedded platforms.
Projects:
Developed a resistive touch panel driver for the Nano product. Worked on a smart battery driver that communicated through I2C. Also, I developed methods to upgrade an FPGA via SPI.
Developed I2C driver for WinCE Intel Tunnel Creek platform. Developed application software to use the I2C driver. Also developed tests to validate and verify the I2C
devices. Worked with vendors to store information on EEPROMs in peripherals. The information included a checksum, part number, serial number.
Developed driver to store and access non-volatile memory. On two products this information was stored in an EEPROM and accessed via I2C. On one project the information was stored in a RAW file system.
Developed boot loader software for various platforms.
Developed an I2C driver for Windows 10 Intel i5 platform. Added steps in the I2C driver to initialize chips at boot such as clock chip and HDMI video chip.
Created a standalone developer tool to install a new FPGA via I2C. The tool can also install a new image on a microcontroller via I2C. It has an option to install a DSP. The code was ported to the main application and used for software upgrades in the main product.
Used tools such as a Total Phase Aardvark to verify and troubleshoot I2C circuits. The Aardvark can be a bus master and can be used to read and write I2C devices. Also used oscilloscopes with an I2C module to look at data.
Intermec Technologies Everett, Washington 2004-2008
Embedded Software Engineer
Participated as team member of the Hand Held Terminals group. Responsible for developing device drivers for the wireless barcode reader hardware as well as other platform development.
Developed an application to aid in debugging customer issues. The application logs debug data to a file for later analysis. Also have debugged and resolved 3rd party radio driver issues and developed diagnostic tools to monitor radio performance.
Projects:
Developed a touch panel driver for the CV30 project using a Hampshire TSHARC-12 touch controller. Met or exceeded Microsoft LOGO requirements for Window Mobile 2005.
Participated in board bring up on the CV30 project. Developed Ethernet test programs to prove the hardware.
Developing an SPI driver to input images captured by an EX25 imager. Developed the SPI drivers for PXA255, PXA270, and TI-OMAP SDP3430 processors.
.
The BSQUARE Corporation Bellevue, Washington 1999-2004
Embedded Software Engineer
Participated as team member of the Professional Engineering Services Group; responsible for porting Windows CE to Customer’s unique hardware. Also, developed device drivers for the customer’s hardware. Device drivers developed include touch panel, audio, and IrDA drivers.
Projects:
Developed an application and modified the boot loader to download new images (nk.bin and eboot.bin), and backup and restore user data for a Smartphone using USB Serial. Also accomplished the same tasks using RNDIS over USB and used TFTP as the protocol.
Created a test suite to verify customers BSP (Media2G0). Modified CETK tests to work with customer hardware. The project required McKendric (Wince 4.2) and later used Macallan (Wince 5.0).
Intermec Technologies Everett, Washington 1996-1999
Software Engineer
Participated as team member of the Connectivity and Tools Software Development Group; responsible for enhancing and maintaining software on stand-alone data collection server/network controller. Designed and implemented a CDROM based software upgrade utility for which a patent was obtained. Implemented a SNMP subagent to trap and manage system error messages remotely.
The Boeing Company Seattle, Washington July 1990-June 1996
Electrical Engineer, Avionics Systems
Developed fault isolation procedures for 757,767, and 777 Autoflight system. Facilitated solutions to technical problems.
EDUCATION:
The University of Washington Seattle, Washington
Bachelor of Science in Electrical Engineering
The University of Washington Seattle, Washington
C++ Certificate Program
The University of Washington Seattle, Washington
Windows Programming Certificate Program
The University of Washington Seattle, Washington
Embedded Systems Certificate