Software engineering, software patent litigation support, research and development, problem solving, and successful execution of product engineering development and project planning activities.
Technology Skills Overview:
- Automated DNA synthesis generator using standard 96-well microplate consumables. The software system was developed using a Linux x64 SBC. c++ Linux -with a Qt GUI front-end. Custom fluidics control system configured with multiple volumetric pumps and a complex network of switchable micro-valves.
- ARM M3 bare-machine C code that performs fast thermal control cycling and optical signal measurements. IAR Embedded Workbench tool-set.
- Ultra-low power STM32L4xx ARM M4 software development. Used Nucleo-64 STM32L476RG dev board with CMSIS/FreeRTOS, ST JTAG/ST-Link debugger, Keil and Atollic IDEs, and STM32CubeMx configurator. Generated and tested HAL compatible USART async continuous streaming interrupt-based receiver sub-systemin c.
- ARM IMX6 Ubuntu 14.04 medical device control software development using Linux PREEMPT_RT PThread priority based soft real-time control. Cross development on an X86 VMWare cross-development platform, using QtCreator 3.5.1 remote debugging to ARM target.
- ARM IMX6 Debian Jessie Linux based Xenomai real-time custom I/O board bring-up and diagnostic tester application.
- Qt graphical interface design and automation control software for ARM based bio-medical device. Required generating a VMWare-based guest x64 Ubuntu environment that offers a cross development tool-chain with Qt5.5.1 SDK and QtCreator 3.5.1 and produces target code for an IMX6 (Variscite) ARM platform running Debian Jessie with Xenomai 3 dual-kernel configuration.
- Embedded Linux based control software using Qt5 cross-platform toolkit for battery operated instrumentation.
- RT and Digital Polymerase Chain Reaction (PCR) assay instrument control software running on an Advantech Windows embedded single board computer. Sony Blackfly camera used for imaging.
- IEEE 802.11and ZIGBEE/Jen-Net wireless network based industrial lighting control software on an embedded Linux OpenWRT Atheros AR9100 small foot-print microcontroller board.
- I2C and USB link troubleshooting tools
- Raspberry Pi (BCM2835) ARM embedded module data acquisition software.
- QSFP28 (100Ghz) and QSFP10(40 GHz) fiber network transceiver control and test software.
- Forensic analysis of software architecture and code structure for patent litigation support.
- In-depth knowledge of Intel PC and microcontroller hardware platforms, including the more commonly used bus interconnect technologies (PCIx, USB, I2C, SPI, CAN, MODBUS, IDE, SATA, SCSI, PC-104, etc.).Recent low-level optical signal oriented development using the Silicon Labs CP2112 USB-to-I2C device controller. Silicon Labs 5040 BERT, MACOM 37049Bert, and various TIA transceiver chips.
- Expert C, C++, C# development skills, and ~ two years JAVA SE development experience. Have used and am competent with Perl, Python, VB, various other OOP, strongly and dynamically typed, and block-structured high-level languages. Have developed in several assembly languages.
- Compilation technology: skilled in quickly generating robust custom parsers, lexical scanners, and specialized domain specific interpreters and language processing tools.
- SEMI Standards Factory Automation expertise. SECS/GEM, material transfer, recipe management, etc.
- Windows desktop and Windows Embedded applications and systems development. Visual Studio 2013, VS 2012, VS 2010, VS 2008, and VS 2005 IDEs. Very skilled with both unmanaged and managed (.Net) application development, including GUI and non-GUI applications, DLLs, and native assemblies.
- Debian and Redhat Linux application and systems development, including development and modifications to a number of custom kernel modules. Competent with the Gnu tool-chain, using both Eclipse and command line tools. Retrofitted an Ubuntu 10.04 LTS installation with a non-standard kernel. Have experimented with Android development using JAVA.
- Expertise with various commercial RTOS systems, including VxWorks, Tenasys Intime, QNX, etc..
- Data communications software development, including extensive Windows and Berkeley sockets, TCP/IP stacks, Ethernet (copper and fiber), WLAN (802.11x), Telnet, FTP, as well as HTTP web-based service application development. Have experience developing with and configuring various web servers (Apache variants, IIS, Pion, etc.).
- Expertise with common source code control systems (SVN, Git, CVS, etc)
Recent Projects:
- Medical device software for touch-screen based embedded ARM running Debian Jessie for an RF generator based minimally invasive nerve tissue manipulation system. Achieves sub-10 ms hard real-time operation via integrated Xenomai v3 dual-kernel facility.
- Hand-held (battery operated) clinical testing instrument based on embedded linux running on an NXP imx6 ARM small-footprint module. Control software using Qt5 cross-platform toolkit.
- Digital Polymerase Chain Reaction (PCR) assay instrument control software development. Development of Windows based control software for multi-channel thermal cycling module and high resolution imaging device. Target processor is an Intel x64 running Windows 10.
- RT Polymerase Chain Reaction (PCR) assay instrument control software development. Development of ‘c#’ control software that drives a serially connected multi-channel TEC Peltier heating/cooling module, multi- axis stepper motor controller, a USB connected Phidgets multi-IO adapter, and a GigE connected digital imaging system. Target processor is an Intel x64 running Windows 7.
- IEEE 802.11 and ZIGBEE/Jen-Net wireless network based industrial lighting control software development. Developed embedded lighting control algorithms in ‘c’ language for the OpenWRT embedded Linux, which also operates as an embedded WLAN access point and IP router. Cross-platform development with Eclipse in an Ubuntu 14.04 LTS x64 box. Target is a small foot-print headless 32-bit Atheros MIPS processor.
- Development in C++ of a configurable data acquisition scanner application for a Raspberry Pi (BCM2835) ARM module running Linux.
- QSFP28, QSFP10 and CFP10 optical network transceiver control and test software development. Programmable control of Keysight/Agilent 86100 DCA optical and RF oscilloscope, TEKTronix DSA8300 optical oscilloscope, Yokogawa Optical Spectrum Analyzer, and Yokogawa mainframe test rack with power meter, attenuators, and optical switches.
- C# .Net development of an embedded communications interface for a cardiac surgical monitoring device.
- Litigation support expert consultant for a patent infringement case, representing the plaintiff. Extensive Claim Chart development and evidence collection. Involved a large volume of process and machine control software developed for the Windows environment. The contested software includes projects developed using Windows Visual Studio C++, C, Delphi, Visual Basic, Pascal, and Visual Fortran.
- Migrated Windows applications developed in C++/QT from Windows 2000 to Windows 7. Required porting the GUI applications from QT 3.3.6 to QT 4.6. This is the GUI front-end computer for a semiconductor Rapid Thermal Processing annealing chamber.
- Systems software consultant on deviated septum surgical device prototype. Worked with client mechanical and electrical engineers to develop a rapid prototype application to demonstrate ‘proof of concept’ for a new nasal surgical device. Used Windows 7 MFC and field-bus IO devices.
- Systems development using Windows Embedded (XPe FP2007) to re-engineer a medical device that optically measures oxygen content in skin tissue (an oximeter). Worked with in-house EE to replace an out- of-production x86 based SBC with a modern Geode based LX800 SBC. The system uses Compact Flash for persistent storage, and the Enhanced Write Filter capability to extend life of the CF drives.
- Systems software developer responsible for the design and implementation of two separate 40 GHz Fiber SFP device transceiver testers. The tester main system controller is a Windows 7 rack mounted industrial PC running a custom Windows C++ GUI application with real-time graphic plots that renders a set of run-time generated temperature/power Bit Error Rate curves. Each tester system communicates and controls several off-the-shelf hardware measurement instruments via USB, GPIB and I2C connections. The transmit tester system uses a high-end Agilent 86100C optical/RF range oscilloscope that is configured and controlled by the primary tester PC computer.
- Systems software development for a 10 GB fiber-optic and 1 GB copper network monitoring equipment supplier. Developed, tested and documented (i) a programmatic remote access configuration SDK library with client support for Windows native, Windows .NET, and Ubuntu Linux, and (ii) an XML-based RPC web-service for a network monitor. The web-service logic resides in the network devices embedded Digi ARM Linux firmware. Used libCurl and libXml2 for Linux development, and on the client used WinHTTP and MSXml6 under Windows. Support provided for both HTTP and HTTPS transport layers.
- Network monitoring tool software supporting Packet over Sonet, and hardware assisted TCP/IP.
- Development of a Network Management System (NMS) client application in Java SE.
- Systems industrial automation software development for a major new solar panel manufacturer in the South Bay area. Developed automation software for a custom over-head gantry and conveyor system for processing glass solar collectors. Development is in C#, VB, and C++.
- Systems software development for a small product engineering group in the North Bay area. Developed an asynchronous communications library for connecting a new occupational exercise strength testing machine containing an embedded microcontroller to a HID display panel computer with an embedded 8051 processor, as well as an ARM9 running Ubuntu Linux. Development was in Gnu C (gcc).
- Systems software development for a startup bringing to market an innovative web-based graphical front-end system which automates the fabrication and rapid prototyping of machine parts for engineering development houses world-wide. The system uses various web-services and runs on a Linux back-end server. Leverages WxWidgets, OpenGL, Mesa and other open source packages for efficient 2D mechanical drawing rendering. Development was in C/C++.
- Systems engineer for a wireless navigation and communications wearable computer system. Project funded by the US Govt Future Weapons Systems program. Development environment was RHEL 5.3 Linux, QT 3 & QT 4, Gnu tool-chain with C/C++. Target was an Intel ATOM processor running Linux.
- Bring-up of an embedded TinCan ARM based Linux microcontroller.
- Senior software engineer on a project to re-engineer a real-time image capture system that sorts moving articles on a high-speed conveyer into various categories. Replaced a legacy PC controller with a new dual core rack mounted (U2) Corvalent industrial PC, a new video frame grabber (DALSA X64 Xcelera-CL4), two new DALSA S3 Spyder line scan cameras, and the TenAsys INtime Windows co-resident RTOS. The GUI is based upon Windows Embedded XP Standard. Development was in C/C++.
- Enhancement and debug of a firmware driver for an RS-422 based remote geo-mechanical drilling probe used in the mining and construction industries, using .Net on Windows XP. C++ and C#.
- Integrated a commercial SECS/GEM protocol library into an Eagle Test mix-signal multi-mode chip tester. Development was MFC C++.
- Setup an IIS web-server and Apache server; familiar with Apache module development, HTTP clients.
- Designed and implemented a prototype multi-channel embedded SCADA data collection controller using the DNP3 network protocol. Utilizes the Debian Linux SSL secure sockets layer network protocol. Software is written in the C programming language, and uses the ‘pthreads’ library with the standard Gnu tool-set.
- Participated in the development of ground support telemetry software for the CNOFS Ionospheric forecasting satellite, to be launched in May of 2008. Targeted for the Sun Solaris environment using the C programming language.
- Lead developer for a a state-of-the-art high-temperature thermal processing wafer annealer. Managed a team of four developers in migrating source code from an existing product, while engineering a substantial body of new software to accommodate a third-party cluster tool platform. VxWorks 5.6 and Windows XP were the primary operating systems, while various other proprietary embedded micro-controllers were also integrated for the required sub-system controls (pressure, rotation, etc). GUI based upon QT. Development languages were C and C++.
- Designed and implemented an industry standard network protocol library on an embedded ARM9 single board computer for the semiconductor and FPD manufacturing industry. This is a SEMI E37/E4/E5 protocol stack. Utilizes Linux with a Gnu tool-chain with a C compiler/linker development set.
- Spanning a period of twenty (20) years participated in the development of industry standard semiconductor manufacturing equipment automation interface tool-kits, including the internal development of leading product software tool-kits offered by GW Associates in Sunnyvale, CA (later acquired by Peer-Group). During this period directly designed and implemented over twenty (20) distinct client semiconductor equipment factory automation interfaces compliant with the SEMI E4, E5, E37, E30, E87 and other communication standards. Target equipment vendors included Applied Material, TEL, Mattson, KLA-Tencor, ASM, Veeco, Nikon, and several others.
- Proof of concept evaluation to determine if Lucene search engine was capable of hosting a web-based patent search engine.
- Participated in the design and implementation of a wearable computer system with a mapping-navigation feature. This was the prototype implementation of the US government’s LandWarrior system. Utilizes an ARM9, P4, and several embedded microcontrollers, with support for 802.11 wireless video, range-finding, and VOIP. Development environment was MS Visual C++ for Windows; target was Windows CE.
Detailed Technical Skills Inventory
SW/HW Tools | JTAG, Aardvark & Beagle I2C analysis and troubleshooting, Gdb, Visual Studio, Eclipse, MS-Windows Embedded Component and Target Designer, Gnu tool-chain, Rational UML, OOP, IEEE, Schlaer Mellor, Trolltech QT cross-platform GUI, WxWidgets, XML |
Languages | C++, C#, C, .Net, Java, Javascript, Python, Perl, Ada, Pascal, VB/VBA, and Assembler for Intel 80×86, Motorola 680×0, ARM |
Operating Systems | Debian/RedHat Linux, Unix, Windows Embedded/CE/7/10, TenAsys InTime, VxWorks, & various other RTOSes |
Processor Hardware | X86/AMD64/Pentium, ARM (IMX6, IMX8, STM32L4xx, BCM2835, ARM7, ARM9 and XScale), ATOM, PIC, M680x0, Z80xxx |
Databases & Web | MySQL, MS-SQL, Oracle, Apache server, HTTP, IIS, Lucene search engine, OpenGL, Xerces XML parser |
Project Tools | Microsoft Project, SVN, CVS, Git, Rational Rose |
PATENTS: | No. 864492 filed on 2001-05-23 – Role-based IP multicast addressing in a wireless LAN. No. 866097 filed on 2001-05-23 – Multicast wireless ad hoc packet routing. |
PROFESSIONAL GROUPS: | Long-time member of professional associations including ACM, IEEE, and PATCA. Served in a variety of board and committee positions. IEEE ACM PATCA |
EDUCATION: | B.S Degree – Information Systems Management, University of San Francisco, San Francisco, California 1986 Other electrical engineering, computer science and professional-development related course-work completed at Stanford University, San Jose State University, University of Texas (UTA), and University of New Mexico. |