JOE DREWN

Embedded Software Consultant

joedrewn@LACoopConsulting.com

www.LACoopConsulting.com

(603) 657-4189

 

SKILL SUMMARY

·         Specialize in rapid design/prototype/production of high reliability, low power systems.

·         Real time embedded applications and driver software development in C/C++/ASM utilizing both object oriented (OO) and functional design.

·         PC GUI application, configuration, boot loader, and user interface Windows .NET/C#/VC++/MFC/COM/DLL programming.

·         Experience in telecommunications, medical, biotech, industrial, commercial, and military (previous secret clearance).

·         Systems integration experience in harsh (high current/voltage EMI) and small package environments.

·         Code reuse library creation/maintenance, automated regression/validation testing, and a repeatable design/development approach that results in predictably scheduled project successes.

·         Utilization of custom and commercial RTOSs on 32/16/8 bit uP/uC/DSP platforms.

·         Device driver development for memory/port mapped, interrupt/polled, commercial/custom hardware with and without RTOS support.

·         Software and hardware development for diagnostics, POST, and automated manufacturing test/burn-in.

·         Embedded microcontroller/microprocessor hardware design, system analysis, and firmware integration utilizing in-circuit emulators, debuggers, analog/digital scopes, and logic analyzers.

·         DSP filter design and signal generation. 

·         Protocol/Bus/Comm:  ZigBee, Bluetooth, 900MHz and 2.4GHz Wireless, VoIP, RAS, E1/T1, TDM, TCP/IP, USB (HID/VirutalCom/Bulk), UDP, FTP, SNMP, SMTP, IMAP, SD flash, CAN, RS232/422/485, AT SBC, MIDI, SPI, I2C, 1-wire, LPT, ISA, PCI, JTAG, GPIB, Iridium SATCOM, WaveCom GSM, LOS Radio, V.92 modem, PWM and DAC WAV audio generation.

·         RTOS/OS:  PowerPac/embOS, uC/OS-II, VxWorks, Pharlap, DSP/BIOS, Windows Embedded/CE 6.0/XP/2000/NT, DOS, UNIX, Linux, custom.

·         Languages/Applications:  C/C++, VC++/C#/.NET/MFC/SDK/COM/MAPI, ASM, Java 2 (JDK 1.3), Python, VB, Perl, Make, VHDL, ABEL, LabVIEW/CVI, TI Code Composer, IAR, MPLAB, Metaworks, Tasking, Keil, MATLAB/SIMULINK, Orcad, Mentor Graphics, Pads, Protel, Altrium, ClearCase, CVS/SVN, StarTeam, SourceSafe, SQL Oracle, Database, MSWord/Excel/PowerPoint/Access, FrameMaker.

·         Microprocessors/Microcontrollers/DSPs/Hardware:  ARM7/9/11/CortexM3 (LPC2000, STR9, i.MX31, STM32, Stellaris), SH4, PowerPC (MPC8260 and PPC405GP), x86, TMS320c2/3/5/6xxx, c166 (Infineon xc2267), 87c196, MPS4301/2/4/5xxx, Cypress PSoC, 8051, PIC18/16, Z80, Xilinx/Actel FPGA, ASIC, CPLD, PAL/PLD, TSI, SLIC/SLAC, Flash/EEPROM, DRAM/SRAM, ADC/DAC, PWM, codec, POTS, UART, Timer, Interrupt Controller, DIO, AC power control, SCR/triac, stepper and linear motors, IR and visible lasers, actuator, touch/graphic/dot matrix/alphanumeric/custom LCD/OLED displays, 7 segment LED, keypad, button/switch, LED indicators, accelerometer, digital compass, GPS, various custom hardware.

 

EMPLOYMENT

 

LACoop Consulting LLC – Design and Development Consulting Firm: 2008-present

Position:  Owner and Software Consultant.

·         Software Consulting.

·         Software and Electronics R&D:

-          Motor Control, Embedded GUI, USB (HID/Bulk/Virtual Com) interfaces, Windows Embedded/CE, Telemetry, Reuse Libraries.

-          Signal processing and simulation using SIMULINK.

-          ZigBee wireless mesh networks.

-          3G/GSM gateway development.

·         PCB design and manufacture.

 

John Deere IVS (Intelligent Vehicle Systems) – International Manufacture of Agriculture Equipment: 2009-present

Position:  Software Consultant.

·         Design and development of an integrated ATF (Automated Test Framework) consisting of a script driven command line interface program that controls test equipment (i.e. relays, programmable power supplies, DIO, RS232/USB, etc) and has the ability to invoke and analyze results from tests running on target platforms.  The ATF performs automated regression testing on multiple product platforms, is integrated into the nightly build process, and is used to qualify software releases.  System design and software development of a custom ATF PCB based on an ARM CortexM3 microcontroller with a PC USB interface.

·         WinCE 6.0 device driver development on ruggedized industrial telematics system incorporating GSM wireless modem, Iridium SATCOM modem, GPS, CAN, USB OTG, Ethernet, RTC, PSoC, and monitoring of heavy equipment vitals and statistics.

·         WinCE 6.0 BSP development on several newly developed Freescale ARM11 i.MX31 based hardware platforms incorporating touch screen, CAN and USB OTG.

·         Development of feature enhancements and roadmap compatibility for the John Deere GreenStartm agricultural equipment control system. (http://www.deere.com/en_US/ProductCatalog/FR/category/FR_ag_mgmt_solutions.html)

·         Automated tractor and farming implement machine control, high accuracy GPS tractor guidance, database driven documentation of farming activities, farm field based (GPS map triggered) automated fertilizing/seeding/harvesting/ditching.

·         SH4 processor platform running VxWorks 6.x / WinCE with VGA touch screen, GPS, CAN, and RS232 machine interfaces.

·         Cross platform development utilizing extensive LabVIEW based simulation (lab simulation of GSP, tractor, and farm implements).

·         Field verification and validation of systems and on site front line customer support and interaction.

·         C++ extendable architecture spanning a 1+ million line code base servicing a diverse line of legacy, current, and future products.

·         Large scale CMMI team development process including formal reviews, version control, coding standards, documentation, unit and automated regression testing, multiplatform integration, and validation/verification.

 

Insight Technology - Law Enforcement and Military Products Manufacture: 2006-2008

Position:  Principal Software Engineer and System Architect.

·         Developed guidelines to increase the efficiency of both software and hardware teams through:

-          Creation of a code reuse library for drivers and utilities.

-          Coding standards, configuration management, bug tracking, version control, and development guidelines.

-          Established development platforms that each includes a processor family, software tools, driver library, optional RTOS, and boiler plate software architectures (i.e. MSP430 and ARM7/Cortex processors, IAR compiler/debugger, embOS RTOS).

-          Creation of a standard Windows PC based factory configuration software GUI used to debug, program, and configure products during development and manufacturing.

-          Automated hardware/software/system regression testing for development and product release QA.

-          Robust hardware prototyping and built in JTAG/SWD debug capability included in released products.

-          BIT, diagnostics, and support software for hardware team.

-          A product design approach that includes input from both hardware and software engineers.

-          Periodic evaluation of design practices that includes documentation of both successes and failures, as well as incorporation of new ideas and technologies.

·         Developed software for the following products (* designed/developed all software, ~ SW team lead):

-          ~Laser Range Finder (in production - military grade, high accuracy/long distance, DSP, based weapons mounted, wireless remote control and display - PIC18).

-          *Night Vision Goggle Tester (in production - IR laser control, system tolerance monitoring, factory configurable – PIC18).

-          *Miniature Red Dot Sight (in production – military grade, ultra low power, weapons mounted, auto brightness control – MSP430).

-          *Confidential Project (in pre-production – laser, military grade, pulse encoded – NXP ARM7 and MSP430).

-          Confidential Project (in development – military grade, high performance – NXP ARM7).

-          Range Finder w/ Laser Diode, Compass, Inclinometer, OLED, IR/Visible Laser (in design – military grade, high accuracy, DSP based, wireless remote control and display – STM32 (Cortex-M3 core ARM)).

-          ~Confidential Project (product prototype – laser, military grade, pulse encoded – STM32 (Cortex-M3 core ARM)).

-          *Confidential Project (product redesign – military grade, USB, network, boot loader – STR910FA (ARM966E-S core ARM)).

 

Textron Systems  - Military Contractor: 2004-2006

Position:  Software Engineering Consultant and Principal Software Engineer.

·         Software architecture and development for air/ground deployed remote battlefield sensors.

·         Multithreaded C/C++ software development on TMS320c6713 DSP running DSP/BIOS operating system.  Responsible for communications and data storage/retrieval portions of application as well as system integration and test of new versions of hardware/software/firmware.

·         Algorithm integration on DSP target platform and MATLAB/SIMULINK simulation.

·         MS Access database design and implementation.

·         Software design/modification/maintenance of Windows2000 VC++ MFC PC based user interface used by customers, manufacturing and engineers to develop, test, and configure remote battlefield sensors.  This user interface consists of a GUI front end and incorporates AT SBC communications over RS232 to an Iridium SATCOM modem or LOS Radio, RS232 interface to development hardware, and a COM interface to DSP software development tools.

·         Development of a PC based emulator of an SKL and mission data loader that incorporated the DS-101 protocol over RS232 that was used for target development and integration.

·         Design and development of various Windows2000 VC++ MFC PC based test utilities utilizing COM and DLLs.

 

Sentito Networks  - Telecommunications Start-Up: 2001-2003

Position:  Principal Software Engineer.

·         Application and device driver software development on a custom voice band processing PCB, containing ADSL/POTS and T1/E1 interfaces, supporting VoIP/RAS/ISDN, running VxWorks on a PowerPC MPC8260 processor.

·         VxWorks device driver development for SLIC/SLACs, TSI, PCI Bridge, and MindSpeed voice/modem processing DSPs.

·         Design and development of a runtime tracing control utility consisting of a TCP/IP target server and a TCP/IP Windows VC++ MFC GUI client.

 

InterSense  - 6DOF and Position Sensor Manufacturing: 2001

Position:  Software Engineering Consultant.

·         Research and implementation of a multi-channel, real-time wireless link using Bluetooth technology.

·         PIC microcontroller software development.

·         Windows VC++ and Pharlap utility software development.

·         JAVA Beans GUI used to send and received data through the PC serial port.

 

Cisco Systems  - Telecommunications: 2000-2001

Position:  Software Engineering Consultant and Senior Principal Software Engineer.

·         Team leader and chief technical contributor for BIOS/diagnostics development on Power PC PPC405GP based VoIP/Modem Remote Access Server card using C++.  Tasks included requirements and design specification, schedule planning and tracking, junior engineer mentoring, detailed design/code/test/debug/integration of firmware on PC and router platforms.

·         Initial software bring-up, driver and OS development/porting on custom Power PC PPC405GP based hardware using WindRiver JTAG debugger.

·         Ported DOS hardware development utility to Windows9x and added TCP server.

·         Windows9x driver development in C++: PCI, MIDI and RS232.

 

Kollsman  -  Medical Equipment Engineering and Manufacturing: 1999-2000

Position:  Software Engineering Consultant.

·         VC++ OO design and implementation of real time control of robotic blood processing machine utilizing CAN network with embedded Pentium SBC controller running Windows NT.

·         Windows 9x/NT device drivers.

 

PackardBioScience  - BioTech Manufacture of Laser Scanner Arrays: 1998-1999

Position:  Software Engineering Consultant.

·         Multi-threaded embedded applications and driver/ISR software development on a Pentium based SBC utilizing a 32 bit RTOS (Pharlap).  Tasks included laser control, motor control, barcode interface, RS232, file configuration and logging, and custom hardware interface.

·         WindowsNT driver development and performance analysis for memory mapped, interrupt driven custom hardware.

·         Automated test and diagnostic software development used to qualify electro-mechanical subassemblies.  Tasks included development of requirements, schedule, design documentation, and detailed design/code/debug of application.  

·         Ethernet/PPP/CSLIP TCP/IP, UDP and FTP communications development.

·         Designed/coded Windows 9x/NT utilities using Visual C++: TCP/UDP script terminal, FTP file editor, and Fiber-optic power meter.

·         8051 RS232 Intel hex file boot loader.

 

Lockheed Sanders – Military Contractor of Countermeasures Systems: 1996-98

Position:  Hardware Engineer.

·         Awarded for development efforts and early delivery to customer on IDECM program.

·         Detailed digital design and firmware development (C and assembler) of  two Intel 87c196 16-bit microcontroller based systems utilizing Xilinx FPGA, Cypress CPLD, ADC, solenoid drivers, EEPROM, SRAM and serial communications.

·         Automated testing using LabVIEW/CVI.

·         C++ software integration on a MIPS platform running VxWorks using WindRiver Tornado tools.

·         Designed/coded PC based file formatter, firmware boot loader, and serial communications emulator for Intel 87c196 microcontroller based hardware.

·         Hardware/software design and implementation of PC based 20KHz programmable pulse generator utilizing a CPLD and 8254 timer interfaced to LPT port.

·         Firmware maintenance and debug of an 8051 based data acquisition system used to sense 3 dimensions of acceleration and temperature transmitted real time through an isolated RS232 link.

·         Avionics ASIC development and simulation for the F22 program.

 

Vitronics Corp. OEM of Reflow Ovens and Cleaners for SMT Mft.: 1994-96

Position:  Co-op Engineer.

·         Prototype hardware design and firmware (C and assembler) development of an Intel 8051 8-bit microcontroller based multi-channel motor speed sensor incorporating networked serial communications and optical sensors.

·         CAE tool software development for schematic capture and PCB layout.

 

Cabletron - OEM of Computer Networking Systems: 1993

Position:  University of New Hampshire Internship.

·         Automated Testing and QA, Network Analysis, Technical Writing

 
 
OTHER PROJECTS

·         Designed/prototyped a phone line interfaced remote multi-channel/multi-voltage secure hour meter.

·         Designed/coded/built a MIDI controlled Stage Lighting Control System based on Atmel 89c2051 Intel microcontrollers.

·         Designed/coded/built a Stage Lighting Control System consisting of two modules based on Z80 microprocessors and incorporating PLDs, UARTs, Programmable Timers, LCD, ADC, NVRAM, RS232 Transceivers, and Triacs.

·         Designed/coded/built hand held microcontroller based 900MHz wireless transmitter with LCD, keypad, and microcontroller.

·         Designed/built a PC based 900MHz wireless receiver.

·         Implemented video game sound synthesis using TMS320C30 floating-point DSP.

·         Implemented digital filters using TMS320C30 floating-point DSP.

·         Designed/coded/built a PC based stepper motor driver.

·         Design and PCB layout of a PC based Microchip PIC microcontroller programmer.

·         Designed/coded/built PC parallel port trainer with LEDs, push buttons, and speaker for educational use.

·         Implemented Xilinx FPGA based math co-processor for Z80 microprocessor.

·         Implemented polling and interrupt driven interfaces to PC serial port, parallel port, game port and ISA bus for use in developing, testing, and producing various designs.

 

 

EDUCATION

Bachelor of Science in Electrical Engineering (BSEE)

University of New Hampshire - Durham, NH

Graduate Courses

·         Real Time Processes - University of New Hampshire

·         Advanced Communications  - University of New Hampshire

·         Software Engineering  - Northeastern University

Other Courses

·         Database Design  - NHTC in Laconia, NH

·         Programming in C++  - Daniel Webster College

·         MS Windows Programming w/ SDK - Daniel Webster College

·         Advanced MS Windows Programming w/ MFC - Daniel Webster College

Seminars/Training/Study

·         Deep-Dive Advanced STM32 Cortex-M3 Training – STMicroelectronics

·         STM32 Cortex-M3 Training – Avnet

·         Insider’s Guide to the STM32 - Hitex

·         Agile Embedded Software Development and Management  – ESC Boston

·         Static Code Analysis for Embedded Software ­– ESC Boston

·         USB for Embedded Systems ­– ESC Boston

·         Security in Embedded Systems ­– ESC Boston

·         STM32 Cortex-M3 Training – STMicroelectronics

·         Better Firmware Faster – Jack Ganssle (on-site training class)

·         Managing Technical Professionals and Organizations MIT Sloan School of Management

·         Managing Complex Product Development Projects MIT Sloan School of Management

·         Building, Leading, and Sustaining  the Innovative Organization MIT Sloan School of Management

·         The Pragmatic Programmer – Andrew Hunt and David Thomas

·         Insider’s Guide to the NXP ARM7 - Hitex

·         The Art of Designing Embedded Systems – Jack Ganssle

·         MSP430 Training- Avenet

·         Effective C++  - Meyers

·         PowerPC driver development - WindRiver

·         Perl – Cisco Training

·         Voice over IP (VoIP) – Cisco Training

·         Floating-Point DSP applications ­­­­­- Arrow Schweber Electronics

·         TI's TMS320C50 DSP - Wyle Distribution

·         Mentor Graphics - Sanders

·         Xilinx FPGA design - Xilinx

·         VHDL Design - Cypress

·         High Speed Design/Signal Processing - Analog Devices

·         Embedded Systems Conference East 1997

·         QuickStart VHDL -  Topdown Design Solutions

·         VHDL Development – Actel