William Butler

Plano, Texas

                                                                                                                                                              

 

System / Firmware Engineer

 

Experienced system engineer, team lead and individual contributor for low-level embedded firmware, and middleware.  Worked on analog, digital and mixed signal designs. Specialize in custom board bring up to support an OS such as embedded Android, QNX, Linux or non-OS bare-metal applications. Led small teams of engineers in multiple project using Agile methodologies.

 

 

 

TECHNICAL

SUMMARY:

Hardware:

Arm, MX6, Atom,  MCF5xxx, MCP860, MC68xxx, TI DSP DM365/8 320C240, 320C54CST, 320C5402, 320C5502, 320C64x+, ADSP2185, 8051, 68HC812, IBM PC/x86 and Compatibles, HP730, Sun, Sparc, DEC6xxx, 8xxx, 11/750, 11/785, GPIB-488, MIL-STD-1553

 

 

 

Operating

System:

Android, QNX, LINUX, RTEMS, PSOS, DspBios, Windows 9x/NT/2K/XP, UNIX, VRTX, USX, Nucleus, OS2/WARP, MS/DOS 6.2, VMS, Trusted Execution Technologies (TxT)

 

 

Languages:

C, C++, MC68xxx/TI/8051 Assembly, Windows SDK, ZAPP, MFC, OWL, YACC, MEWEL, PASCAL, FORTRAN, Visual Basic.

 

 

Design Tools:

Evergreen Case Tools, CADRE Case Tools

 

 

Debugging

Tools:

Single Step ICE, TI Debuggers, GDB, HP 7400 series ICE, Tektronics and HP Oscilloscope, Tektronics Logic Analyzer (Prism 3000, DAS), CADRE in-circuit emulator, HP4951a Protocol Analyzer, IO-Tech 488 Analyzer.

 

Professional Employment

 

August, 2010

to Present

Heads-UP  Inc, Carrollton, TX

Principal Software Engineer- Firmware Lead

Responsible for architecture, design, development, and testing of real-time, embedded code for an aviation electron manufacturer.  Developer on multiple projects using QNX and Embedded Linux on ARM and Atom processors using C/C++ and assembly.   Experienced Android KitKat (4.4) on Freescale MX6 Kontron board.  Responsible for  low-level board bring-up, including drivers for flash, SDRAM, network chips, RTC, Compact Flash, IC2, and T1 Framers.  Worked at the hardware interface level to the GUI level.

 

January, 2009

to July 2010

DeLL, Austin, TX

System Engineer – Remote Manageability / Platform Security

Worked with management, marketing, BIOS, ODM, and vendor teams to ensure owned technologies were consistent across complete product lines and the technologies provide a complete solution to the end customer.  Subject matter expert for Trusted Execution Technology (formally called LaGrange) and Broadcom TruManage (BCM5761). Reviewed Test plans and Platform TPM provisioning, wrote white papers and tech sheets for marketing. Worked closely with vendors on next generation parts, such as TPM’s, and complex issue isolation.

September, 2002

to December 2008

Estech systems Inc, Plano, TX

Principal Software Engineer- Firmware Team Lead

Responsible for architecture, design, development, and testing of real-time, embedded code for a market leader in telephony equipment utilizing TDM and VoIP technologies.  A lead developer on multiple projects integrating Timesys Linux on an ARM9 with direct interface to a TI64xx. Extensive experience with Motorola/Freescale MCF52xx, MCF5407; TI TMS320C5402, TMS320C5502; TMS320C64x+; and ADSP-2185 processors using C/C++ and assembly.  Responsible for low-level board bring- up, including drivers for flash, SDRAM, network chips, RTC, Compact Flash, IC2, and T1 Framers.  Ported, expanded and maintained DSP algorithms and codec’s in assembly for multiple DSP brands to take advantage of vendor pricing.  Algorithm familiarity includes: tone generators, CID & DTMF codec’s, and echo-cancellers, G.726, G.711, & ADPCM. Very comfortable with working on board at the hardware interface level.  Familiar with TDM serial bus interfaces as well as with VoIP technologies. Manage a team of 5 embedded engineers, working on multiple firmware projects using Scrum/XP Agile methods.  Responsible for hiring, assigning tasks, reviews, promotions and raises.

 

January, 2002

to September, 2002

Advanced IP COmmunication, Richardson, TX

Senior Embedded Software Engineer / Project Leader -Contractor

Responsible for architecture, design, development, and testing of real-time, embedded code for a startup company to produce a small business phone switch using VoIP.  Developed code for the Motorola MCF5307 processor using C/C++ coupled with RTEMS real-time OS.  Wholly responsible for board check out, GNU Tools, bring up of the board, rating the bios, which provided a network boot; and 80% of the VoIP application. The proprietary board included flash, SDRAM, a network chip, a RTC, and Compact Flash.  Also developed code for the TMS32054CST DSP to interface to the coldfire utilitizing the Host interface port. Used Assembly for low-level startup, driver ISR and debugging. Administered a Linux Server running 6.2, which we migrated, to 7.3.

 

August, 2000

to December, 2001

ComSpace Corp, Coppell, TX

Senior Embedded Software Engineer

Responsible for design, development, and testing of real-time, embedded code for a startup company that provided spectrum efficiency over RF.  Developed code for the Motorola MPC860 processor using C coupled with the PSOS real-time OS.  Also developed code for a VLSI ARM processor using C coupled with the Nucleus OS.  Further, developed network data interface applications using LINUX on a PC target, compiled with GNU tools.  Specialized in serial and network interfaces and debugging in assembly.

 

December, 1995

to August, 2000

Vari*LITE, Irving, TX

Senior Embedded Software Engineer - Project Lead

Responsible for design, development, and testing of real-time, embedded code for the industry leader in concert and stage automated lighting. Products use Motorola HC12, 68360, 68302, 68332, 68040, and TI Dsp 320C240 processors on custom boards. Code generated in C, C++ and Assembly with the MicroTec C, GoDsp C and by HiCross embedded C/C++ compilers hosted on PC and UNIX platforms.  Trained in Booch Design model. Experience in Microsoft C++ for Windows 95 user interfaces.   Managed several projects and a team of 3 people.

 

July, 1994

to December,1995

 

AMR- Sabre Decision TECHNOLOGY, Irving, TX

Software Engineer - Contractor

Team member developing a large commercial fourth generation compiler (QIK2) to produce user-friendly interfaces for complex host environments in call centers.  Development under Watcom C++ for multi-platforms (DOS, Windows 3.X, OS2/16 and OS2/PM) using ZAPP class framework, MEWEL for DOS and OS/16 capability, and YACC as the lexical engine.

 

Software Engineer/Project Manager - Contractor

Designed and maintained an Automated Travel Authorization Certificate (AutoTAC) program developed in Microsoft Visual Basic (VB) using Q&E database extensions. Work closely with clients and operators. Other duties included Novel LAN administrator and configuration administrator

 

Software Engineer - Contractor

Developed Window 3.X printer drivers for specialize Europe ticket printer. Development under Microsoft Visual C++ 1.5 compiler.

 

January, 1990

 to July, 1994

ElectroSpace SYstems, Inc., Richardson, TX

 

Software Engineer/ Software Lead

Team member designing DF calibration controller required to control and collect data from several GPIB-488, serial (RS232, RS485), MIL-STD-1553, and TTL devices. Designed using C++ OOP with class structures and data encapsulation.

 

Software Embedded Engineer

Team member implementing a project design using C++ OOP on Sun Sparcs. Developed control algorithms for HP signal generators controlled using GPIB-488 bus. 

 

Software Embedded Engineer / Project Lead

Designed, developed, and tested embedded software for large earth station antenna control systems. Responsible for projects developed using C hosted on pc and Unix environments cross-compiled using MircoTec C coupled with the VRTX real-time OS based on the MC68xxx platforms. Used Tektronics Logic Analyzer (Prism 3000, DAS) and CADRE in-circuit emulator to debug code.

 

February, 1989

to December, 1989

 

June, 1987

to December, 1987

Tees Engineering computer services, College Station, TX

 

DEC VAX System Programmer /Operator

Solved programming problems and assist with the VAX/VMS environment.

January, 1988

to January, 1989

US ARMY, TEST AND EXPERIMENTATION COMMAND (TEXCOM), Fort Hood, TX

 

Computer Specialist (COOP)

Team member designing, implementing, and testing programs used for critical reliability testing for the Department of Defense. Developed using Clipper/ dBase 3.

 

Education:

 

Texas A&M University, College Station, Texas

Bachelor of Science in Computer Science, 1991

Minor: Electrical Engineering

 

Microsoft Visual Basic Programming Course

Booch OO Design Training

TI DSP 320X2xx Training

TI DSP 32055xx Training

TI DSP 320C64x+ DSP System Integration Workshop using DSP/BIOS

Linux Essentials Training