We provide IT Staff Augmentation Services!

Senior Firmware Engineer - Consultant Resume

2.00/5 (Submit Your Rating)

Framingham, MA

SUMMARY:

  • Confidential is seasoned Firmware Engineer with 15+ years of experience. He has Over 30 years of experience with C programming and 17 years of experience with SPI Support.
  • He has 3 years of experience with USB Serial interface support. He has Learning and adjustment to multiple processors.
  • ARM32, TI MSP430 and MSP479, Microchip PIC18F87J11 PIC, Renesas v850, and ST32K, ARM Cortex - M3 MSP430, 68000, family, 8080, z80, 8086, 8051

TECHNICAL SKILLS:

Languages: C, Assembler (ARM CORTEX-M3 Family, TI MSP430 Family, 68000 family, Z80, MACRO-11, 8031, 16000, 8080, MACRO-10, 8086, BAL) FORTH, ALGOL, LISP, BASIC+, BASIC, COBOL, JAVA

Operating Systems: LINUX, VXWORKS, QNX, PSOS/PROBE, PSOS+/PROBE+, UNIX, FORTH (FIG, Poly-FORTH), RSX, RT-11, RSTS, TOPS-10, TOPS-20, WANG VS, MS-DOS, ISIS, CP/M, CPM/86, uC-COSII

PROFESSIONAL EXPERIENCE:

Confidential, Framingham, MA

Senior Firmware Engineer - Consultant

Responsibilities:

  • Worked with hardware engineer to identify new processor to replace obsolescent MC68908 processor.
  • Ported code from MC68HC908 processor to MC9S08 processor.
  • Created unit test spreadsheet for 6900 Home Communicator requirements.
  • Used Freescale’s Code Composer Studio Workbench for code development.
  • For Wireless Link Product
  • Created message filter to reduce number of messages sent to host via wireless link to correct message flooding condition.
  • Created selective filter to grant priority for Montreal device Messages.
  • Adjusted internal operations to improve message throughput.
  • Development used MSP430 as core processor and IAR Workbench for code development.
  • Added support to operate new version and old versions of Spectrum spanning Transceiver chip
  • Added the ability to send fall and button press alarm and status messages using the Climax message protocol on 868 MHz
  • Designed and implemented code for 300 MHz receiver using GE 64 bit
  • FSK (Frequency Shift Keying) protocol on a TI CC1120 receiver chip.
  • Corrected battery measurement operations.
  • For 7000PHB devices
  • Added the ability to send fall and button press alarm and status messages using the Climax message protocol on 868 MHz
  • Designed and implemented code for 300 MHz receiver using GE 64 bit
  • FSK (Frequency Shift Keying) protocol on a TI CC1120 receiver chip.
  • Designed and implemented code for 300 MHz receiver using GE 64-bit OOK (On/Off Keying) protocol on a TI CC1120 receiver chip.
  • Designed and implemented code for GE SuperBus 2000 RS485 Protocol.
  • Designed and implemented code for passing received messages across the RS485 link to a host using GE SuperBus 2000 Protocol.
  • Designed and implemented filter to receive multiple messages and identify the correct RSSI value for transmission via the RS485 Bus.
  • Ported code from existing product for board support package.
  • Supported transmitter development for UL verification.
  • This product used STM32 as core processor and IAR Workbench for code development.
  • Performed verification of current firmware under development.
  • This product used STM32 as core processor and IAR Workbench for code development.
  • Used SVN Source Control and Freescale Code Warrior and IAR Workbench Version for all Philips Lifeline products.

Confidential, Foxboro, MA

Senior Firmware Engineer - Consultant

Responsibilities:

  • For MAB-MoBo Sensor Motherboard
  • Created functional specs documents describing Over the Air (OTA) firmware update commands and processes.
  • Created documents describing the testing process for verifying the operation of the OTA firmware update.
  • Designed and implemented the OTA update process for updating over Wi-Fi and Cell Modem and local update via the UART interface implemented in C.
  • Developed Python based tools for generating download operation test files.
  • Designed and implemented event logging functions for tracking events during the OTA firmware download process and error events implemented in C.
  • Designed and implemented processor reset functions for forcing a processor reset without a power cycle implemented in C.
  • Designed and implemented methods for recovering during a download from an unexpected power cycle event implemented in C and MSP430 assembler.
  • Used Code Composer Studio Workbench for code development and the SourceTree client for operating git source control.
  • Used Microsoft Office tools for document development
  • Used Google Docs Online document control system.

Confidential

Senior Firmware Engineer - Consultant

Responsibilities:

  • For the Montreal AHB and AAHB help call buttons:
  • Created documents describing the operations for the Montreal AAHB, and Troy AAHB.
  • Created documents describing the testing process for the Montreal AAHB, and Troy AAHB.
  • Added the Philips Lifeline State Machine, LAN communications - packet message communication and Signal Generation, testing debug monitor, analog I/O, LED control, RTC Operation, Flash Memory Driver, Code download, Manufacturing and Information Memory, Event Logs, Command string processing into tokens, and other features.
  • Used RF Fixed and Variable Length Packet Communication and Carrier On/Off Transmission on multiple frequencies and protocols using the CC1101 Communication Processor.
  • Added the ability to download sensor information to Montreal AAHB and Troy AAHB to generate fall events from stored data.
  • Added the transmission of sensor data from a Montreal AAHB to a Montreal RFDM.
  • Added the transmission of sensor data from a Troy AAHB to a Troy RFDM.
  • Added power control using the settings of output pins from the processor.
  • Added error processing and status reporting.
  • Created master and slave communication processes for manufacturing and testing processes.
  • Corrected the CRC processing using the IAR Workbench
  • Used SVN Source Control, IAR Workbench Version for Philips Lifeline products.
  • Used TI MSP430 variant Processors, and the CC1101 RF Communication Chip.

Confidential, Westford MA

Senior Firmware Engineer - Consultant

Responsibilities:

  • Installed and updated IAR Workbench Software for multiple processors and versions of processors - shown below.
  • Converted code for Invensys Analog and Voltage Transmitters from 68HC11 to MSP430 processors - code and data (new hardware and devices issues).
  • Designed and coded initial test code for Invensys Vortex Meter and Invensys IAMT-25 Transmitter on STM32F101 processor.
  • Corrected code for new Invensys Transmitter from HC11 to STM32 platform.
  • Corrected support for internal communication using variant of HART protocol on new Invensys Transmitter on STM32 platform.
  • Added support for keystroke and display interface via variant of HART protocol on new Invensys Transmitter on STM32 platform.
  • Designed and implemented testing of variant of HART protocol on new Invensys Transmitter on STM32 platform.
  • Designed and Implemented simulator for Invensys Transmitters using several versions of Digital Potentiometers on PIC processors.
  • Designed and Implemented download of simulator data from PC to Flash on the PIC18F87J11 PIC processor
  • Designed serial interface used to operate Invensys Transmitter Simulator from PC to PIC18F87J11 PIC processor platform.
  • Converted code from Assembly to C for PIC18F87J11 PIC processor.
  • Had ARM A9 Processor, TDD, and Agile Training.
  • Used TI MSP430, Microchip PIC18F87J11 PIC, and ST32K ARM Cortex-M3 Processors

Confidential

Senior Firmware Engineer - Consultant

Responsibilities:

  • Designed and Implemented ISF (Interstitial Fluid) glucose algorithms for continuous glucose level monitoring.
  • Designed and implemented Continuous glucose level GUI, display screens, and support for a Blood and ISF Glucose monitoring meter.
  • Developed Blood Glucose Meter development support systems for Strip testing. This provided the true voltage and current seen for new blood test strips.
  • Developed multi-color display and screens, application GUI, and language strings and RGB Icon converters using 16bit and 8-bit RGB codes for Blood and ISF Glucose meters.
  • Developed and documented unit test suite for multi-color display GUI.
  • Developed data compression routines using RLE and Huffman codes for GUI to allow for storing of Language data.
  • Designed and developed PC tools to convert BMP Icons and strings for use on Blood and ISF glucose meters.
  • Learned the operation of A1C Blood Glucose Process code for current and new meters.
  • Developed new multi-segment display for Blood Glucose Meter.
  • Created multi-timer routine, minimal power, flash memory allocation system, and thermister operations for TI MSP430 processor.
  • Developed with the IAR Workbench for all processors described below.
  • Worked on compressing the data for large fonts and icons.
  • Use of the DFU download system tools provided by ST Microelectronics.
  • Worked to develop multi-language support for GUI systems.
  • Worked with uC-Cos-II operating system.
  • Used TI MSP430 and MSP479, Renesas v850, and ST32K ARM Cortex-M3 Processors

Confidential

Principal Firmware Engineer

Responsibilities:

  • Built system releases and constructed ROMs/flash loads for terminals.
  • Led on small projects - terminal development and image reader development.
  • Used C and Assembly for device drivers, devices (Printers, CCD and Imaging Readers, Imaging transport, displays, and keyboards), terminal and manufacturing diagnostics, and terminal support code (NVRAM Allocation/Freeing, PFI, and error recovery).
  • Troubleshooting of new hardware and application/firmware interface issues.
  • Used Java for printer test programs.
  • Worked with design teams for hardware and firmware design from project requirements.
  • Worked with PSOS, Probe, QNX, VxWorks, and Linux.

Confidential

Senior Software Engineer

Responsibilities:

  • Networks and Datacomm Java
  • Linux Systems and drivers.
  • Used C and Assembly language to implement several types of protocol drivers (SCSI, RS232 protocol, Qic107 pulse protocol), Analog and digital I/O control routines for tape media verification, company proprietary operating system, displays, manufacturing and system diagnostics, and timing control routines.
  • Implemented in C and assembler on a 68020 with a FPP coprocessor
  • Used Assembly language to implement a terminal emulator with auto baud rate detect, Xon/Xoff data flow control, transparent mode, and modem operations.
  • Implemented in Z80 assembler on a HD64180
  • Used Assembly language and C to design and implement WORM (Write Once Read Multiple) disk diagnostics, and support read/write to WORM disks for the Wang WIIS operating system.
  • Designed a separation of the operations of ODDS system to divided the system into WIIS request operations, device dependant functions, and SCSI functions.
  • Used Assembly language and C to support the operations of the Optical Jukebox for WORM disks
  • Implemented in C and Assembly on a 68000 family processor
  • Used Assembly language to design and implement devices for the NSC 3000 terminal (3-1/2-inch micro-floppy, VFT 40-character display, and keyboard/scanner devices).
  • Documented design for release.
  • Implemented in 8051 assembler on an 8051 processor
  • Used Forth and Assembly languages to design and implement device drivers (VFD 20-character display, 3-1/2-inch micro-floppy, a set of intelligent communication controller boards, a driver for master and slaves on the Terminal Data Link (A proprietary NSC protocol for inter-terminal communications)
  • Implemented in FORTH and 16000 Assembler on a NSC 16000 processor.
  • Used Basic to design and implement data file backup and restore utilities and Communication software allowing for the remote collection of POS data from terminals.

Confidential

Senior Programmer

Responsibilities:

  • Used Pascal and assembly to design and implement a communications package for real time data interchange with a DEC Rainbow.
  • Implemented in 8086 assembler and TURBO(Tm) PASCAL.
  • Used assembly language to design and Implement a slave protocol handler for the monitoring system for a plastics plant.
  • Implemented in MACRO-11 Assembler on a PDP-11 computer
  • Using assembly language designed and Implemented a set of motion control and monitoring subroutines to allow programming of a robotic crane in the CINCH BASIC language.
  • Implemented in Z80 assembler on a Z80 processor.
  • For the CINCH BASIC programmable industrial controller designed and implemented drivers for the LLL BASIC language to allow for real time operations, optimized the LLL BASIC interpreter to run faster, and real time analog and digital data acquisition routines for the CINCH Basic interpreter.
  • Implemented in Z80 assembler on a Z80 processor
  • For the CINCHPAC 8051 based industrial controller designed and implemented an IEEE compatible floating point math package with add, subtract, multiply, and divide and a handler for MCA (Multiple collision Access) network protocol

We'd love your feedback!