Sign in

Embedded Software/Firmware Engineer

Elgin, TX
June 22, 2018

Contact this candidate


Charles A. Albach

**** *. ****

Elgin, Texas ****1


Technical Details:

15+ years of embedded RTOS multi-tasking/threading and systems development.


C/C++, assembler(x86,PPC,M68k,TMS320C55xx, ARM Thumb, AVRXmega), MSVB, Visual C# .NET, Perl/Python, HTML, Pascal/Modula-2, Fortran.

KSH/BASH Shell scripting, Perl/Python, some XML.

Development and real-time OS environments:

VxWorks, VRTX-32, TI DSP/BIOS, Linux, iRMX and several company proprietary RTOS’. UNIX:Solaris/HP-UX/Linux; Windows XP/7/8, MacOS.

Target processor and platforms:

ARM9 Cortex, AVRXmega; M68k; x86; TMS320C5509A, PPC-8XX; M68332;

PC, VME/VXI, PC-WinNT and proprietarily developed PCB’s.

Development tools:

IAR, TI’s CodeComposer, Eclipse, VisualStudio 2010 C++/C#.NET, Wind River Tornado, CodeWarrior (NT/MacOS), Watcom C/C++, CodeWright. GNU Tool Suite.

ClearCase and ClearQuest; SCCS, RCS, PVCS and OmniWorks version control software; makefile scripting., Visual JTAG - Arium(Xeon), BlackHawk(DSP), AVR, Atmel. HP ICE and EST ICE (PPC) emulators. Additionally, have worked extensively with network analyzers for Ethernet, Token-Ring, SCSI and GPIB packet decoding. Familiarity in development with logic analyzers and oscilloscopes.




Device Driver, Firmware and BIOS/UEFI development; pipe/socket(BSD) IPC programming; SATA, PCIe, along with I2C and SPI(McBSP) familiarity.


University of Texas at Austin, B.A./Computer Science.

Course Certifications

Introduction to Digital Signal Processing, Instr:Lyons, Richard; Aug. 2007, Houston, TX (3 days).

Debugging and Testing Techniques of Embedded Systems, Mar. 2007, Oslo, Norway (3 days).

WindRiver Systems, VxWorks/Tornado Training; April 1994, Alameda, CA (5 days).


Incenergy, Austin, TX, July 2017-September 2017

Embedded Software/Firmware Engineer (Contract)

Developed IoT firmware based off Silicon Labs Zigbee C-stack. Development environments using SiLabs Ember JTAG(debug adapter), Eclipse IDE, Simplicity Studio IDE for network sniffing, PyCharm for developing Python wrapper above the C-stack. Worked on lighting system for Toyota plant and successfully met the shipping date.

UpRev, Austin, TX, August 2015 – September 2015

Embedded Software/Firmware Engineer (Contract)

Development of specialized Automotive Electronic Control Unit (ECU) re-engineering and programming.

Board bring-up firmware for Kinetis ARM processor and bus initialization for CAN and USB –OTG.

Hex-Rays decompiler/disassembler.

Worked with uTasker RTOS bring-up.

Worked with C, Lua and Python.

Freelance Software/Firmware Engineer, Austin, TX, August 2008 – Present

Development using C, C++ and Android SDK with the Eclipse ADT emulator. Some work in JavaScript, PHP, CSS, HTML,, C#/ASP.Net w/SQL using VS2010 and Eclipse. Other development under Linux, working on Kernel, Device Driver modules and networking, L2-L4. Continue delving into BIOS/UEFI (EDKII) Xeon based server code. Home development working with RaspberryPI and Arduino development boards.

Wireless Seismic, Houston, TX, June 2012 – July 2012

Sr. Software/Firmware Engineer (Contract)

Development of a wireless seismic acquisition and networking system.

Responsible for enhancements within CC2505 radio, Lwip and various System Controller (ARM9) functionality.

Acquisition system consisted of three targets ARM9 (System Controller), ATXMega(System Monitor/Radio Interface), CC2505 radio (using FHSS). 5 Mbit SPI interface between XMega and CC2505.

In addition, two other boards communicating with ARM9, Analog ADC using 8 Mbit SPI, and Ethernet board via 2 Mbit UART the same for ARM9 to XMega communications.

Tools used: IAR Workbench IDE for all processors with respective JTAGs. On the CC2505, LVDS was used for debugging.

RTOS: Quantum Framework with it’s Real-Time Framework(QF), Kernel(QK) and Tracing(QS) components. Code was in C++ (some C) with various XML build scripts. Source control used SVN with Tortoise tool interface.

IP interface was implemented using Lwip.

IBM Systems Technology Group, Austin, TX, Mar. 2010 – June 2010

Sr. Software/Firmware Engineer (Contract)

Development and test of BIOS/UEFI software for three variations of System X Xeon based servers.

Work included development and interfacing between PEI, DXE and IMM modules, along with SMBIOS/VSS.

Languages used were in C, some Python, C++ and assembly.

Some bus communication work with PCIe, I2C, SPI and SATA.

Source level debug and test was with an Arium JTAG emulator with SourcePoint.

Unified Changed Management (UCM) was with Rational ClearCase and ClearQuest, used for all source code management and enhancement/defect reporting.

Work also included re-flashing and programming of FPGA based modules.

Schlumberger/Western Geco, Oslo Technology Center; Oslo, Norway, May 2005 – Feb. 2008

Sept. 2006 – Feb. 2008: Sr. Embedded Software Engineer: OTC; Oslo, Norway

Software development of UniQ, a next generation Land Seismic Acquisition System. Based on TI5509A DSP running under TI’s DSP/BIOS using C, Assembly and XML. Tools included CodeComposer IDE and Blackhawk JTAG emulator and use of Xilinx ChipScope logic analyzer software.

Designed and Developed device drivers for Flash memory, secondary bootloader and RFID, application code.

Interfaced with CPLD for control of Flash and ADC utilizing McBSP as SPI bus. Also, included filtering of acquisition data.

Also, developed testing software and procedures for testing prototype sensor units. Responsible for initial environment tests and reporting.

May 2005- Aug. 2006: Navigation Specialist: Gulf of Mexico.

Responsible for marine seismic navigation systems used in seismic research for oil/gas exploration. Work involves executing offshore seismic surveys for a client.

Responsibility to setup, execute and process a survey. Also, reconfigure hardware and software from survey to survey.

Onboard software platforms were based on Unix, Win2000, VxWorks various DSP/OS. The hardware platforms were multiply interconnected using both COTS and proprietary platforms.

Developed onboard software for adapting oil industry standard file formats to client specification, resulting in a large savings in time and money by avoiding the onshore engineering group. Development was done with C/C++, Perl, csh with access to the application code and development tools.

Software Consulting and Development; Real Estate Austin, TX, July 2001 – May 2005

Developing applications using C/C++, C# using Visual Studio .NET.

Worked on personal and rental properties.

BAE SYSTEMS, Austin, TX, Jan. 2000 – July 2001

Sr. Software Engineer (Contract)

Developed embedded military handheld chemical agent detector firmware based on PPC-860 with Tornado/VxWorks RTOS/BSP using C and assembly.

Responsible for developing both device drivers and network detector protocol used in perimeter unit network health monitoring and alarm detection.

Developed flash memory device driver and API for embedded database logging.

Design and implemented tasks/threads to interface with MSVB PC based testing facility via the PPP link using SNMP and FTP.

Development/Debug/Test using in-circuit emulator (ICE) and network and logic analyzers and oscilloscopes within a lab environment.

Created and presented design documentation for application modules. Also, worked with testing group on test procedure, data analysis and problem resolution.

TICOM Austin, TX, Mar. 1999 - Aug. 1999

Sr. Software Engineer (Contract)

Design and developed DSP application for processing acquired signals (i.e. cell-phone) for geolocation (via triangulation) and signal demodulation of cell phone voice based on T/FDOA (Time/Frequency Differential of Arrival) algorithms.

System is VXI/VME SPARC based with HPUX and the DSP system used HP SICL (Standard Instrument Control Library). Development was with HPUX and Linux.

Software written using C, C++ and Perl.

Design and development followed standard military CSC (Computer Software Component) documentation procedures and presented those CSC components to a review board for system requirement qualification, updates and verification.

Trimble Navigation, Austin, TX, June 1996 – Mar. 1999

Contract (Hall Kinion)/Employee Software Engineer

Design and developed Military and Commercial GPS receivers for the aeronautic and marine industries.

Project was full term; spanning from conception, requirements, design, development, testing, document, release and support.

Application design and development using C/C++ and assembler.

Embedded database within flash for flight plans containing various en route, approach and terminal procedures.

Worked with third party contractor in developing PC based flight simulator and porting a simulation of the PPC embedded product to MacOS and WinNT.

GPS receivers developed, conformed to FAA (IFR) and military certification procedures for the aeronautical products.

Marine navigational products included NMEA, RTCM, TSIP/TAIP and Trimble proprietary standard interface protocols, along with interfacing with 2105/2115 DSP’s.

Debugging/Test used HP ICE and network analyzers for both hardware and software.

Dresser Industries Inc., Wayne Division, Austin, TX, May 1994 – Jan. 1996

Software/Project Engineer

Developed gasoline pump control and point-of-sale (POS) software for retail service stations.

Work included design and development of client specific upgrades and feature additions. Additions required interacting closely with clients on specific software changes and rebuilding including updating of all relevant manuals and documentation.

Developed and documented test procedures working in conjunction with testing groups.

Western Atlas International/Western Geophysical, Houston, TX, Nov. 1987 to April 1994

1991 to 1994 Software/Project Engineer, Houston, TX.

Responsible for design and development of several navigational products for marine seismic exploration. Development was with Sun SPARC/Solaris workstations, VME target some chassis containing multiple processor boards running on VxWorks or VRTX-32. Software applications developed using C and assembly.

Developed VME 68k based Navigation Interface Unit interfacing with other proprietary shipboard units via Token-Ring, Ethernet, and GPIB network buses.

Designed and developed over 50 serial interface drivers (RS-232) for radio, acoustical and laser based relative positioning sensors, shipboard radars, gyros, marine compass’, several GPS and DGPS receivers and radar over-map graphics.

Test software development. Designed and developed a navigational data analysis and plotting package to verify data on developing systems.

Developed and maintained a navigational environment simulator used in navigation systems testing for simulating serial interfaces.

1987 to 1991 Chief Navigator, R/V (Research Vessel) Western Wind, Rio de Janeiro, Brazil

Head Navigator managing an 8-person seismic navigation research team. Responsible for managing all aspects of a shipboard survey navigation group, related to seismic acquisition. Worked closely with clients and survey coordinators in survey planning and onshore station positioning.

Designed and developed software for offshore survey plotting and navigational survey reporting using C, DB2 and BASIC, along with HP Series of pen plotters.

Maintained and supported real-time seismic database software.

Responsible for resolving hardware and software interaction problems.

Maintained quality control of navigation equipment and data, from onboard inventory to ordering, receiving, installing and repairing equipment.


Available upon request.

Contact this candidate