William D. Welch
bwelchdream@gmail.com
SUMMARY:
Over forty years of engineering experience in many diverse areas, from
writing device drivers for Linux and 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 25 years)
-
Programming Languages: more than 30 years of C. Other languages as needed, Python
-
Operating System Device Drivers: Linux, Renesas Synergy ThreadX, NetX
-
Networking: TCP/IP, bluetooth low energy, beacons, wireguard, tailscale, cloudflare, openvpn, wifi, cellular, LTE, UWB
-
CPUs: TI ble, Nordic nrf52840, ARM, cortex, Raspberry Pi, esp32, esp8266, Microchip Picmicro 16Fxx and 18Fxx, Atmel AVR arduino
-
Software Tools: GNU compiler tools, Renesas E2studio, Segger embedded studio, Jlink, OpenWRT, OpenVPN, BusyBox, pthreads, Bash, iptables, platformio, vscode
-
Bench Tools: Oscilloscopes, Logic Analyzers
PROFESSIONAL EXPERIENCE
W. D. Welch Consulting, Albertville, AL 2012 - present
Owner.
Freelance consultant. Bluetooth low energy beacons, RTOS embedded system
with ThreadX, FileX, and NetX. Device drivers for SPI, fpga, sensors,
flash chips. Linux device drivers. Micropython on esp32 with Sim7600 lte module. ESP32 with arm m0 and Lora radio module.
2006 - 2011
CANbus project development, including Python PyQt GUI application,
Picmicro RS232 to CANbus bridge, and Picmicro CANbus monitor. Embedded
software development for Marvell SheevaPlug, running Debian and Ubuntu.
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.