
Bill Knox
Senior Software Engineer
35+ years of experience in embedded and desktop software development, systems engineering and project/task management. 20+ years in healthcare systems and medical device development with design and development experience with multiple, complex electromechanical-software systems.
Skills Summary
- Demonstrated experience in developing, maturing, and fielding software and firmware-based hardware control algorithms in support of cutting-edge research and development projects.
- Proven ability to document, design, and implement software for healthcare systems and medical products with compliance to: ANSI/AAMI/IEC 62304, AAMI TIR45 for applying an Agile approach to medical device development, ISO 13485, EN ISO 14971, guidance documents, coding standards (authored).
- Demonstrated ability to elicit system and software requirements and then appropriately transform required functionality into a defined and documented working architecture. Applied knowhow of a variety of design methodologies and tools including OOA/OOD methodologies using UML, and the use of Agile practices for developing both medical and commercial device software.
- Proficient in multiple programming languages, protocols, and development environments including C, C++, C#, XML/XAML, SQL and assembler languages for multiple microcontrollers/processors, Visual Studio, Eclipse, Windows, RTOSs (e.g. Micrium µC/OS, VxWorks, QNX), roll-your-own task scheduler, HL7, NCCLS LIS1-A/LIS2-A2, OpenGL, X11. Author of a successfully deployed Android-based application.
Professional History
Robotically controlled pharmaceutical drug compounding system: Worked with mechanical engineering, electrical engineering and production teams to verify construction and design. Responsible for Linux-based software to perform motor control, barcode scanning, label printing, pneumatic control, chamber environmental control (fans, temperature and pressure monitors), and robot motion definition. Software was written primarily in C++ with lua for simulation, and YAML and perl for automated code generation for infrastructure.
Medication administration and management system: Architect and assistant project manager for a complex, hospital-wide medicine dispensing and tracking system. System included servers, bed-side medical carts and smart automated dispensing cabinets. Developed external and internal interface definitions and their implementations including a HL7 interface to an external Pharmaceutical Information System.
Smart Pill Dispenser: Responsible for design and development of software for a rapid prototype hand-held pill dispenser and Android-based monitoring application. The embedded software was developed using IAR Embedded Workbench and ran on a Kinetis L Series microcontroller (ARM Cortex-M0+ core). A priority-based task scheduler was used to ensure performance deadlines were met. Blue Tooth Low Energy (BLE) was used to communicate status to an Android tablet-based application. The application was developed using Android Studio.
Radiopharmaceutical Contrast Media Injector: Provided oversight and guidance for a large, subcontracted, off-site third-party software development team. The system consists of three SW subsystems – an ST Micro MCU ARM M4 for real-time device control (C, Kiel uVision 5 IDE), a PIC 18 for real-time control of the Multichannel Analyzer (C, Microchip MPLAB) and a user interface platform (C#, Visual Studio 2012, WPF MVVM, Windows Embedded 8). Ensured adherence to applicable FDA software development consensus standards (IEC 62304), HIPAA and cybersecurity guidelines. The embedded controller software is categorized as IEC 62304 class C. Provided architecture guidance, critical course corrections, and definition to the applied software development process which included encouragement toward Agile scrum. Author of the System Architecture Document and use-case sequence diagrams that clearly defined functional partitioning and interface requirements. This work also involved DOORS for requirement management, Tessy for on-target unit testing, Coverity for static analysis, FogBugZ for project tasking and issue tracking, and Subversion for software CM.
Active Implantable Device: Developed software architecture, requirements, planning and design for a feasibility design of an active implantable design for correcting spine curvature. Target platform is a TI CC1350 family MCU using BLE; interfacing with several analog sensors. Design implementing TI’s TI-RTOS.
Robotically Assisted Surgical Device: Provided guidance and oversight of protocol development and NFC (near field communications) wireless interface development between the robot and end-effectors. Debugged NFC interface and assisted in development of verification protocol criteria.
Clinical Measurement Device: Software requirements, planning and design for the commercialization of an IMU-based research instrument to characterize human muscular/skeletal performance. The system consists of a central server/data analyzer and Point-of-Care data collection sites using SMTP, IMAP and HTTP to remotely communicate data and results. The fielded system is expected to be IEC 62304 compliant, Class B categorization and adhere to HIPAA and FDA cybersecurity guidelines.
Ocular Analyte Sensing System: Provided assessment of an invention to measure iris texture to assess glucose level within the eye’s aqueous humor. Images were captured using a Nikon Camera Control tool and analyzed using MATLAB and Partial Least Squares (PLS). As principal investigator, interfaced with the inventor and leadership of the start-up commercialization corporation. Responsibilities included deep-dive analysis of the MATLAB code and PLS approach.
Nuclear Magnetic Resonance (NMR) Lipoprotein Detector: Responsible for developing the external LIS/HIS interface in accordance with NCCLS LIS1-A/LIS2-A2. Elevated to software lead (Scrum Master) with responsibility for sprint planning, backlog management, sprint review, appropriately documenting the development activities and outcomes in the Design History File (DHF) velocity tracking. This software was developed using Rational Rhapsody in C++. Windows XP Embedded was used as the target OS.
SPECT Infusion System: Senior developer for an embedded controller based on the TI TMS320 F28335. Responsible for Product Requirements Document, Software Development Plan, and Software Requirements Specification update and review. An Agile/Scrum process was used in accordance with AAMI TIR45:2012 and the process was compliant with IEC 62304. TI Code Composer was used to develop code in C, C++ and assembler. Mercurial was used as the development SCM tool.
Microorganism detection, identification and enumeration system: Responsible for defining and managing Scrum Sprint-based development for the Master Controller subsystem development team. Activities included task estimation (story points), backlog management, sprint scheduling and planning, requirements and design refinement/refactoring, code development and verification, integration and build, velocity tracking, incremental documentation update and Project Data Records for inclusion into the project DHF.
ThinPrep® Imaging System: Large, complex imaging system that automatically scans every ThinPrep® pap smear slide’s cells and cell clusters, assesses DNA content, identifies largest and darkest nuclei, and ranks and highlights cells of interest for cytotechnologists’ review. Provided system-level architecture support and subsystem architecture definition (image analyzer, pap slide review station and data server). Developed interface documents and requirements specifications. Software design was achieved through the definition of Object Model Diagrams, Sequence Diagrams, State Transition Diagrams and code sections introduced into the Rhapsody model. Assigned to critical tasks – Examples:
- Improved image analysis performance by more than 10X in order to meet required system throughput. Software development used Rationale (I-Logix) Rhapsody, a modeling environment based on UML.
- Developed custom microcode for the MC68376 Time Processing Unit (TPU) to precisely control and detect the system Light Control Unit.
- Developed an automatic focusing technique that was awarded a patent.
- Developed a slide cell spot modeling approach that effectively limits image scanning to locations on the slide where cells are present.
Ruggedized Ocular Screening Instrument: This product measures pupillary response (dilation, construction) to determine potential exposure to toxic organophosphates. Oversaw firmware design and development, and personally developed and verified an efficient pupil finding algorithm that was critical to product operation. The control board hosted an ADSP-BF537. Development tools included VisualDSP++/VDK, GIMP and Visual Studio 2012.
Non-Medical and Defense Projects
Transit Safety Retrofit Package (TRP): The TRP was a US DOT-funded program to deploy five collision avoidance applications on University of Michigan transit buses using Vehicle-to-Vehicle (V2V) and Vehicle-to-Infrastructure (V2I) technology. Three buses were equipped with a DENSO miniWSU (STM Cartesio+ ARM11), in-vehicle display (Android tablet), CAN communication hardware, and antennas to support GPS and DSRC communications. Tasked as a trouble shooter to determine the cause of sporadic system dropouts. Using a customized DFMEA, an optimal instrumentation was identified to monitor UDP and TCP message traffic. A Raspberry Pi (Raspbian) was used as an embedded packet sniffer to collect data for later off-line analysis. Through a combination of custom C++ post processing code, Wireshark and Google map overlays, the root cause was identified.
TGSI – Ohio Election Office Software: TGSI is a family-run and family-oriented business located in Xenia Ohio. TGSI provides the software, hardware and support for ~75% of Ohio’s 88 counties. Some key contributions include:
- Responsible for conversion of the software from FoxPro to C#/WPF/MySQL. Activities include schema development, automated database conversion, automated FoxPro-to-WPF conversion, and efficient translation into an MVVM architecture. Challenges include code volume (>> 500K SLOC), appropriate selection of design patterns that balance conversion efficiency with future supportability, and the elicitation of influences and assumptions.
- Development of image processing software capable of automatically processing scanned poll registers. The software deciphers barcodes, determines the voter signature area, assesses voter party designation based on checkmarks made on the register and determines whether voter signature is present.
- Specification, design and development of the Campaign Finance System, Election History Posting and Questions and Issues System.
Other Projects
- Software lead and algorithm implementer for next generation ATM machine (MC68376)
- F-15S (Saudi) maintenance trainer, high fidelity aircraft simulator (VxWorks, Ada, MSP430)
- Project manager for PEO STRI STOC II omnibus contract
- Digital Topographic Support System – terrain intervisibility models, BAA award winner
- Digital terrain and feature data quality control tool. Optical, radar and sensor simulations.
Ready to Work
With Our Team?
Whether you’re developing a new medical device or need support with regulatory compliance, our experienced team is here to help advance your innovation.
PROUD MEMBERS OF



