Sign in

Software Engineering, Firmware, Project Management, Technical Lead

Pasadena, Maryland, 21122, United States
February 25, 2018

Contact this candidate


Dana Lee Church

Pasadena, MD ***** +1-443-***-****



15 years’ Product Management and Systems Engineering and Embedded Software / Firmware development for industrial automation. Development from concept through international deployment of 50+ CE & FDA laser micromachining systems. 20+ years designing board level firmware, embedded software, scientific algorithms for hardware intensive, multidisciplinary, cross-platform, custom automation and instrumentation.

oLife cycle definition, architecture specification, requirements analysis, software design and interface documentation using Computer Aided Software & System Engineering (CASE) tools: Incremental, Object Oriented, Waterfall, Iterative with Agile & SCRUM. 12+ languages for PCs, microprocessors, DSPs, & motion controllers; Interactive Development Environments (IDE), Application Programming Interfaces (API), Configuration Management (CM), bug tracking tools, test plans & case generation, verification and validation (IV&V), quality control (SPC & Six Sigma), corporate procedure and technical writing in compliance with industry & corporate standards (MIL-SPEC, DOD, IEEE, EIA, FDA & ISO).

oCross platform scientific algorithm implementation using timing diagrams for time-triggered design, event driven finite state machines (EFSM) for real time, distributed, parallel tasks for multiprocessor systems. Design of digital & analog IO, electro-optical & electro-mechanical devices; signal & image processing with feedback control. Platforms including: Windows PCs, Digital Signal Processors (DSPs), Single Board Computers (SBC), microprocessors, image processors and motion controllers. Implementation using real time operating systems (RTOS), Interactive Development Environments (IDE), Board Support Packages (BSP), In-Circuit Emulators (ICE), USB & JTAG interfacing & hardware simulators. Utilization of all lab electrical and optical test equipment.

oHardware peripheral interfacing with electro-optical and electro-mechanical devices, stepper/servo motors, digital/analog IO, encoders, tachometers, relays, solenoids, switches, proximity sensors, thermocouples, data loggers, microscopy, frame grabbers, cameras, lasers, laser energy sensors, laser beam diagnostic hardware, photo-diodes/detectors and in-house developed instrumentation.

oDesign and programming of real time, priority based, pre-emptive, multi-tasking, operating systems for bare-bones DSP chips, microprocessors and microcontrollers in C & Assembly. Use of COTS, UC/OS II and free RTOS.

oCustom system software design and implementation of IDEs, integrated editors, recursive descent parsers, translators, debuggers for context free grammars and user APIs for motion control and machine vision. Design and documentation of motion control and image processing scripting language design using Backus Naur Form.

oDesign, development and deployment of large, complex applications including: analog & digital signal processing; noise signal acquisition, with active audio cancellation; and real-time operating system (RTOS) design for bare bones microcontrollers with race condition prevention. Multi-axis steeper & servo motor motion control systems; pick & place part flow automation; optical-based particle counting, and invention of new scientific instrumentation including: optical hole diameter measurement, machine vision feature ID; laser triggering via proximity sensors; optical-based transparent media displacement tracking; and laser, optical & part automation design for micromachining systems.

o2 software copyrights for micromachining gHMI’s; 1 patentable algorithm design; 2 patentable instrumentation designs; 1 patentable hardware design for a laser component.


Management & Design of Software & Hardware Systems including: Embedded, Real Time, Multi-Axis Motion Control, Industrial Automation, Scientific Instrumentation, Real Time Operating Systems, Event & Time Triggered Bare Bones Microcontroller Software Control Design, Signal & Image Processing, Machine Vision for Feature ID, Feedback Control for Automation, graphical Human Machine Interfaces (gHMI),

Implementing: Bare-bones Board and Chip Programming for RISC / CISC Microprocessors: Motorola 68XXX, Freescale HC11 Low Power Applications, Rabbit Semiconductor, Z180, 8051, Microchip PIC, Intel x86, NXP 68341, AT&T DSP32C, TI TMS320C25 DSP, Analog Devices 21020 DSP, various Motion Control Chips; Beckhoff motion, EtherCAT,

Microprocessor In-Circuit Emulators (ICE), Microprocessor Simulators; JTAG, Serial RS 232/422/485, Protocol and Logic Analyzers for TCP/IP; Processor based Digital Interface Design for Analog/Digital IO,

Using: COTS RTOS, BSPs & APIs, VxWorks w/Tornado, uC/OS II, Dynamic C 9.21, MPASM, MicroC, EPIC,

Lab Equipment: Digital Oscilloscopes, Function Generators, Logic Analyzers, Timer/Counters, Multimeters, Sensors, Stepper/Servo Motors, Encoders, Switches, Relays, Solenoids, Photodiodes/Photo-Detectors; Benchtop Power Supplies,

Visual Studio, C, Visual Basic, Assembly Languages, C++, C#, Standard Temple Library, OLE, COM, Windows Platform SDK, Win32 API, ActiveX, Microsoft Data Access Components, C/C++ Dynamic Link Libraries (DLL), OLE DB, Hardware Overlays for Drawing, Windows GDI+, DirectX, OpenGL; Motion Control Language, Basic, Smalltalk, Ada, Fortran, Pascal,

Software Life-Cycle Development (SDLC), Object Oriented, Waterfall, Agile, SCRUM; Tools: JIRA, Trello, AHA!, Yourdon, AxiomSys, Visio, UML, SysML, Enterprise Architect, Git & GitHub, MS Office, Project, Visio, Adobe Acrobat, PhotoShop, QuickBooks 2015;


CLASSES: C#; Arduino, 2017 Concurrency & Multithreading in multiple languages,


CalvIO Inc., Webster, NY 6/2017 – 1/2018

Initial specification of two modular Robotic/Cartesian work cells controlled by an embedded software solution allowing the use of a proprietary tablet-based programming sequence to simplify robot configuration, motion programming, statistical process control and 100% non-destructive inspection while maintaining compliance with GMP, FDA.

Specification of an industrial PC and Beckhoff motion & electrical control components for the control panel build of a new robotic industrial automation work cell and creation of the Bill of Material.

Installed Beckhoff development environment with EtherCAT and integrated it within both Visual Studio 2015 & 2017 for use with C# and C++ application development. Began design of low level, multi-threading kernel to run on Windows 10 industrial PC using C++.

Wrote procedure on the complex installation of all Beckhoff component run time software including XAR, OPCUA and the standard HMI toolkit for use on the target Beckhoff Industrial PC (IPC).

Evaluated current personnel base, stakeholder needs, product requirements, working environment, product schedule, development tools, product complexity and developed a viable product development lifecycle and process to meet stringent delivery for a minimum viable product (MVP) for Series A funding initiative.

Specification of the systems engineering process life cycle including Automated Lifecycle Management (ALM) & Product Lifecycle Management (PLM) software for requirements traceability, roadmap adherence and standards compliance within an Agile/ SCRUM framework.

Worked with JIRA, Trello, Aha! And dapulse with connections to Slack and BusyBot. Recommended CodeBeamer as a preliminary Requirements Management tool with extensions for complete lifecycle management and automated FDA compliance documentation.

TeoSys Engineering, LLC, Crofton, MD 2/2001 – 4/2017

TeoSys Engineering: Embedded System, Software & Firmware Engineering:

Co-founder of TeoSys with my previous employer, Emre Teoman (deceased).

Design and implementation of all embedded firmware for OEM and custom lasers, systems and instrumentation using microprocessors, microcontrollers and motion controllers using firmware (C++/C, Basic, Assembly) for interrupts, concurrency, multithreading, multitasking, memory management, timer/counters and sensor IO.

Full software development lifecycle (SDLC) using requirements & design tools with implementation in C, Visual Basic, C++, AeroBasic and motion control code as well as testing, verification and validation of system software including distributed control and feedback for a 6-processor, 10-axis, fully automated, laser hole drilling system: including, 3 DSPs for motion control; one embedded microprocessor for microscopy; and two Windows PCs running in Master/Slave mode for distributed, real time, safety critical, multi-threaded, embedded software.

Designed all digital and analog electrical interfaces between 3 DSPs used for communication and triggering.

Used software mutexes for local critical code section execution and race condition prevention. I designed the system to use 5vdc electrical digital triggers for control of software critical sections over the physically distributed processors.

Wrote Software Requirements Specification (SRS) & Regression Test Cases for the laser hole drilling system.

Achieved >99% up-time and Six Sigma part manufacturing for 13,000+ hours via 100% in-situ part verification by co-inventing (50%) an optical diameter measurement instrument based on a reverse light extinction optical design to measure a hole diameter in <250ms using VB on the front end and motion control code on a RISC microprocessor.

Utilized Failure Modes and Effects Analysis (FMEA) to develop a model for system testing and event driven, finite state machines (EFSM) & timing diagrams to develop a time triggered, real time system for the hole drilling system.

Documented software using a Computer Aided Software Engineering (CASE) tool, digital hardware design, timing diagrams (UML), 350+ pages of documentation using MS Office & PowerPoint, installed the laser hole drilling system in China and provided on-site user training and system maintenance.

80% co-inventor of a clock speed constrained RISC microcontroller based, non-contact conveyor belt speed measurement instrument with a signal processing algorithm that uses 5 proximity sensors aimed at belt trigger points to precisely trigger 2 lasers for an FDA approved, pharmaceutical pill marking system. I refactored the C code to increase throughput by 200+% and prevented the firmware from time limiting the overall system.

Increased part throughput by 15% via motor/encoder upgrade and embedded software (C, AeroBasic, Visual Basic, RS274 G-code) of a time dependent, distributed, 4 processor, 8-axis, motion control system for automated parts processing while simultaneously increasing accuracy and repeatability.

Maintained constant laser energy and pressure levels at high altitude by using a laser energy sensor for a feedback control system implemented on a microcontroller using C & Assembly to integrate a TeoSys OEM Excimer laser into an FDA Programmable Logic Controller (PLC) biomedical device manufacturing system.

Design of customized laser systems for automation including: laser material interaction studies; laser energy, motion speeds and motor/stage tuning; designed mechanical part fixturing; calculated throughput; multiple axis motion system design & programming; gHMI programming using C, C++, VB with DirectX hardware overlays.

Developed a user configurable, generic graphical data logging interface application in VB which correlates real time, analog input data to “user units” using a 3rd order polynomial regression algorithm and provide continuous graphical charting of the interpolated user data as well as output to an external file for in-situ traceability.

35% co-inventor of a vertical surface displacement tracking system for transparent media moving along a conveyor belt to align a vertical motion stage containing a focusing lens to match media displacement and maintain focus at increasing belt speeds within +/-100 microns for Excimer laser marking using VB.

Streamlined manufacturing production process for a large biomedical customer to increase profitability while concurrently satisfying the customer’s request for Six Sigma verification, total part traceability and GMP.

Redesigned the catheter mechanical fixture using Ashlar Vellum’s CAD program.

Enhanced embedded software to perform 100%-part verification via machine vision and added in-situ 2D CAD overlays for video verification to my existing software using VB, C & C++ CAD libraries

Provided lot verification certificates per GMP & FDA

Reduced lot manufacture time by 38% and increased lot profitability by 33%

TeoSys Engineering, LLC, Crofton, MD 2/2001 – 4/2017

TeoSys Engineering: Project Management and Chief Technical Officer:

In January 2001, I negotiated a business agreement w/Potomac Photonics, Inc. to create a separate entity called TeoSys Engineering LLC to continue custom laser micromachining system design, development & sales. On February 7, 2001, I along with my supervisor, Potomac’s Director of Engineering, Emre Teoman (deceased), co-founded TeoSys Engineering LLC.

Primary customer liaison for requirements determination, user stories, dynamic story boarding, task allocation via statements of work (SOW), product development and verification & validation while maintaining adherence to the project roadmap using MS Project, Visio, PowerPoint, Excel & Word. Risk identification & mitigation.

Managed the software development department for all TeoSys systems and instruments that required high level and board level firmware.

Collaborated with my business partner to create the corporate mission statement. Created all corporate sales and marketing presentations for sales trips around the world.

Achieved corporate growth from a 500-sq. foot basement start-up in 2001 to a 5000-sq. foot manufacturing facility within the first 6 years while increasing gross sales by 1,275%.

After the 2008 manufacturing downturn, redefined the business model from 85% system manufacturing to 75% biomedical part manufacturing contract service provider while maintaining corporate profitability.

Managed the contract services and macro-fabrication tiers of TeoSys supervising 8 employees and contractors while maintaining continuous profitability. Mentored junior micromachinists on the proper procedures to achieve success in laser material interaction studies.

Established the corporate processes and procedures that enabled TeoSys to obtain its Maryland manufacturing tax exemption on the very first attempt.

Senior Embedded Firmware Engineer

Potomac Photonics, Inc. Lanham, MD 11/1996 – 1/2001

Consulting for a single client, Potomac Photonics, Inc, at their office in Lanham, MD from 11/96 until 3/2000 when I was hired as full time salaried employee.

Invented an image processing Application Programming Interface (API) scripting language using C++ creating an ActiveX OCX object for a multithreaded application. The destructive overlay uses DirectX to transfer video to the VGA card. The host CPU combines the CAD graphical data with the video data on the VGA card thereby achieving the CAD writable overlay

Co-invented (40%) the very first FDA compliant, Excimer laser diamond marking system in the world. Designed and copyrighted (100%) a fault tolerant, step based, graphical Human Machine Interface (gHMI) software allowing nontechnical users to operate a laser and motion micromachining system for laser inscription.

Enhanced existing micromachining IDE by developing my own 2D CAD API interface written in Visual C++ for the input of text and graphics into an HMI written in Visual Basic and using DirectX for display of CAD overlaying real time video camera input

Used event driven finite state machines, timing diagrams & FMEA to map software and hardware failure modes for an operational algorithm to enable single step functionality and to disable all out of sequence operations

HMI has resulted in one (1) software related “operator” error over the 50+ systems deployed

Increased laser/system communication speed by 20% by upgrading the Excimer laser control board to a COTS Z180 microcontroller and implementing the new firmware using C.

Copyrighted a micromachining IDE to allow motion control, laser and image processing programs to be written, debugged and executed using in Visual Basic and Visual C++. Used Microsoft Software Developers Kit (SDK), Windows API and Visual Studio to implement the IDE including:

1) An Editor ActiveX control to hold and provide a data structure for motion program generation;

2) 2D CAD interface for graphics and WYSIWYG display and manipulation indestructibly on a live video image window using hardware overlays via DirectDraw;

3) Recursive descent parser & compiler to translate the CAD data structure to a motion control program

4) Recursive Descent Interpreter to run & debug the motion control program on the laser system;

5) Live video display uses a non-destructive technique to bus master video data to the secondary GPU surface and uses DirectDraw to manipulate the CAD entities in the primary surface. Overlay is mixed with video data from the secondary GPU surface into the primary surface video via a chroma key;

6) The image processing API in C++ using Direct3D (DirectDraw) or software overlay.

Consulting Embedded Engineer 8/1996 – 7/1997

Consultant for Energy Controls, International, Inc.

Developed and delivered 15,000+ lines of Microsoft Foundation Class (MFC), Visual C++ code for a Multiple Document Interface (MDI) GUI, 2D CAD drawing application using DirectX or GDI+ with software overlays and relational database support in under 8 months. Used Microsoft Data Access Components (MDAC), ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC) to connect to the external databases formats including ISAM, Jet and SQL Server

Performed requirements analysis, modeling, and documentation of the systems engineering architecture of a proprietary, geostationary satellite communication system using the AxiomSys computer aided systems engineering (CASE) tool.

Wrote a System Engineering Technical Management Plan (SEMP) according to IEEE-1220 and in compliance with ISO 9001

Firmware Engineer

Pacific Scientific, Inc. Silver Spring, MD 3/1995 – 8/1996

Implementation of 14,000+ lines of CISC Motorola 68341 firmware using the WindRiver C compiler and Tornado BSP for a laser light extinction particle counter used for sizing and counting particulates in fluid.

Developed a real-time, multi-tasking operating system for the Motorola chip in embedded C.

Tested the Texas Instruments TMS320C25 DSP and Motorola mixed chip hardware on the in-house designed PCB using an in-circuit emulator (ICE) via JTAG interface, two function generators and a digital oscilloscope.

Wrote black box test cases for hardware peripherals to verify functional requirements. Simulated the firmware data collection input rate up to 30KHz using a function generator. Verified firmware counting operation using a logic analyzer. Diagnosed race conditions using a digital oscilloscope.

Requirements analysis for the System Architecture for the particle counter resulting in a formally reviewed Software Requirements Specification (SRS). Verification that software requirements were achieved and upwardly traceable. Wrote the System Engineering Management Plan in compliance with ISO 9001. Wrote and implemented the Software Test Procedures.

Firmware Engineer

Noise Cancellation Technologies, Inc. Linthicum, MD 8/1993 – 3/1995

Requirements analysis and design using a CASE tool resulting in a formally reviewed and accepted Software Requirements Specification and Design for a real-time, distributed, multiprocessor, feedback control system to performed active signal noise detection, sound identification and cancellation in aircraft.

Specified, designed and implemented a real time, multitasking, priority based, multithreaded, pre-emptive, real time operating system for an unreleased Analog Devices DSP chip in assembly using SourceSafe. Used the stack for context switching and an indexed heap data structure to store waiting processes.


MS, Computer Engineering, National Technological University - Fort Collins, CO

BS, Computer Science, Tulane University, School of Engineering – New Orleans, LA

Computer Architecture (Certificate) National Technological University - Fort Collins, CO

Software Engineering (Certificate) National Technological University - Fort Collins, CO


“Embedded Software Controlling 10 Axis Motion Control System”, LinkedIn, 2017

"LaserMarker – Scripting Language, Translator & Code Generator R3", 2000, updated 2016!Alc9IWRBsus8gZ0n06DtU7osEOVLtw

"Instrumentation & Software for Laser Beam Profile Analysis", 2014, updated 2016!Alc9IWRBsus8gZ0elXEmJ3LwD21XTg

"An Instrument for Transparent Surface Profile Detection for Excimer Laser Auto-Focusing", 2010, updated 2017!Alc9IWRBsus8gZ0f69ieFhwif2K8xw

"Loading parts onto Index Plate", 2015!Alc9IWRBsus8gc81Aw31oAV3V5_Gwg

"Hole Drilling Software Interface", 2015!Alc9IWRBsus8gc8xjf2E_RUT3z-Fgw

"software interface to a TeoSys made hole diameter measurement instrument", 2015!Alc9IWRBsus8gaMaH_rYZIFmCjQ00Q

LMS 5000 Systems Manual!Alc9IWRBsus8gc9LO4MkxUjatA8t7g

LMS 5000 Software Manual!Alc9IWRBsus8gc9FqIww3FUutuXgVA

"Fault Tree Analysis as a Systematic Method of Generating Module Test Cases for a RTOS", 1995

Contact this candidate