We provide IT Staff Augmentation Services!

Embedded Device Engineer - Medical Device Security Resume

4.00/5 (Submit Your Rating)

SUMMARY:

  • Embedded software engineer with experience in medical devices, communications, storage, imaging, cryptography, real - time control and device drivers/diagnostics.
  • Expertise is C and C++ OOD and C in embedded environments using multiple RTOSes including Linux, LynxOS, VxWorks, Green Hills Integrity, Nucleus, FreeRTOS, and uCOS2 on custom and off-the-shelf hardware. Certified Scrum Master.

AREAS OF EXPERTISE:

Board bring-up and diagnostics

JTAG, ICE, and SWD debuggers

1G/10G Ethernet, IP, SONET

OOA&D, UML(Rhapsody), and DOORS

MATLAB, VSIPL++, ENVI, Image Processing

Graphics and OpenGL, GL Studio, Qt C++/Python

Subversion, CVS, GIT, ClearCase, and Perforce software CM

NIST SP, FDA cyber-security, ISO 27001, HIPAA security frameworks.

RF Comm SATCOM, UHF waveforms

Inertial Navigation (Novatel/KVH and Litton)

VME/VPX/VITA/cPCI/COMExpress form factors

Linux kernel and drivers

PowerPC, x86, ARM/OMAP, Cortex 3 and 8/16 bit controller expertise

DO-178B, FIPS-140, DIACAP

Middleware (CORBA, DDS, 0MQ)

Storage (FC, ATA, SCSI/iSCSI/ SAS, Wideband tape), Qlogic and LSI HBA

Networking and Security

Board Support Packages

DOCSIS

GNU and IAR toolchains

FDA 510(K) and IEC 62304

Automotive Telematics OBD2 (CAN, ISO 9141, J1850) stack, GSM/GPRS. GPS

PROFESSIONAL EXPERIENCE:

Confidential

Embedded Device Engineer - Medical Device Security

Responsibilities:

  • Embedded engineer acting as subject matter expert developing training material, reviewing customer hardware/software designs, and recommending changes to comply with FDA cyber-security guidance, NIST CSF, ISO 27001, NIST SP, and HIPAA guidance.
  • Worked with vendor R&D teams as well as hospital biomed engineers to perform security assessment assessments of infusion pumps, glucose monitoring, in vitro devices and other clinical devices and laboratory test devices.
  • Work on internal projects to develop medical IOT device designs that demonstrate security features such as trusted boot, hardware security modules, Bluetooth OTA security for customer demonstrations. Worked to improve medical device security assessment frameworks using inputs from AAMI, DTSEC, and other industry groups.
  • Software developed in C and C++ using IAR and KEIL toolchains for Cortex M3/M5 microcontrollers and Nordic Semi BLE chipsets.

Confidential

Embedded Linux Developer

Responsibilities:

  • Embedded developer on Linux-based NXP ls1021A (Cortex A9) QorIQ multiprocessor 10G video switch product.
  • Developing Linux BSP enhancements, drivers, and application code in C and C++ using Yocto distribution.
  • Developing interface module between CPU and Xilins UltraScale FPGA to performing initial setup and programming, initialization and setup of Marvell 10G switch, and application code to manage connections for 4 high-speed video paths (uncompressed HD-SDI) to 10G Ethernet endpoints.
  • Embedded Software Developer on wireless personal diabetes monitoring system.
  • Developed C++ software under Mentor Graphics Nucleus RTOS for communications with wireless dispensing pod using Bluetooth Low Energy and proprietary RF links.
  • Responsible for security of communications functions and software boot and download processes, as well as complete diagnostics package used for embedded and design test diagnostics. Software developed on Freescale ARM Cortex A processor and Nordic Semi Bluetooth Cortex M0 core using Mentor Graphics and Keil toolchains.
  • Developed code for Nordic Semi BLE chip to implement custom BLE profile for patient data communication to mobile devices.
  • Code implemented in C using Keil toolchain for Cortex M processor. Implemented custom security features for authenticated pairing and out of band Bluetooth security. Board bring-up of new BLE daughter board on SPI bus to ARM9 processor.

Confidential, Providence, RI

Software Engineer

Responsibilities:

  • Embedded Software Developer on Medusa single-ported surgical robotic system.
  • Developed C and C++ code for Linux, FreeRTOS/SafeRTOS, and QNX on x86 and Freescale Kinetics Cortex M4 processors.
  • Converted prototype PC-based embedded Linux system into a high-performance real-time system to control two surgical instrument arms and a laparoscopic 3D camera using custom and off-the-shelf processor boards. System developed under ISO 62304 as a Class 3 medical device for FDA 510K submission.
  • Responsible for kinematics processing for control of brushless Maxon DC motors over CAN bus using CANOpen protocol.
  • Developed CANOpen stack, raw Ethernet control interface, and host system multi-threaded processing algorithms.
  • Embedded code developed using FreeRTOS and SafeRTOS ported to 4 custom processing boards.
  • Developed startup and configuration code, as well as SPI, EMAC, CAN drivers as well as porting TCP stack to custom hardware.
  • Developed prototype monitor and control displays for kinematic system using Qt with C++ and Python for system level testing and monitoring.
  • Software developed in C++ using gcc, IAR and QNX toolchains.

Confidential, Hopkinton, MA

Software Engineer

Responsibilities:

  • Developing C++ software in embedded Linux environment to test production storage processor boards (custom Intel storage processors boards), Drive Array Electronics (SCSI/SAS drive enclosures), and Drive Electronics (SCSI, SAS, SATA, PCIe drives) for production testing, final configuration testing, and environmental screening tests.
  • System developed in Object Oriented C++ in an embedded Linux environment.
  • Also wrote customized Python scripts that control embedded applications from connected PC test control application.
  • Developed software for disk subsystem testing for SAS and SATA devices to increase IO performance using Linux huge TLB pages (2MB); added features for thinly provisioned SSD devices; enhanced test performance logging using Log4cplus and NxLog packages; and added features to qualification tests for new 6G/12G SAS storage devices.
  • Enhanced kernel mode code for Confidential architecture memory management and mapping kernel-space resources to user mode device drivers.
  • Code developed in C++ using gcc tools using Posix/Boost/STL libraries for multi-threading support, and git for source code management.
  • Also used mongoDB to store test results for further analysis using custom python scripts.

Confidential, Canton, MA

Firmware Engineer

Responsibilities:

  • Developing board support, driver, and control system firmware for commercial refrigeration system controller in C on Freescale Coldfire 5223X microcontroller using Freescale Code Warrior tools.
  • System optimizes the control of evaporator and compressor run times based on environmental conditions.
  • Developed I2C bus control code for real-time clock (RTC) and multiple IO Expander chips.
  • Added code to interface to onboard Ethernet MAC to communicate with network time servers using RFC 868 time protocol (TCP) and Simplified Network Time Protocol to maintain system time over power failures.
  • Developing ADC and MODBUS/IP software to interface to various sensors and industrial control equipment.
  • Debugged initial hardware failures during board bring-up using I2C logic analyzer and oscilloscope.
  • Software developed under uTasker RTOS using Subversion CM.

Confidential, Cambridge, MA

Embedded SW Engineer

Responsibilities:

  • Developed automotive telematics application for vehicle sharing on ARM Cortex M3 (LPC1788) processor in C++ using IAR Workbench tools.
  • Converted original memory-constrained PIC 28F application to new Object Oriented design for beta hardware running Micrium uCOS-II RTOS.
  • Developed C++ classes for Car interface (I2C/GPIO alarm, ignition, lock/unlock, vehicle speed sensor), GPS (uart uBlox receiver), GPRS/GSM (uart Telit910), RFID Access Control (GPIO, serial and 1-wire),
  • Onboard reservation processing, and OBDII (CAN/VPW/ISO9141) interface.
  • Researched OBD2-based PIDS to determine which data items were available to our application from various vehicles.
  • Also wrote message logging class using Cortex M3 Intelligent Trace Macrocell to redirect UART debug output to ITM (SWD) port.
  • Debugged code using IAR Workbench and Eclipse plug-ins using Segger JTAG/SWD.
  • Used Git for software configuration management, Jira for bug/task/scrum tracking, and Fisheye package for online code review.

Confidential, Mahwah, NJ

Embedded Software Engineer

Responsibilities:

  • Responsible for development of user displays on system touch screen monitor and pump displays using OpenGL developed with GL Studio toolkit for TI Arm 9 Cortex A8 processor/Imagination PowerVR GPU.
  • Utilized custom real-time message protocols and configuration database for CAN bus interfaces to pump motors, pressure, temperature, and blood chem sensors.
  • Ensured system meets FDA 510(K) Class III and IEC 62304 requirements via FDA and IEC validated development process.
  • Used Rhapsody UML tool for use case documentation, object module descriptions, and sequence diagram development.
  • Also developed test harnesses using Visual Studio and CPP unit, and proposed VectorCAST tool to meet coverage analysis, test artifact generation, and regression test requirements.

Confidential, Lexington, MA

Lead Software Engineer

Responsibilities:

  • Software Engineer on real-time, image processing and detection system using hyper-spectral SWIR image data. Software developed in C++ on multi-processor, multi-threaded embedded Linux system using COMExpress X86 boards (two boards 6 cores on local gig-e network).
  • Developed C++ active classes in Linux for image acquisition from SWIR camera (high speed CameraLink pciE device), exposure control processing, image calibration, image recognition and detection, GPS/ INS timing interface, Data Link Command/Control and Image Storage (in ENVI format). Utilized VSIPL++ and MATLAB for Linear Algebra and signal processing applications (matched filter/ adaptive coherence estimator) and Boost/STL and 0MQ for support and messaging infrastructure (IP between nodes and threads).
  • Benchmarked recognition algorithms using VSIPL++ for Intel MKL, SIMD, and GPU interface libraries to optimize power vs. performance profile in for lower-power processing suite.
  • Recognition algorithms optimized for Intel mobile I5 and AMD APU processing suite dual board configuration.
  • Built and installed Linux (CentOS/SciLinux) kernels for development and target systems for redundant SATA flash drives and customized BSP for each target processor.
  • Installed Linux real-time patches to improve task scheduling.
  • Developed startup scripts for target processors.
  • Enhanced Linux CameraLink driver for 32-bit kernel allowing 32-bit DMA across PCI bus to capture card memory.
  • Enhanced multi-port serial card for RS-232 and RS-422 comm, including multiple line-drive options. Developed prototype control displays on PC using Qt for C++ and Python to control embedded system in lab environment.

Confidential, Merrrimack, NH

Diagnostics Software Engineer

Responsibilities:

  • Software Engineer on Advanced Processing Architecture (APA) signal processing/ 10G switching system.
  • Developed diagnostics, drivers, and application middleware for APA computing system consisting of 21 slot VXS backplane with multiprocessor compute nodes (4x BroadComm 1480 CPU bit CPU), PowerPC-based tuner cards, and 10G switch fabric cards, and PowerPC-based LSI logic SAS storage interface cards.
  • Developed custom diagnostics and boot code (Common Firmware Environment and UBoot) for Broadcomm (MIPS) and PowerPC processing and switching cards.
  • Developed diagnostics for Fulcrum 3112 and G switches for backplane diagnostics and XAUI PRBS testing.
  • Developed addition firmware for switch to CPU processing card diagnostics for Cortina 10G MAC chip on hyper-transport/SPI4 interface to BCM1480 CPU.
  • Optimized DDR2 timing parameters on PowerPC memory controller to eliminate intermittent memory timing issues.
  • Debugged and enhanced drivers Linux kernel drivers for diagnostic capability for high-speed flash-based storage system card using LSI Logic SAS HBA chipset.
  • Integrated ext4 file system into kernel and tested with SAS flash drives and tested 10G communication paths to other boards.
  • Software developed in C and C++, and running on customized Linux 2.6 kernel.
  • Wrote test code for both hardware diagnostics to check system components and interconnects, and middleware test applications for MPI, VSIPL, and CORBA.
  • Software developed on Linux severs using Clearcase and AccuRev SCM systems.

Confidential, Windsor, CT

Embedded Software Engineer

Responsibilities:

  • Embedded software engineer responsible for development of platform and operational software for safety-critical DO-178B flight control software.
  • Developing customized PowerPC 7748 boot code to load and start proprietary safety-critical RTOS and flight applications.
  • Code developed using a portion of U-Boot for a reference design to accelerate development.
  • Developed initialization code, device code (memory control, pci setup, cpu board I2C and SPI devices), flash MTD layer, as well as serial, Ethernet and TFTP code for custom compact PCI CPU card.
  • Developed custom IP stack for UDP, ICMP, and ARP, and Ethernet for bare machine. Code developed in C using GNU tools, debugged with Abatron BDI-3000.
  • Developed procedures for certification of boot code requirements for DO-178B level A and D.
  • Integrated card into ground test systems and tested booting customized RTOS.
  • Updated software requirements in DOORs and developed design and test documentation for CSCI in DOORs to meet certification requirements.

Confidential, Clifton, NJ

Embedded C++ Software Engineer

Responsibilities:

  • Responsible for design and implementation of networking and security classes including IPV4 and IPV6 networking, authentication (OpenPAM), role-base authorization, network and bulk encryption (IPv6, IPv4, and VMF), PKI certificate management (SSL, CA, CRL processing), and web service encryption.
  • Developed complete UML model in Rhapsody for entire security subsystem including use case, OMD, class, and sequence diagrams.
  • Developed networking model and software to enable module-to-module and manager-to-module secure unicast and multicast communications over external wireless radio.
  • Adapted OpenSSL to PowerPC 8548E/LynxOS environment and developed security classes in C++ for all secure networking functions.
  • Analyzed porting Linux Open Crypto Framework to PowerPC processor SEC engine for hardware support of crypto functions.
  • Designed in all requirements for certification of all security-critical code to DIACAP 8500 Information Assurance requirements using multiple Security Technical Implementation Guidelines (STIGs), and developed code submission package of cytological software to independent labs for FIPS 140-2 certification of trusted code.
  • Ported Linux 2.6 drivers to LynxOS driver model (bottom halfs converted to kernel threads, memory model and MMU changes, driver API changes) for FPGA-based uart, ATA Compact Flash, GPS-timer interrupt, SPI, and Ethernet PHY.
  • Developed ATA driver for LynxOS for compact flash module with FPGA-based IP core to ATA storage device.
  • Assisted hardware engineers with VHDL-based encryption to develop on-the-fly sector-based encryption algorithms. Recommended algorithms for key storage and zeroization and platform anti-tamper algorithms.

Confidential, Marlboro, MA

Systems/Software Engineer

Responsibilities:

  • Developed satellite communication modem enhancements (8PSK, turbo coding, adaptive coding, and network control) to LinkWay SATCOM MF TDMA modem in GNU C under MontaVista Linux running on Intel IXP465 (ARM9) embedded core. Developed PHY level drivers for control of modem and coding FPGAs. Integrated TRANSEC PCI card with PowerPC 8313 to implement TRANSEC cover on outgoing bursts. Migrated channel access drivers from application-level to kernel driver module to improve packet throughput.
  • Performance maintenance and troubleshooting on Confidential KG-200 Inline ATA media encryptor- Investigated Linux and Windows boot failures when this encryption device was used to perform inline encryption of ATA6/IDE-based disks. Debugged ATA/IDE signaling issues on host and drive side of internal FPGA and ARM processor using ATA/IDE analyzer and software-based tools. Assisted hardware engineer in understanding of ATA signaling and eventual solution to problem.
  • For Link-16 Small Tactical Terminal/SDB, developed diagnostic code for digital receiver/exciter card and red host processor on Falcon-3 based small tactical terminal. Developed memory, flash, RF internal and external loopback, and FPGA test code in C++ for ARM9 and PPC 405GP in XILINX Vertex-4 FPGA running Linux using GNU tool chain.
  • For Link-16 UHF L-band tactical data link radio, developed C++ on Green Hills INTEGRITY (PowerPC 440GX) for two waveforms (Link-16 and SINCGARS UHF) and Operating Environment for software defined radio under Software Communications Architecture (SCA) using OrbExpress CORBA. Provided systems support to team-mates (BAE and Rockwell Collins) for Confidential -developed Link-16 enhanced throughput waveform (FEC, modulations, frame formatting, coding). Reviewed waveform security for compliance/completeness and supported resolution of agency comments. Developed prototype IP fast-path implementation from host interface to modem card utilizing high-speed Integrity connections and benchmarked same against CORBA implementation.
  • For low-cost BFT SATCOM modem, ported sitcom terminal configuration code from other products to configure terminal parameters for BGAN and Arclight waveforms and routing parameters. Code written in C++ for Linux on TI OMAP/ARM9 signal processor.
  • Ported Linux Linux 2.6 kernel to MIDS L-band wireless terminal interface card (X.25 and Ethernet) on PowerPC 860. Starting with kernel.org distribution, adapted startup code to memory layout, boot loader, and devtable of Confidential developed ADDSI X.25/Ethernet interface card. Added IPv6 networking to Linux stack.

Confidential

Systems Software Engineer

Responsibilities:

  • Systems Software Engineer responsible for development of architecture requirements for Constellation Program first state booster avionics.
  • Captured program requirements using DOORS requirements managements system to prepare avionics architecture requirements for System Segment Specifications for first stage engine control avionics.
  • Developed evaluation software for redundant processor architecture in C++ for use in evaluating operating system selection for Marshall Space Flight Center.
  • Evaluated DO-178B compliant AR INC 653 products from VxWorks, Green Hills, and Lynx software. Benchmarked communications processes on Draper-developed redundant bus prototype system hardware based on PowerPC processors.

We'd love your feedback!