Gyan Technologies, Cheyenne, Wyoming – Firmware/Hardware/Software/Electrical Engineer for various clients (various times 1995 - Present; some of these clients are also listed elsewhere in this resume. They are marked, “Gyan Technologies”):
o Numerous Clients in Automotive (e.g. Takata, automotive-industry DADDS program), Oil and Gas (Welldog), Scientific, Defense, BioMedical (Bio-Rad, Medtronic), Law Enforcement, Security, and Consumer industries. Developed in-house embedded OS. Develop system software, tools, embedded hardware and firmware for clients.
o Replace existing embedded system (Atmel ATSAMD21 ARM) with Espressif ESP32 IoT for remote data gathering.
o Schematic Capture and PCB layout using Mentor Graphics Expedition PCB and Cadence OrCAD.
o Incorporate LCD/touchscreen LCD panels, mobile phone camera (YUV / YCbCr 4:2:2, 4:0:0 sub-sampling and JPEG video), and LCD/Camera controller into instrument for DoD. Utilized knowledge of digital color spaces to transfer images and video from camera to LCD controller to the LCD panel (RGB 5:6:5, etc) and to a host embedded processor. Designed and routed PCB hardware interface to LCD/touchscreen panels. Utilized mobile-phone components (e.g. 2.2 inch and 1.8 inch LCD panels and touchscreens) in microBGA packages. Incorporated LED backlight controllers and wrote software to control the LCD/touchscreen backlight.
o Firmware downloads over wired and wireless (OTA)
o Develop inter-processor communications via dual-port RAM by directly manipulating MMU tables and registers.
o Develop FPGA configurations using Verilog/VHDL for Xilinx / Altera / Lattice FPGAs and CPLDs (e.g. Zynq, Spartan, Virtex, MachXO/MachXO2 and Stratix).
o Involved in development for 21CFR certification of devices.
o Work closely with other engineers to specify, develop, debug, and test systems.
Takata, DADSS, etc (multiple companies in the Automotive Industry), Los Angeles, Chicago, and Boston Areas (Gyan Technologies) – Senior Firmware and Hardware Engineer: 2013 – 2019:
o Designed and wrote firmware and assisted designing hardware for Human-tissue non-invasive Alcohol Detection system. Distributed-CPU environment controlling a laser array. I2S, I2C, CANbus, LIN, SPI, Flash and F-RAM devices, SD Cards, CANbus, LIN, etc. Developed hardware for the Automotive Environment . Configure ADCs, DACs, amplifiers, lasers, TEC Coolers, etc.
o Developed CANbus boot loaders that allowed firmware updates over CAN.
o Developed controls for reading various sensors with haptic feedback, MEMS Devices, power supply control, etc in real time in a distributed-CPU environment for major automotive manufacturers.
Bio-Rad Laboratories, Oakland, CA. (Gyan Technologies) – Senior Firmware and Hardware Engineer. 2016 – 2018:
o Developed adapters (hardware and firmware) for stepper motors. Implemented quadrature decoders, etc. to control stepper motor-controlled valves for HPC (high-pressure chromatography). Incorporated Trinamic stepper motor controller chips into the design and wrote firmware to same. Developed C#.Net R&D applications for control.
o Incorporate ARM modules (e.g. Boundary Devices SOMs) into medical products. Load Uboot and Linux custom images to SD card and boot it (Yocto Project) with attached display for touchscreen control of medical instruments. Develop custom Yocto Ubot and Linux images. Utilized QT5 and QT Creator.
Metrohm / Snowy Range Instruments, Laramie, WY (Gyan Technologies) – Senior Firmware and Hardware Engineer. 2013 – 2016:
o Principal/Lead Linux Embedded Engineer for clients: Used Embedded Linux and MQX concurrently on the same platform in NXP ARM multi-hetero-core (A5 + M4) environment. Used QT5/QT Creator GUI development environment. Utilized galvanometers and stepper motors to precisely position mirrors to direct lasers for remote sensing of contaminated surfaces. Developed systems for BLDC motors. Used Schematic Capture and PCB Layout tools.
o Utilized galvanometers and steppers to precisely position mirrors for lasers.
o Developed encryption to secure IP rights in hand-held ARM Linux devices and assisted others to deploy it. Wrote encryption applications utilizing accelerated hardware (C), on Linux, and on Windows (Python).
o Added Wi-Fi and Bluetooth module to system and configured Linux device drivers for it.
Hewlett-Packard, Fort Collins, Colorado – HP Storage (“StorageWorks”) Division. Systems/Software Engineer V / SW Engineer QA III (2007 – 2012)
o Architect and developer of HP Cloud Automation Infrastructure (“AI”) built around VMware ESX / Labman and HP MSA and EVA storage arrays - HP Storage iBRIX product family. Wrote extensive infrastructure framework to automatically provision, deploy and manage VM clusters and physical machines in the cloud, established communications between the cloud and users, provided Network control, and automatically undeploy and unprovision resources. Automatic clusters suspend / poweroff in case of error and save state for manual analysis. Set up and managed cloud datastore on top of HP’s MSA and EVA storage products. Created distributed resource pools of components (VMs, physical servers, iSCSI storage, networks, test suites) for automatic provisioning. Infrastructure in the cloud was built dynamically from these components based on high-level abstraction description. Users could choose which components to use based on datastore (if user didn’t care, it was chosen automatically), etc.:
o The AI sets up and manages clusters (or just single machines) via scripts supplied by users. AI supports user scripts written in Python, Perl, C/C++, and Java. Used SWIG locally or on remote machines (physical and virtual). Used STAF (Software Testing Automation Framework – OpenSource) extensively. Adaptable to any test harness. The AI also used many other OpenSource projects. Generate extensive reports. Wrote facilities to automatically write results to MySQL, email reports, schedule resources and deployments, etc. Designed high level description file formats for provisioning abstraction, testing, and other purposes.
o Developed major sections of the AI including the scheduler, VM interfaces, Cron, Resource Scheduler/Manager, Network Control, user command line interfaces, user configuration files’ format, checkpointing, logging/debugging, etc. Works with both clouds and physical machine clusters. Developed VMware Labman interface for automating suites on VM Clusters (Linux and Windows). Designed and wrote facilities to automatically generate and email reports. Used with many third-party testing harnesses (such as QA run, fsSmoke, Mantis) and facilitates working with other test harnesses. Designed to be able to test pretty much any kind of product, software or hardware.
o Saved hundreds of man-hours per month by creating automated Windows parallel build environment to work in the cloud. This allowed product builds to be completely automated for multiple users simultaneously. Used Cygwin and OpenSSH and leveraged work done by others. Shared this configuration so other engineers could use it as a template for their own cloud build servers.
o Collaborated with QA developers to deploy File System Smoke Test Harness (“fsSmoke”) in a virtual environment using the AI Framework. Collaborated with QA Developers to migrate their test harnesses to the AI Cloud.
o Developed automated Fault Injection utilities and tasks for the team’s Automated Infrastructure (AI). In addition to allowing all developers and managers to more easily perform and track regression testing, these allowed control of Ethernet and Fiber ChannelNetwork switch ports and controlling power to individual blades and servers using HP’s OA (Onboard Administrator), iLO (Integrated Lights Out) via SNMP, XML scripts, TCL, Expect and Perl.
o Release Management and Linux RPM packaging builds. Installed and administered Bugzilla. Automated QTP (Quick Test Pro) in HP’s AI.
o Convert legacy test harnesses to local requirements for HP Storage Division’s needs
o Wrote extensive documentation for both users and developers. Collaborated with others to review manuals.
o Led Wipro contractor team.
o Mentored junior engineers. Mentored new/incoming members of the team.
o Constant collaboration with other teams in the US and internationally. Gave technology presentations.
o Became very familiar with HP Storage Cluster products. Set up and tested SAN/NAS arrays. Config iSCSI disks to Linux systems. Collaborated with other developers to review test scripts and suites.
o Developed SNMP tools for controlling Ethernet Switches, power, and other devices.
o Set up and tested performance of InfiniBand network for iBRIX cluster using InfiniBand switches. Setup and administer team development and testing servers.
o Developed Kickstart (PXE Boot scripts/configurations for bare metal installation automation) configs for Linux and Windows OSes for various HP teams and helped them deploy them.
Broadcom / Precision Tech, Fort Collins, Colorado (Gyan Technologies) – Firmware / Hardware / Software / Electrical Engineer, 2006 – 2007:
o Ported Linux kernel and system to ARM-based chip (ARM926EJ-S MCU) and Broadcom board that booted from flash, executes in place (XIP) and uses a small amount of RAM. Targeted for a fingerprint sensor. Board Bring-up from bare metal to operational Linux command line via BusyBox, etc. Project Leader.
o Created x86 Linux embedded systems with optical drive boot (no hard drive). Developed builds and scripts to assist embedded system bring up. Incorporated graphics, etc onto read-only filesystem.
Medtronic/Covidien, Longmont, Colorado (Gyan Technologies) – Senior Hardware/Firmware/Software Engineer 2008-2009: Code Reviews for Embedded Systems written in C. Reviewed embedded software for a multi-cpu system according to Covidien’s internal coding standards for Tumor Ablation Products.
Hewlett-Packard, Fort Collins, Colorado: Advanced Telephony Compute Architecture (ATCA) Embedded Systems (Gyan Technologies) – Test Engineer (2005 - 2006): Embedded systems programming (Linux), qualification, and testing on x86/x64, ARM CPU systems, and CPU blades. Develop C programs and Perl/Expect scripts for short- and long-term testing. Setup/Provide necessary internal Linux infrastructure internal and external to ATCA chassis for PXEbooting, DHCP, etc for development, debugging, and testing. Develop user interface to PXEboot various operating systems in specific slots. Qualify/verify that vendors’ ATCA components (Shelf Managers, Ethernet Switches, PEMs, Chassis, CPU blades, etc) conform to PCMIG specifications and interoperate with each other. Found numerous defects in vendors’ ATCA components and reported these in HP’s internal ABE Defect Tracking System.
Welldog, Laramie, WY (Gyan Technologies) – Senior Firmware and Hardware Engineer 2005 – 2016:
o Developed 100% of the firmware for down-hole spectrometer for Oil and Gas industry. Debugged hardware for in-house developed equipment that was sent 3,000 – 5,000 feet down a well hole (harsh environments).
o Led development of Raman Spectrometers using embedded CPUs, CPLDs Xilinx CPLDs.
o Wrote bare-metal “OS”. Use PID control techniques to control Peltier Coolers, current draw, temperature, etc.
o Utilize knowledge of Verilog and FPGAs to develop and debug real-time systems.
Other Clients / Older Work History. For further details on these, please contact me.
Syndrome Corporation, Cheyenne, Wyoming – Senior Hardware/Firmware/Software Engineer/Design: Develop FPGA configurations using Verilog for prototyping products using Xilinx and Altera FPGAs and CPLDs (Spartan, Virtex, and Stratix Families). Develop hardware from design to PCB layout and fabrication to RTL.
Shuffle Master, Inc., Fort Collins, Colorado –Project Lead/Systems Engineer - Embedded Linux, Embedded Hardware/Firmware/Applications Development
AT&T Bell Labs / Lucent / Avaya Communication / Gyan Technologies, Westminster, Colorado. Senior Systems Development Engineer / Senior Systems Analyst:
o Develop code in C, Perl, shell, awk, etc. Developed extensive web interface for administrative functions using Perl cgi-bin. Assist in discovering and fixing Unix kernel, driver, and library bugs; apply enhancements to same.
o First contact for "triage" team - emergency response to field support escalations for North America and the Pacific Rim.
Senware, Broomfield, Colorado. - Senior Software Developer
Develop Perl code for Automatic Oracle Database Tuning Tool. Develop Unix packages for Perl scripts and SQL code. Install Oracle Database software.
The Wyoming Operation, Inc. (TWO Corp), Cheyenne, Wyoming - Director of Network Operations. Chairman Of The Board. Principal: Develop admin tools and Perl cgi-bin scripts. Wrote Linux web-based automated user administrative and billing system. Configured Cisco Routers for ISP operations.
Government of the State of Wyoming, Laramie County, City of Cheyenne, Cheyenne, Wyoming. - (Approved Vendor) – Linux/Unix Consultant: Develop code, etc.
J.D. Edwards / ADIA Information Systems, Denver, Colorado. Senior Analyst: Write shell, awk, and other scripts. Develop porting plan and schedules. Work closely with Windows programming staff.
US West / AT&T-GIS / ADIA Information Systems, Denver, Colorado. Senior Analyst: Sybase development and server porting to UNIX: Implement/rewrite UNIX system calls and SQL using C++. Ported company-wide sales database system to Sybase/C++/SQL. Design/implement server architecture. Wrote shell scripts to automate field package installation.
Tandem Computers / ADIA Information Systems, Denver, Colorado. Senior Programmer Analyst: Distributed Applications Services (DAS) port from UNIX. Also wrote various tools using shell scripts, awk, sed, and Perl.
Resource Solutions International / SHL Systemhouse / Interactive Systems / Kodak, Boulder, Colorado. Systems Engineer: Optical Storage Systems Developer/Engineer.
Chemagnetics / Otsuka Electronics, Fort Collins, Colorado. Product Engineer for Magnetic Resonance Imaging (MRI) and Analytical Spectrometers
Compu Systems Corporation, Laramie, Wyoming. Engineering Manager, Director of Engineering
Education: M.S. Electrical Engineering, University of Wyoming. B.S. Electrical and Computer Engineering (Chemical Engineering Minor – undeclared), University of Wyoming. Passed the E.I.T. (F.E.).
Certifications: ASTQB / ISTQB Certified Tester, Foundation Level (CTFL); Agile Certified ScrumMaster (CSM)
Hardware Tools, PCB Tools, Devices, Databases, Compilers, etc.: IAR Embedded Workbench, Microchip MPLAB XC32, Atmel Studio, IAR, Keil, Atmel Studio, Atmel Studio Framework (ASF), TruStudio, STM32CubeIDE, ARM DS-5, e2 Studio, QT5, QT Creator, Eclipse, Processor Expert (Freescale), Mono (Cross-platform .NET), Xilinx Vivado/SDSoC/ISE/EDK/Platform Studio/ChipScope Pro, Altera Quartus/Nios II/Megacores, Lattice Diamond, Active-HDL, Mentor Graphics ModelSim, GNU C/C++ (native and cross-compile), GDB, Arduino, National Instruments, Hewlett-Packard AI (HPAI), Quick Test Pro (QTP), IXIA, Spirent SmartBits, ExtJS Application Framework, Catalyst web application framework, Eclipse IDE, Mellanox Voltaire InfiniBand switches, Makefiles, , GNU Emacs (for use with GDB), RealView Development Suite and debug adapters, UNIX System V Native C Compiler, Oracle, Sybase, Veritas File System (vxfs) and Veritas Volume Manager, Subversion (SVN), Collabnet, HP Softbench, SunOS C compiler, nroff/troff/ditroff/groff, regular expressions (regexp), Brocade FibreChannel switches, OASYS (Green Hills) 68000/10/20/30/881/851 C Cross Compiler, OASYS (Green Hills) Cross Compilers and Assemblers, UniFLEX Native C Compiler and Assembler, Microsoft C, Microsoft Macro Assembler, Xilinx Spartan FPGA Families, Altera Stratix FPGA Family, Mentor Graphics Expedition PCB, Cadence OrCAD, Eagle PCB, Agilent 16700A/B Logic Analysis System and Digital Storage Oscilloscopes, Hewlett-Packard 1650B Logic Analyzer, Tektronix Storage Oscilloscopes, Synplicity Tools, CUPL Logic Compiler/Simulator, SPICE, AutoCad, Microsoft Office, PXEboot/bootp/DHCPd config, Bugzilla, ISO 9001 Process Quality Control, Release Management, Memory Management (with and without MMUs), etc.
Microprocessor, Embedded Processor, and FPGA Expertise: ARM Cortex-A5, Cortex-M4, (Freescale/NXP Vybrid VF65/i.MX6/Kinetis K60/ S12/S12X, Renesas RZ (IoT), Espressif ESP32 (IoT), Azure Sphere MT3620 (Cortex-A7), etc, Boundary Devices and various other vendors’ ARM modules, Xilinx Zynq-7000/Vertex/Spartan, ARM 926EJS, Atmel (AT32UC3, mega, xmega, tiny, AT90CAN, SAM), ST Micro STM32, Microchip dsPIC33F, Arduino, MC9S12XDP512 (Freescale S12/S12X), 8051 (and variants), Silicon Labs C8051Fxxx, Xilinx Microblaze/PicoBlaze, Altera Nios II, Altera Stratix/Cyclone, Cypress PSoC, Maxim/Dallas DS80C400, PowerPC, XPORT, Rabbit RCM2200, SPI, I2C, CANbus, SPARC, UltraSparc, IPL (Itanium), MIPS R3000, 68030/68000 family, 6809, 8085, 6502, Z-80, ATCA, VMEbus, PC-ATbus, SBus, VXI, x86 (32- and 64-bit), IA-64 (Itanium/IPF). MEMS Devices. Trinamic TMCM module /TMC chip stepper motor controller families.
Other: Cheyenne Engineers’ Club: President, Vice President,
Wing Leader, Wyoming Wing, Angel Flight West, National Medical Charity
President and Founding Member, Cheyenne Flying Club
Board and Founding Member, Wyoming Pilots’ Association, a Non-Profit Org