JOE DREWN
(603) 657-4189
·
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.
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,
·
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,
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:
·
Automated Testing
and QA, Network Analysis, Technical Writing
·
Designed/prototyped
a phone line interfaced remote multi-channel/multi-voltage secure hour meter.
·
Designed/coded/built
a
·
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)
Graduate Courses
·
Real Time Processes -
·
Advanced Communications -
·
Software Engineering
- Northeastern University
Other Courses
·
Database Design
- NHTC in
·
Programming in C++
-
·
MS Windows Programming w/ SDK -
·
Advanced MS Windows Programming w/ MFC -
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 –
·
Managing Complex Product Development Projects –
·
Building, Leading, and Sustaining the Innovative Organization –
·
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
·
·
Xilinx FPGA design - Xilinx
·
VHDL Design -
·
High Speed Design/Signal Processing - Analog Devices
·
Embedded Systems Conference East 1997
·
QuickStart VHDL -
Topdown Design Solutions
·
VHDL Development – Actel