William D. Welch, Jr.
35 Thunder Rd.
Albertville, AL 35951 USA
bill.welch@ieee.org
1-256-505-1433 (cell)
SUMMARY:
Over twenty-five years
of engineering experience in many diverse areas, from writing device drivers
for VAX/VMS, thru several flavors of UNIX, Linux and Windows, to numerous
embedded systems. Ability to work very
close to the hardware, and communicate effectively with digital, analog, and RF
engineers. Very detail oriented and
known for constructive comments during design and document reviews, for clear
explanations of technical concepts, and for an intuitive understanding of
software and systems.
TECHNICAL EXPERTISE:
·
Embedded
Systems: (more than 15 years)
·
Programming
Languages: more than 25 years of C.
Other languages as needed, various machine languages, some C++, C#, ASP.NET, VB.
Agile development (XP).
·
Operating
System Device Drivers: Linux, Windows, UNIX,
VAX/VMS
·
Networking: SSL, TCP/IP, UDP, DHCP, ARP, LWIP, uIP, firewall,
VPN, Ethernet bridge
·
CPUs: Xilinx Virtex-5 PowerPC 440, NXP LPC2378, ARM,
MIPS, x86, Microchip Picmicro 16Fxx and 18Fxx, IXP420, Atmel AVR, BCM4712, x86 PC,
8031, Clipper, VAX, PDP
·
Software
Tools: GNU compiler tools, Xilinx XPS,
XMD, GDB, Visual Studio, OpenWRT, Asterisk, PacketProtector, OpenVPN, BusyBox, pthreads,
X11, Bash, iptables. TCL, Matlab
·
Bench
Tools: Oscilloscopes, Logic Analyzers
·
Ultra-wideband
UWB radio, theory and practice ( 7 + years)
EDUCATION: B.S. Electrical Engineering, Auburn
University, 1978
PROFESSIONAL EXPERIENCE
W. D. Welch Consulting, Albertville, AL
2006 - present
Owner.
Embedded software
development for Xilinx Virtex-5 PowerPC CPU, using LWIP, System ACE, DDR2, TEMAC
gigabit ethernet with multicast filtering. Linux was also evaluated. Embedded
software development for NXP LPC2378 system, including TCP/IP and USB. Software
development for the Asterisk PBX. Embedded software development for Microchip
18F4620 data logger using SD card – FAT filesystem, RS232, SPI bus
interface. Embedded software for
Microchip 18F67J60 Internet appliance data logger. Software development for
web-based messaging system, using ASP.NET and SQL database.
Avocent Corporation, Huntsville, AL
2002 - 2006
Senior Staff Engineer
Member
software development team for a line of embedded internet appliances - Digital
Keyboard-Video-Mouse over TCP/IP. These products are generating significant
revenue for the company. Responsibilities included video mode recognition
firmware, performance enhancements, device drivers for: video subsystem, DMA
controller, hardware timer, interrupt handlers, and SSL/TLS hardware
acceleration.
Time Domain Corporation, Huntsville, AL 1995 - 2002
Senior Engineer
Proposed initial concept and provided
high-level system spec for the company’s first evaluation kit for UWB radio
technology. Designed and developed embedded packet radio software. When the vendor-supplied RTOS was not
available, very quickly developed an RTOS and network stack with UDP and
DHCP. This in-house developed RTOS
provided more than a year of useful service. Provided critical design input to
overall radio architecture and chip design.
Worked on system-level test vectors for UWB chipset. Developed discrete simulators for UWB signals
and systems. Entire systems were simulated, including transmitter, multipath
channel, receiver, acquisition, tracking, modulation, demodulation. Worked on various patent ideas, which were
awarded, including a unique half-duplex ranging scheme. Limited experience with FEC- convolutional
codes, Reed-Solomon, Hamming.
MaxVision Corporation, Huntsville, AL 1993
- 1995
Principal Engineer
One of six co-founders
of the company. Was responsible for
software design and development for a unique dual-screen, high-resolution SVGA
card. Modified the BIOS to support the
configuring of the FPGA, and support various non-standard screen
resolutions. Developed one of the
earliest known dual-screen device drivers for Microsoft Windows NT.
Intergraph Corp., Huntsville, AL
1991 - 1993
Senior Systems Consultant
Member of software
development team for an electronic schematic capture package, running on
Windows. Helped with company-wide migration
to Windows NT from various legacy systems.
Ported large third-party packages to the Clipper (UNIX), to Windows NT,
and to Sun Solaris.
W. D. Welch Consulting, Huntsville, AL
1989 - 1991
Owner.
Ported numerous
analysis software packages from DOS to Windows. Added TCP/IP support to a
Windows schematic capture application.
ZAIAZ Corp., Huntsville, AL
1983 - 1988
Vice-President of Engineering
Responsible for UNIX
software porting, device drivers, networking.
Led hardware and software design and development for the PC market. As part of a two-man team, built a prototype
DEC Qbus CPU card, with onboard RISC NS16K CPU, running UNIX using DEC I/O.
Developed state-machine for the bus interface.
This prototype resulted in a long-term relationship with a vendor who
had a lot of DEC compatible I/O cards and needed to migrate to UNIX. Developed software for an existing RISC NS16K
PC/AT “accelerator” card, enabling it to run UNIX with DOS I/O. Shipped a demo copy to the vendor, to prove
that it really worked. The vendor was
impressed, but unable to produce sufficient quantities of the card. Their customers came to us, and we produced a
series of boards, ultimately based on the Clipper CPU. Our high-speed graphics connector enabled
some amazing graphics capability and led to sales overseas of our product. Some consulting for Intergraph. Helped one
division of Intergraph migrate to UNIX- Helped with very first port of UNIX,
ever, to Intergraph hardware. Provided
UNIX kernel driver training, etc. Participated in development efforts on NS32K
and Clipper platforms. Some limited
telephony consulting. Telephone tester, 68K RTOS for local measured metering
system.
General Digital Industries, Huntsville,
AL
1980 – 1982
Engineer
Work on various
embedded systems, based on DEC LSI-11 hardware, and a VT52 emulator for a
custom video terminal. Developed early prototype of embedded system for Federal
Express. Worked with RT-11, RSX11M, and
UNIX operating systems.
System Development Corp., Huntsville, AL
1978 – 1980
Engineer
Worked on systems
analysis and software design on VAX/VMS.
Developed networking device drivers for the beta-test of the some the
very first VAX systems ever produced.
ADDITIONAL INFORMATION
INDEPENDENT RESEARCH and STUDY
·
Embedded PID controller with thermocouple input and
TRIAC and Power Mosfet outputs.
·
NSLU2 NAS and Bluetooth PAN gateway using embedded
Debian Linux
·
Implemented non-trivial LAN, using multiple Linksys
WRT54G routers running OpenWRT, firewall using Iptables, OpenVPN, WPA, adhoc
(OLSR), X10. Nodes included wired and wireless desktop, laptop, and handheld
devices, running Linux and Windows.
·
Experimented with XBee point-to-point link for data logging
and Internet appliance use.
·
Evaluated the Arduino as a possible embedded
Internet appliance.
·
Evaluated Python for Internet data logging.
·
Implemented IR and 443 MHz wireless links for remote
sensor and remote control.
·
Studied JAVA’s JVM. Wrote some small programs to
explore the efficiency of floating point. Also looked at GNU’s GCJ approach to
combining C, C++ and JAVA.
·
Evaluated Ruby on Rails to build a web site to
facilitate study and research into Web 2.0, agile development, MySQL, CSS,
XHTML, AJAX, CSS and more.
OPEN SOURCE PROJECTS
·
Wrote a significant portion of the JAL Wifi and JAL
Ethernet projects. Implemented a minimal yet functional TCP/IP stack and web
server.
·
Independently developed WIFI device drivers and
example code for EDTP.COM’s Airdrop WIFI card, uses Intersil Prism chipset.
AMATEUR RADIO PROJECTS
·
Small, portable solid-state CW transmitter and
receiver, useful on camping trips. Very stable.
·
Vacuum tube transmitter with VFO. A fun “retro” project
using 1950s technology.
·
Half-duplex packet radio modem, built on a PC/AT
compatible I/O card. Useful for 2 meter packet radio activities.
·
Electronic keyer – 8031, hardware and firmware
project. Provides several speeds of Morse code and canned messages
·
PC based DSP software- LMS audio filtering, FIR
brick-wall CW audio filtering. Uses PC soundcard and any radio.
·
Bench equipment in my home workshop- 100 Mhz
oscilloscope.