Summary

Passionately curious Embedded Systems Engineer with experience and background in electrical, mechanical and software engineering. Proven track record of providing high quality designs and exceeding expectations—with the awards to prove it. I wrote my first piece of code when I was ten and I have been professionally troubleshooting electronics since 1998—enjoying every moment of it.

Experience

Centripetal Engineering

Boston, MA
May 2010 – Present
Embedded Systems Consultant

NOTE: This section is for consulting and contract work that could not fit into nice sections below.

  • Researched feasibility for product concepts: cost, time, technology

  • Designed digital and analog electronics for product hardware

  • Wrote embedded software in C/C++

  • Acted as a 3rd party reviewer for software and hardware designs

  • Researched and documented the developer’s network

  • Advised developer team on configuration management changes to aid FDA compliance

  • Moved a decade old QNX build machine to a virtual machine to eliminate the consequences of a catastrophic hardware failure

  • Exploited a QNX security flaw to gain root access without password to shutdown VM cleanly because QNX did not support ACPI

Confidential

Waltham, MA
July 2016 – February 2017
Senior Embedded Systems Engineer

  • Wrote a 62304 compliant Software Development Plan for a body worn ECG

  • Wrote a multi-threaded continuous ECG data logger utilizing Qt (C++) so the application could run on Linux and OSX

  • Wrote firmware in C to continuously stream ECG measurements via Bluetooth Smart (BLE) without dropout of data for 72-hours

  • Incrementally improved firmware by locating code hazards, which required deep understanding of the C-standards (C99, C11)

  • Wrote a set of coding standards to insure: maintainable, safe and secure code

  • Isolated SOUP by compiling source into a library and distributing as such. In addition, embedded the git hash (SHA1) into the library archive to provide traceability and configuration management. Furthermore, the library would be marked dirty if there were uncommitted source changes

  • Identified, installed and qualified software quality tools such as, static code analyzers, white-box and black-box fuzzer(s), code complexity analyzers and automatic style formatting

  • Completed UL 2900 cybersecurity training

  • Identified, installed and qualified a unit-test and mocking framework suitable for embedded systems. In addition, it facilitated integration by automated testing

  • Trained team on Test Driven Development (TDD) with emphasis on: requirements can make tests and tests make source. In addition, provided an interactive example on how TDD can help refine requirements

  • Wrote Python code to perform Monte Carlo analysis to validate circuit design and firmware design against the requirements of 60601-2-47

  • Ported firmware of a legacy BLE product to be compiled with GNU-tools

  • Validated compiler by leveraging that it was open-source and applying recursive logic

  • Redesigned body worn ECG analog front-end to meet the essential performance requirements of 60601-1 and 60601-2-47, which included defibrillation protection

  • Identified and distributed safety design constraints to team

  • Trained team on electrical safety and means of protection

  • Performed risk-analysis, FMEA and FTA

Consultant

Woburn, MA
December 2015 – July 2016
Senior Embedded Systems Engineer

  • Performed code analysis on a multi-target Class III medical device and advised on code changes

  • Architected and wrote software for a embedded image processing system, which utilized Xilinx Zynq SoC (dual-core ARM Coretex A9 and FPGA), Gigabit Ethernet, L1 and L2 cache, MMU, multiple DMA’s, interrupts, UART and interacting with the Programmable Logic (FPGA)

  • Designed and implemented a high-performance Inter-Processor-Communication (IPC) that was utilized between two FreeRTOS instances, which facilitated sending of processed image data at 5000 frames-per-second

  • Wrote an embedded system emulator to run on Linux to test host software

  • Specified, designed, implemented a proprietary communication protocol utilizing TCP and UDP

  • Wrote a multi-threaded Linux host application to communicate with multiple instances of embedded system nodes

  • Patched vendor supplied libraries

  • Performed quality management duties such as, requirements definition, design documentation, design reviews, verification

Stealth mode startup

Cambridge, MA
April 2015 – December 2015
Senior Embedded Systems Engineer, Head of Device Software

  • Architected (hardware and OS) to support development of IoT (Internet of Things) device, which utilized BLE (Bluetooth Low-Energy), 802.15.4 (ZigBee/Thread) and 802.11s (WiFi mesh)

  • Patched a 250,000+ lines of code proprietary WiFi driver for Linux kernel 4.1 and 4.2

  • Wrote requirements for a IoT device

  • Wrote multi threaded Linux systemd daemons in C to interface kernel to userspace with application layer

  • Configured and setup autotools build system, which included unit-tests and emulation of hardware for full test coverage

  • Wrote embedded API to interface embedded system to the application layer while still providing a secure abstraction from the hardware and OS

  • Wrote code in C to test and utilize mesh network(s) via IPv6 UDP sockets

  • Wrote communication protocol to command a network of IoT devices

  • Debugged and patched Linux various kernel drivers, PWM, WiFi, BLE,

  • Learned and utilized new protocols: Thread and 6LoWPAN

  • Configured Linux kernel specifically for target system, which reduced size and increased performance

  • Patched linux-4.2.y to utilize an octa-core ARM for team build system

  • Configured distribution, which was focused on the packages needed to develop the product while utilizing less space to fit on eMMC

  • Wrote package build configuration files to aid and simplify a unified package distribution through the team

Lantos Technologies

Wakefield, MA
December 2013 – April 2015
Senior Software Engineer and Technical Lead

  • Acted as technical lead for the firmware and electrical components of the design, which included rewriting the electrical and firmware requirements, risk analysis and control, traceability matrix and compliance with IEC-60601 and IEC-62304

  • Wrote and maintained embedded software for a Class I hand-held medical device, which contained optical/camera sensors, accelerometer and gyroscope, GPIO, temperature sensor, LEDs, DACs, motors and Ethernet

  • Utilized unit-test and mock framework to automate validation and regression tests

  • Wrote and maintained code in Python, C, C++, C#, and VHDL on Linux and Windows

  • Wrote code to automate calibration of medical device, which utilized linear motor drivers on two-axes to capture images at different locations while determining the optimized exposure time. Improved calibration process, which decreased calibration time by six times and increased repeatablity

  • Wrote code to facilitate engineering design: image analysis, experiments with data logging, network analysis, simulations

  • Utilized network capture and replay tools to: root-cause, simulate and reproduce issues and analyze proprietary protocol

  • Ensured feasibility experiments were performed in a consistent methodical manor by writing code to collect data in an organized fashion

  • Reviewed and advised on changes in electrical and software designs

  • Devised a electrical workaround for the prototype device, which reduced internal temperature by ten degrees Celsius without impacting performance of the design

  • Designed a start-up friendly software process while being compliant with quality system requirements by governing bodies

  • Optimized the two power-trains in device, which required deep understanding of DC motors, drive circuitry and gearbox

  • Utilized Linux distribution OpenWRT on router hardware to mirror and capture traffic to root cause data loss

  • Processed images on Linux utilizing OpenCV

Raytheon BBN Technologies

Cambridge,MA
December 2012 – November 2013
Embedded Systems Engineer

  • Embedded Software Engineer on Boomerang Airborne Tactical Sensor System (BATSS) project

  • Wrote and maintained C/C++ code to produce proprietary binaries for an embedded Linux platform

  • Contributed to the software architecture design of a system with eighteen separate processors

  • Utilized TCP/IP and UDP sockets to facilitate Inter-Processor Communication (IPC)

  • Decreased boot time by three times by utilizing profiling methods and meticulously designing the experiment and recording data

  • Updated routers to use Linux distribution OpenWRT to split and aggregate traffic for low-data-rate long-range wireless and high-data-rate wired base-station traffic, respectively

  • Wrote and maintained code for Blackfin targets, which ran Analog Devices’ RTOS (VDK)

  • Improved boot-loader error handling by writing code that conforms to the U-Boot API

  • Redesigned the build system ( autotools ) to provide helpful messages and halt the build if dependencies were missing

  • Ensured traceability by embedding Git tags and SHA sums into the code automatically

  • Automated the release of software by utilizing Git, sed and gawk within bash scripts

  • Utilized Wine to run Analog Devices IDE (VisualDSP++) a Windows native program in Linux to simplify the build process

  • Wrote and maintained C/C++ code for various sensors: piezo, microphone, accelerometer

  • Maintained and wrote code to support Precision Time Protocol (PTP / IEEE 1588)

  • Provided code reviews for team members

Odic Incorporated

Devens, MA
September 2011 – August 2012
Embedded Hardware & Firmware Engineer

  • Designed hardware and software to interface with medical production equipment with the objective to gather data in to validate runs. Hardware interfaces to process equipment were opto-isolated, which the software controlled via USB. The GUI was a multi-threaded application intended to run on several operating systems utilizing Qt, libusb and libftdi

  • Designed hardware for a custom data logger, which ran Linux on an ARM target. The OS was utilized to quickly implement a proprietary USB to Ethernet bridge. Use of a LiPoly battery and SD memory to support robustness and insure no loss of data

  • Wrote firmware in C for EEG, which utilized Bluetooth to transmit data. Used a design process that complies with FDA Quality Systems requirements

  • Acted as technical lead. Cost reduced a existing pedometer by integrating the design, which reduced the cost by more than 20%. Ported the firmware to an evaluation based design to streamline the design process. Wrote maintainable firmware for accelerometer, LCD, timers and USB

  • Deployed a Linux server running Trac and Subversion to support adaptation of a quality system. Wrote support scripts in bash and Python to streamline setup of new Trac and Subversion projects, which added users and setup permissions. The system authenticated users through Active Directory

  • Schematic Capture utilizing OrCAD

  • Worked directly with customers to define requirements and deadlines.

Osram Sylvania

Danvers, MA
February 2010 – May 2011
Senior Electrical/Firmware Engineer

  • Wrote the firmware for products that won the Innovation Award at Light Fair 2010

  • Awarded United States patent 8559154 for a algorithm designed and implemented in firmware

  • Designed firmware in C intended to control various power supplies by only modifying the configuration at build. The modular firmware supported independent channel: voltage monitoring, control of duty-cycle, current and calibration

  • Wrote firmware in C for a Solid-State Lighting (SSL) downlight power-supply, which supported phase-cut dimming. Reduced the capacitance needed by intelligent monitoring of phase-cut signal and control of light output

  • Implemented a processor independent firmware library for a proprietary communication bus between power-supplies and light-engines

  • Designed firmware in C for a solid-state light-engine, which utilized color mixing technology. Color compensation was achieved by two control-loops using temperature and light as feedback

  • Deployed a Linux server to provide Software Configuration Management (SCM) by Subversion repositories and Trac. User accounts were created and authenticated via communication with the Windows Activity Directory

  • Insured customer quality by analysis of designs and their manufacturing tolerances using engineering simulation and mathematical modeling

  • Created a ISO9001 software process that increased efficiency by automation and reduced cost by utilization of Open-Source software tools and existing IEEE standards

  • Utilized the IEC 61131 standard for Programmable Logic Controllers (PLC) to write software for a end-of-line tester

iRobot (now Endeavor Robotics)

Bedford, MA
November 2007 – January 2010
Electrical/Firmware Engineer

  • Created a firmware solution to a hardware problem by minimizing and arranging duty-cycle of sections of the circuits to reduce the RMS current to reduce heating of certain components, which led to the iRobot Rock award

  • Instrumental in providing a firmware changes and documentation for a problem that was crucial for 80% of the quarter’s revenue. Mathematical modeling of the Electromechanical system to test concepts and prove theories, which led to the iRobot Rock award

  • Designed and documented firmware for the PackBot Hazmat Kit, which included USB communication, iRobot propriety payload communication protocol, temperature and humidity readings linearized via approximation algorithms, accessory port current measurements and diagnostic information. Approximation algorithms were analyzed and refined using
    Matlab

  • Wrote a processor independent firmware library in C for a iRobot proprietary communication protocol to eliminate “cut-and-paste coding” and create a single-source for quality control. In addition, variable and function assignment for messages only required one call so a novice could understand messages at a glimpse

  • Designed prototype and production circuits for PackBot Hazmat Kit, which included 2A buck switching supply, UART-USB bridge, microcontroller, temperature and humidity sensor

  • Designed, maintained and peer-reviewed firmware for PackBot and Warrior platforms

  • Wrote Linux bash, gawk and sed scripts to aid other engineers in: testing, verification and design, which reduced required hardware to perform these tasks

  • Created a firmware process to meet CMM/AS9100 standards

Pollak

Canton, MA
May 2005 – November 2007
Electrical/Electromechanical Engineer

  • Acted as technical lead for the “Reversed-Oh” project. Distributed and aligned firmware, software, electrical and mechanical tasks. Work directly with customer to plan testing on large tractors. Lead design reviews.

  • Wrote prototype firmware in C for Electronic Steering Column Lock Actuator (ESCLA) for European automotive platform, which included: motor control with hall-effect sensing for feedback, control and status of ESCLA via GMLAN (CAN one-wire)

  • Researched and developed several torque measuring systems and algorithms using magnetorestriction, magnetometers and fluxgate technology

  • Improved torque algorithm execution time by eighty times by designing machine specific approximation algorithms

  • Designed a data acquisition system for torque development that acquired 2048 data points for four channels via USB, utilizing digital and analog circuitry, embedded firmware, Graphical User Interface (GUI) software, LCD display and a mechanical interface to mount encoder to various shaft diameters

  • Analyzed torque signals from John Deere tractors to understand weak performance. Wrote software and firmware to provide a robust solution, which was evaluated by simulation using an arbitrary waveform generator

Pollak

Boston, MA
Summers of 2003,2004
Engineering Co-op

  • Designed an embedded vehicle message simulator for the revolutionary SmartBar automotive system replaced customer supplied simulator saving
    \$50,000

  • Wrote firmware in a modular method for a PIC18F in assembly to simulate vehicle messages over Controller Area Network (CAN)

  • Designed modular interface board (circuit and PCB) for multiple applications of the vehicle message simulator

  • Designed various analog and digital test boxes for prototype testing and verification

  • Worked closely with engineers to design and prototype parts

  • Built, tested, repaired and updated prototypes for customers

Scientific Stereo

Brattleboro, VT
May 1998 – June 2001
Manager, Head Technician and Salesman

  • Designed and installed custom stereo systems for home and business. Troubleshot customer problems over the phone

  • Repaired amplifiers, CD players, tape decks, tuners and other various audio equipment

Education

Wentworth Institute of Technology, Boston\
B.S. in Electromechanical Engineering \
ABET Accredited for a B.S. in both Electrical and Mechanical Engineering \

Technical Strengths

Computer Languages
C/C++, bash, shell, make, awk, sed, m4, regex, Python, Matlab, Assembly
Processors
ARM, AVR, AVR32, Blackfin, HCS08, HC11, PIC, PPC, TI DSP, x86
Peripherals
ADC, DAC, I2C, DMA, GPIO, PWM, SPI, Timers, Crypto, UART, CAN, USB, Ethernet MAC and PHY
Protocols
Bluetooth, SMBus, GMLAN, TCP/IP, UDP, PTP, TFTP
Software Tools
autotools, gcc, gdb, JTAG, Git, Subversion (SVN), CVS, Eclipse, doxygen, IAR