* Extensive experience in computer software development, diagnostics, ATE and testing. * Experience developing test suites and GUIs for engineering and manufacturing Functional testing. * Small scale hardware design, development, diagnostics and testing. * Component board and system level software design, diagnostics, troubleshooting and debugging. * Design of embedded software systems for microprocessors and micro controllers. * Schematic design and compilation of component boards with various cad systems.
Software/Firmware Development Experience
* Firmware development using IAR System Embedded Workbench with an StMicro STM32L476RG device. * Developed using STM32CubeMX, Keil uVision 5.0, Visual Studio 2010 and VisualGDB * ST Microelectronics Cortex – M3, M4 and M7 ARM-based 32-bit MCUs using tools like Eclipse IDE and GCC Code Sorcery compiler/linker, and ST Microelectronics ST-Link debugger. * Developed and maintained GUI for controlling test instruments using C#, C++, Visual Basic and Microsoft Visual Studio 2010 .Net 4.0, Microsoft Visual C++, LabWindows CVI 2012, NI TestStand 2010 and Borland C++ builder 5.0. * Developed Real-time embedded software for Microchip PIC16, PIC18, PIC24, PIC30, PIC33, PIC32, 8051, 80251, 80152 and 8196 Intel Micro controllers. * Installation and use of development software including Tasking, IAR, CodeWright, Arcamedes, Softools, Microsoft Visual C++, Code Composer Studio and Kiel compilers and assemblers and others. * Developed firmware using Microchip MPLAB and MPLABX development environment (IDE). * Developed and maintained Real-time embedded diagnostics for TI TMS320VC5409, TMS320VC549 and TMS320C203P DSP.
Hardware Experience * Experience developing firmware for STM32F767 Cortex – M7 STM32F446 and STM32L476RG Cortex – M4, STM32F107, STM32L765 Cortex M7 and STM32F207 Cortex – M3 ARM-based processors, PIC 16, 18, 24, 30, dsPic33 and PIC32 devices as well as many flavors of 8051 devices. * Experience writing code for hardware devices and interfaces such as EEPROM, RAM, ROM NVRAM, LED and LCD Displays, I2C, SPI, CAN, SNIC, Stepper motors, input transducers, GPIB, TCPIP, RS232, RS422, RS485, IrDA, SIO, UART, MiWi and RTLS 802.15.4, Wi-Fi 802.11 and USB * Experience with I-Jet debugger, Atmel AVR, HiTek, Nohau, Softools, HMI, MetaLink, Spectrum Digital, Microchip MPLAB ICD 3, MPLAB Real ICE, Pick Kit 3 and Applied Microsystems emulators * Skillful with various types of test instruments, logic analyzers, meters oscilloscopes and pattern generators. Also skillful at soldering, reworking and wiring.
Education Northeastern University - BS in Engineering Technology (Cum Laude) Bryant & Stratton Jr. Col. – associates degree - Computer Technology ( G.P.A. 3.7/4.0)
6/19 – Present Segway Bedford NH Sw. Eng. (on-site contract) * Developed firmware for an enhancement to the Segway PT controller board STM32F105 Cortex – M3 ARM-based processor. * Made code updates to the Segway PT controller board which would change the current fob key from a Zigbee style interface to a BLE interface. * Developed code and algorithms to support an Android based App. to connect to the Nordic Semiconductor nRF52832 BLE device. * Implemented a version of the Nordic Semiconductor BLE to USART S132 SoftDevice firmware. * Added support code to implement an I2C serial EEPROM interface for device configuration storage. * Developed code to add a USB debug port for manufacturing and system analysis. * Debugged firmware for a Smart Battery charger device running on a PIC32MX795f512 which was malfunctioning with a new version of Smart Battery.
6/18 – 5/19 Abbott Labs Burlington MA Sw. Eng. (on-site contract) * Developed firmware for a TI I2C BQ battery monitor slave device simulator fixture for V and V testing lab using IAR IDE and STM32L476 Cortex - M4 ARM-based processor NUCLEO board. * Developed a Fiber optics server application for V and V testing lab which interfaces to an Irda serial device. Server was developed with LabWindows CVI. * Supported other test applications also developed with LabWindows CVI. * Updated Abbott Edison Viewer application developed in Qt using Qt Creator 4.7.0 which connects to test servers via TCP/IP * Used various tools such as TotalPhase Beagle I2C/SPI monitor and Aardvark I2C/SPI controller, IAR I-Jet debugger, ST Micro NUCLEO development board. Saleae Logic Pro 16 logic analyzer and Techtronic’s oscilloscope. * Development of LVAD Heart Pump Controller Simulator application interfacing with I-Pad device over TCP/IP interface to test I-Pad LVAD remote controller. * Developed a hexadecimal error log file parser application to produce an Excel spreadsheet of firmware errors generated and stored in NV flash for a system controller and power source boards. Developed in C# with Visual Studio 2017 and .NET 4.7.
11/17 – 5/18 Hill-Rom/Allen Acton MA Sw. Eng. (on-site contract) * Developed firmware for next generation spinal surgery table to STM32F446 Cortex – M4 ARM-based processor. * Responsible for 6 of the 6 nodes of a closed CAN network including the System Controller Board. * Developed using Keil uVision 5.0 IDE. * Used STM32CubeMX initialization code generator. * Used uC/OS-II 2.0 RTOS and Quantum Leaps state machine libraries. * Processor devices: I2C, GPIO, PWM motor control, ADC, CAN, external Interrupts and USART. * External devices: accelerometers, motor controllers, servos, LEDs, buttons.
6/17 – 10/17 Pall Life Sciences Co. Westborough MA Sw. Eng. (off-site contract) * Developed firmware for an air quality analysis data logger device to STM32F765 Cortex – M7 ARM-based processor. * Used STM32CubeMX configuration tool and associated ST Micro. Standard Peripheral Libraries. * Developing code modules using Visual Studio 2010 with Visual GDB debugging tools. * Used ST-Link debugger tool. * Wrote drivers for peripheral devices such as SD card read and write utilities, NVRAM read and write, GPIO i/o devices, PWM device controls, PID temperature control, hardware and software timers, USB and RS232 communications, SPI communications, FPGA access, DMA controlled ADC data acquisition, DAC voltage control and RTC clock control. * Initially developed on an STM32F767ZI NUCLEO board. * Assisted in the new board bring up effort. * Wrote process algorithms to support the data analysis of fume events on air crafts. * Worked from and contributed to the requirement document.
12/16 – 5/17 NorthEast Monitoring Co. Maynard MA Sw. Eng. (off-site contract) * Made updates to existing LX Event patient heart rate monitor to support remote recording viewing. * Added support for file locking for a shared data resource. * Added a auto zip utility to extract data files for remote patient recording saves with zip compression. * Developing code modules using Visual Studio 2010 .Net C++. * 01/13 – 12/16 Scully Signal Co. Wilmington Ma. Software Engineer
* Developed new Scully product consisting of multiple PIC processors including PIC32MZ2048CH144, PIC32MX150F128D, PIC24FJ128GA204 and PIC16F18344. * Developed with Microchip MPLABX , XC32, XC16 and XC8 compiler. * Developed with Microchip Harmony and MCC code configurator tools. * Developed LCD graphics with EBI memory port, ADC converters, MODBUS interface, relay controls, I2C communications, I/O sensing and I2C and RA485 USART bootloaders. * Developer Intellicheck 3 Safety pump control module. Intellicheck 3 is a PIC30 based device for monitoring and controlling refilling of liquid transport tankers. Peripherals used in this project range from UART, ADC, DIOs, Timers, ISRs. * Wrote Production test software to functionally test the boards and sub-assemblies of the Intellicheck 3 product using NI LabWindows CVI 2013. * Wrote drivers for NI analog and DIO modules to integrate into the functional test and engineering debug programs. * Developed firmware using Microchip MPLABX development environment (IDE). * Debugged using logic analyzer, multi-meters, RS485 serial adapter, and oscilloscope.
11/15 – 12/16 NorthEast Monitoring Co. Maynard MA Sw. Eng. (off-site contract) * Made more enhancements to existing LX Event patient heart rate monitor to support remote recording viewing. * Developing code modules using Visual Studio 2010 .Net C++.
01/13 – 01/14 SecureCare Products Inc. N.H. Software Eng. (offsite cont. part-time) * Upgrades to STM32F207 Cortex – M3 ARM-based processor and associated Standard Peripheral Libraries to support added functionality requiring more RAM. * Port and development of firmware to an ST Microelectronic STM32F107 Cortex – M3 ARM-based 32-bit MCU using tools like Eclipse IDE and GCC Code Sorcery compiler/linker, and ST Microelectronics ST-Link debugger. * Developer Tag component(transmitter) for RTLS tracking system on a PIC16F1939 based board using SPI interface to communicate with RF radio device. * Upgraded MI WI Stack in firmware for Pan Coordinator, Coordinator and end nodes used in PIC18 family of wireless patient security products. Integrated and tested this upgrade. * Upgraded EHub Talk utility program used to communicate over TCP/IP Ethernet to the EHub patient security system to be able to optionally open up Wi-Fi sockets. * This utility is coded in C# on Visual Studio .NET 4.0 development environment. * Developed firmware using Microchip MPLABX development environment (IDE). * Debugged using logic analyzer, Zena MIWI analyzer, Microchip Wireless Development Studio Mi Wi analyzer, and oscilloscope.
05/12 – 11/12 BAE Systems Nashua N.H. Software Engineer(contract) * Designed Test DLL to test Thaad Input Power Conditioner (IPC) CCA with LabWindows CVI 2010 GUI development software. * Made use of CVI library functions which interface with the GPIB bus to control, TDI Dynamic loads, Tektronic and Yokogawa scopes, Agilent function generators, power supplies and digital multi-meters and Keithley switches. * Designed, coded and tested, ATP, to test the IPC assembly using National Instruments TestStand 2010
04/12 – 11/12 SecureCare Products Inc. N.H. Software Engineer(offsite contract) * Develop embedded firmware for PIC32 based device with USB, Ethernet and Wi-Fi TCPIP interfaces in new product. Features include boot loader, SPI, USB Stack, TCPIP Stack, DIO and EEProm. * Provide input for hardware components of the system. * Designed test interfaces in Visual Studio 2010 .NET 4.0 to debug hardware boot loader and WiFi/Ethernet/USB communications. * Developed firmware using Microchip MPLABX development environment (IDE). * Debugged using logic analyzer, and oscilloscope.
02/12 – 4/12 A2e Technologies Burlington, MA Sw. Eng. (contract) * Developing code modules using Visual Studio 2010 .Net C++ and C# for the Eagle Test System(ETS) MST Software ATE tester Suite series software API code. * Developed code modules for ETS eRAIDE(Rapid Access Interactive Debugging Environment henceforth called eRAIDE) which gives direct and interactive access to the ETS test head. eRAIDE enables test engineers to interrogate and alter the state of the test head by executing calls to the ETS utilities. * Developed unit test modules for the ETS MST Software ATE tester suite series software API code.
05/10 – 3/11 NorthEast Monitoring Co. Maynard MA Sw. Eng. (off-site contract) * Developing code modules using Visual Studio 2005 .Net C++ language. * Making updates to the existing LX Event heart rate monitor report generation program. * New features include printing enhancements using COM interface to a PDF generation application. * Other features added to enhance user interface capabilities. * Added changes to enhance patient database.
09/08 – 12/11 BAE Systems Nashua N.H. Software Engineer(contract) * Developed embedded software for dsPIC33FJ256GP710, PIC16F887, PIC18F4680, PIC18F6722, PIC18F6723 processor based test stations. * Developed code modules using C language in the Microchip MPLAB 8.15a and 8.30 development environment. * The code modules included RS485, I2C, SPI and TCP/IP communication interface to other devices in the system, EEPROM serial memory, ADC, PWM Display LED drivers. * Installed and maintained software tools including MPLAB IDE, MPLAB ICD 2 and ICD 3 in-circuit debugger. * Installed and maintain Lab Windows CVI 9.0 software development tool. * Designed Test GUI with CVI 9.0 GUI development software. * Designed integrated test station using TestStand 4.2
04/09 - 7/09 Fortress Tech. Westford MA Software Engineer(1099 contract part time) * Designed Test GUI with CVI 9.0 GUI development software for manufacturing functional test of secure wireless network devices. * Aided in design of hardware circuit to control RF switches to channel connections to devices in a test chassis. * Coded software modules in C language to control Xyplex Terminal Server, Dell PoE switch and Anritsu USB RF power Sensor.
04/08 - 09/08 Teradyne Corp. North Reading Ma. Software Engineer(contract) * Performed an in-dept analysis of the Di-Series ATE driver software API code written in C# and Visual Studio .NET. * Reviewed current test software used to validate the Di-Series ATE API software. * Generated a revised test plan to fill in the gaps of the existing test software application coverage. * Wrote new Di-Series API test software applications to fulfill the test plan.
12/07 - 02/08 PerkinElmer Corp. Salem Ma. Software Engineer (contract) * Assisted in the design of a Test GUI to test reliability of atomic clocks used in GPS satellites using Lab Windows CVI 8.1 GUI development software. * Developed code modules using C language in the LabWindows development environment including serial communication to a Stanford Research Universal Timer Interval Counter. * Installed and maintain Lab Windows CVI 8.1 software development tool.
09/07 - 11/07 Testnbuild Inc. Andover Ma. Software Engineer (contract) * Developed embedded software for dsPIC33FJ256GP710 processor based custom wireless controller. * Developed code modules using C language in the Microchip MPLAB development environment. * The code modules included CAN, RS232, RS485, Ethernet, MiWi communication interface to other devices in the system, I2C to EEPROM serial memory interface, ADC input, D/A, DPI, and DCI. * Installed and maintained software tools including MPLAB IDE, MPLAB ICD 2 in-circuit debugger,
08/07 – 09/07 FastNet Wireless Lynn, MA. Software Engineer(contract) * Used Visual Studio 2005 .Net and C# to develop GUI for Portable Wireless Hotspot and Power Management unit based on a PC 104 card with Windows XP operating system. * Developed control software which communicated with I2C modules over serial lines. * Developed control software to communicate with commercial DAC devices. * Software monitors I2C Smart battery charging and performance.
06/07 – 8/07 Greenwald Industries Chester Ct. Software Engineer(contract) * Developed embedded software for Philips 80C51 derivative (PDB66x) processor based card reader used in laundry machines. * Developed code modules using C language in the Keil uVision3 development environment. * The code modules included IrDA communication interface to pocket PC devices. * Developed and debugged code using Philips Semiconductor PDS51 emulator .
10/06 – 06/07 Candela Corp. Wayland Ma. Software Engineer (contract) * Developed embedded software for PIC24H family processor based fluid and laser rail boards. These boards are used in the next generation medical aesthetic laser and light-based systems. * Developed code modules using C language in the Microchip MPLAB development environment. * The code modules included CAN communication interface to other devices in the system, SPI to EEPROM serial memory interface, ADC input, PWM and digital output controls and digital input sensing. * Performed validation and verification tests on developed code modules. * Wrote test GUI software for engineering and manufacturing functional test using C#, C++, Visual Basic and Microsoft Visual Studio .Net 2005. * Installed and maintained software tools including MPLAB IDE, MPLAB ICD 2 in-circuit debugger, PCAN CAN bus monitor, Kvaser Leaf light and Can-King bus monitor and Microsoft Visual Studio .Net 2005.
6/06 – 8/06 Honeywell Defense Tampa Fl. Software Engineer (contract) * Assisted in the design of a Test GUI to support inertial navigation test station using Lab Windows CVI 8.0 GUI development software. * Developed code modules using C language in the LabWindows development environment including socket communication to other devices, Debugger interface and a System Monitor interface which updates device parameters and displays them to the screen. * Installed and maintain Lab Windows CVI 8.0 software development tool.
1/05 – 4/06 RSA Security Bedford, MA Software Test Tools Development Engineer (contract) * Used Visual Studio and C++ 6.0 to develop test GUIs to test SecurID devices for engineering and field returns. * Leveraged existing low level drivers to communicate with SecurID devices over serial and USB ports including SID, SmartCard and HID interfaces. * Developed a boot loader to update the RSA SecurID software. * Developed SmartCard Support Utility Suite to connect to various ATRs, list all applets present, show the applets version, list applet properties, test applet functionality, verify User Pin etc., determine memory usage, enumerate objects and clean the Smart Card. * Perforce CMS used.
5/04 – 9/04 Reddline Systems Manchester N.H. Product Development Engineer (contract) * Developed embedded software for Z180 family micro device. * Developed, and debugged system software for Pick Line systems porting assembly language modules to C code. * Wrote software interface code for various devices such as keypad, LED display, ROM, RAM etc. Performed system integration and testing for Pick Command module product line.
6/02 –01/04 C-Tek Inc. Wakefield, MA Software Engineer * Developed embedded software for Z80, Z180, 64180, and PIC family micro devices. * Developed, and debugged system software for MPC Family digital readouts using C and assembly language. * Initiated validation and verification tests on new code. * Wrote software interface code for various serial and parallel I/O devices such as RS232, RS422, GPIB and RS485. * Performed system integration and testing of MPC product line. * Provide full software and hardware support for all in-house PCs.
5/01 – 5/02 Medisense, Abbott Labs. Bedford, MA Software Contractor (Mfg. Test Engineer) * Used Borland C++ Builder 5.0 to develop the front end GUI to control the * Blue M environmental chambers use for environmental testing of the product line. * Wrote diagnostic software to evaluate field returns of new Glucose meters. * Enhanced Configuration Verification Software to include image recognition of exterior packaging of QID2 Glucose meters. * Installed and maintained Borland C++ Builder 5.0 software development tools. * Upgrade various other Manufacturing Test modules and GUI written in C and C++. * Developed validation and verification test plans specified in SDLC for new software modules used in production.
10/99 - 4/01 3Com Corp. Andover, MA Contractor(Diagnostics & Mfg. Functional Test Engineer) * Supported and developed Manufacturing Functional Test diagnostics for * NBX750, NBX100 and NBX25 line of voice over IP phone network products. * Used Lab Windows to develop the front end GUI and Visual C++ to develop the lower level dll modules. * Used Code Composer software to maintain and develop TI TMS320VC5409, * TMS320VC549 and TMS320C203P DSP device code images used for product testing. * Designed diagnostics to test all internal, external and low level driver functionality of processor and peripherals in the system using Lab Windows GUI software. * Installed and maintain Code Composer, Lab Windows CVI and Visual C+ embedded software development tools * Used the ECO process to upgrade Functional Test modules and GUI.
1/99 - 9/99 FluidSense Inc. Newburyport, MA Software Contractor(Diagnostics) * Developed diagnostics for Atmel Atmega103L Microcontroller based Infusion * Pump System, which utilizes a serial IR debug port to respond to IR input from laptop or palm pilot. * Designed diagnostics to test all internal, external and low level driver functionality of processor and peripherals in the system. Peripherals included stepper motor, SPI bus, keypad , ROM, RAM, Flash memory. * Installed and maintain Atmel AVR Emulator and IAR embedded software development tools. * Designed Validation and Verification protocols for developed software.
3/98 - 1/99 PictureTel Inc. Andover, MA Software Contractor (Embedded Development) * Performed embedded software development for Siemens 80C167 Microcontroller based PTZ Camera with audio tracking done using HiTek emulation tools and Tasking Software development tools. * Install and maintain Tasking Development Tools and HiTek emulator. * Ported IR Keypad, DSP interface and serial communications code from previous 8051 platform. * Developed Bootstrap loader, I2C based EEPROM communications and flash programming code.
12/97 - 3/98 Thornton Ass. Waltham, MA Software Contractor (Embedded Development) * Performed embedded software development for Intel 80C51FA Microcontroller based Liquid Conductivity Gauge System sensor and LAN boards. * Developed 80C152 based LAN Ethernet (CSMA/CD) option card embedded software. * Install and maintain Keil uVision Development Toolkit. * Development done using Metalink and NOHAU emulation tools.
10/97 - 12/97 ESA Corp. Chelmsford, MA Software Contractor (Embedded Development) * Performed Software product development for Intel 80C251 Microcontroller based Power Supply product. * Completed software porting of 80C51 C code to new 80C251 processor based power supply. * Developed enhancements to the existing power supply. * Aided in the procurement of a MetaLink emulator for development of the * above system.
8/97 - 10/97 Zoll Medical Co. Burlington, MA Software Contractor (Embedded Development) * Performed Software product support for Intel 8051 and 8196 Micro-Controller based Heart rate/defibrillator products including ECOs. * Developed changes to software in C and assemble language. * Performed validation and verification testing on these ECOs. * Updated software design specifications, SDLC, SCRs, ECOs and various other documentation.